windows:avast:retdec_decompiler_output:wxbase30u_net_vc90_x64.dll.c

wxbase30u_net_vc90_x64.dll.c

C Source code *.c

wxbase30u_net_vc90_x64.dll.c
//
// This file was generated by the Retargetable Decompiler
// Website: https://retdec.com
// Copyright (c) 2020 Retargetable Decompiler <info@retdec.com>
//
 
#include <arpa/inet.h>
#include <netdb.h>
#include <netinet/in.h>
#include <stdbool.h>
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include <sys/select.h>
#include <sys/socket.h>
#include <wchar.h>
#include <windows.h>
 
// ------------------------ Structures ------------------------
 
struct WSAData {
    int16_t e0;
    int16_t e1;
    int16_t e2;
    int16_t e3;
    char * e4;
    char e5[1];
    char e6[1];
};
 
struct _EXCEPTION_POINTERS {
    struct _EXCEPTION_RECORD * e0;
    struct _CONTEXT * e1;
};
 
struct _EXCEPTION_RECORD {
    int32_t e0;
    int32_t e1;
    struct _EXCEPTION_RECORD * e2;
    int64_t * e3;
    int32_t e4;
    int32_t e5[1];
};
 
struct _IMAGE_RUNTIME_FUNCTION_ENTRY {
    int32_t e0;
    int32_t e1;
    int64_t e2;
};
 
struct _KNONVOLATILE_CONTEXT_POINTERS {
    int64_t e0;
    int64_t e1;
};
 
struct _M128A {
    int64_t e0;
    int64_t e1;
};
 
struct _CONTEXT {
    int64_t e0;
    int64_t e1;
    int64_t e2;
    int64_t e3;
    int64_t e4;
    int64_t e5;
    int32_t e6;
    int32_t e7;
    int16_t e8;
    int16_t e9;
    int16_t e10;
    int16_t e11;
    int16_t e12;
    int16_t e13;
    int32_t e14;
    int64_t e15;
    int64_t e16;
    int64_t e17;
    int64_t e18;
    int64_t e19;
    int64_t e20;
    int64_t e21;
    int64_t e22;
    int64_t e23;
    int64_t e24;
    int64_t e25;
    int64_t e26;
    int64_t e27;
    int64_t e28;
    int64_t e29;
    int64_t e30;
    int64_t e31;
    int64_t e32;
    int64_t e33;
    int64_t e34;
    int64_t e35;
    int64_t e36;
    int64_t e37;
    int64_t e38;
    struct _M128A e39[26];
    int64_t e40;
    int64_t e41;
    int64_t e42;
    int64_t e43;
    int64_t e44;
    int64_t e45;
};
 
struct _UNWIND_HISTORY_TABLE_ENTRY {
    int64_t e0;
    struct _IMAGE_RUNTIME_FUNCTION_ENTRY * e1;
};
 
struct _UNWIND_HISTORY_TABLE {
    int32_t e0;
    char e1;
    char e2;
    char e3;
    char e4;
    int64_t e5;
    int64_t e6;
    struct _UNWIND_HISTORY_TABLE_ENTRY e7[1];
};
 
struct fd_set {
    int32_t e0;
    int32_t e1[1];
};
 
struct hostent {
    char * e0;
    char ** e1;
    int16_t e2;
    int16_t e3;
    char ** e4;
};
 
struct servent {
    char * e0;
    char ** e1;
    char * e2;
    int16_t e3;
};
 
struct sockaddr {
    int16_t e0;
    char e1[14];
};
 
struct tagPOINT {
    int32_t e0;
    int32_t e1;
};
 
struct tagMSG {
    int64_t * e0;
    int32_t e1;
    int32_t e2;
    int32_t e3;
    int32_t e4;
    struct tagPOINT e5;
};
 
struct timeval {
    int64_t e0;
    int64_t e1;
};
 
// ------------------- Function Prototypes --------------------
 
int64_t _3f__3f_0wxDatagramSocket_40__40_QEAA_40_AEBVwxSockAddress_40__40_H_40_Z(int64_t a1, int64_t a2, int64_t a3);
int64_t _3f__3f_0wxFTP_40__40_QEAA_40_XZ(int64_t a1);
int64_t _3f__3f_0wxHTTP_40__40_QEAA_40_XZ(int64_t a1);
int64_t _3f__3f_0wxInternetFSHandler_40__40_QEAA_40_AEBV0_40__40_Z(int64_t a1);
int64_t _3f__3f_0wxInternetFSHandler_40__40_QEAA_40_XZ(int64_t a1);
int64_t _3f__3f_0wxIPaddress_40__40_QEAA_40_AEBV0_40__40_Z(int64_t a1, int64_t a2);
int64_t _3f__3f_0wxIPaddress_40__40_QEAA_40_XZ(int64_t a1);
int64_t _3f__3f_0wxIPV4address_40__40_QEAA_40_AEBV0_40__40_Z(int64_t a1, int64_t a2);
int64_t _3f__3f_0wxIPV4address_40__40_QEAA_40_XZ(int64_t a1);
int64_t _3f__3f_0wxProtocol_40__40_QEAA_40_XZ(int64_t a1, int64_t a2);
int64_t _3f__3f_0wxProtocolLog_40__40_QEAA_40_AEBVwxString_40__40__40_Z(int64_t a1);
int64_t _3f__3f_0wxProtoInfo_40__40_QEAA_40_PEB_W0_NPEAVwxClassInfo_40__40__40_Z(int64_t result, int16_t * a2, int16_t * a3, int64_t a4, int64_t a5);
int64_t _3f__3f_0wxSockAddress_40__40_QEAA_40_AEBV0_40__40_Z(int64_t a1, int64_t a2);
int64_t _3f__3f_0wxSockAddress_40__40_QEAA_40_XZ(int64_t a1);
int64_t _3f__3f_0wxSocketBase_40__40_QEAA_40_HW4wxSocketType_40__40__40_Z(int64_t a1, int64_t a2, int64_t a3);
int64_t _3f__3f_0wxSocketBase_40__40_QEAA_40_XZ(int64_t a1, int64_t a2);
int64_t _3f__3f_0wxSocketClient_40__40_QEAA_40_H_40_Z(int64_t a1);
int64_t _3f__3f_0wxSocketEvent_40__40_QEAA_40_AEBV0_40__40_Z(int64_t result, int64_t a2);
int64_t _3f__3f_0wxSocketEvent_40__40_QEAA_40_H_40_Z(int64_t a1);
int64_t _3f__3f_0wxSocketInputStream_40__40_QEAA_40_AEAVwxSocketBase_40__40__40_Z(int64_t a1, int64_t a2);
int64_t _3f__3f_0wxSocketOutputStream_40__40_QEAA_40_AEAVwxSocketBase_40__40__40_Z(int64_t result, int64_t a2);
int64_t _3f__3f_0wxSocketServer_40__40_QEAA_40_AEBVwxSockAddress_40__40_H_40_Z(int64_t a1, int64_t * a2, int32_t a3);
int64_t _3f__3f_0wxSocketStream_40__40_QEAA_40_AEAVwxSocketBase_40__40__40_Z(int64_t a1, int64_t a2);
int64_t _3f__3f_0wxTCPClient_40__40_QEAA_40_AEBV0_40__40_Z(int64_t a1);
int64_t _3f__3f_0wxTCPClient_40__40_QEAA_40_XZ(int64_t a1);
int64_t _3f__3f_0wxTCPConnection_40__40_QEAA_40_PEAX_K_40_Z(int64_t a1);
int64_t _3f__3f_0wxTCPConnection_40__40_QEAA_40_XZ(int64_t a1);
int64_t _3f__3f_0wxTCPServer_40__40_QEAA_40_XZ(int64_t a1);
int64_t _3f__3f_0wxURL_40__40_QEAA_40_AEBV0_40__40_Z(int64_t a1, int64_t a2);
int64_t _3f__3f_0wxURL_40__40_QEAA_40_AEBVwxString_40__40__40_Z(int64_t a1, int64_t * a2);
int64_t _3f__3f_0wxURL_40__40_QEAA_40_AEBVwxURI_40__40__40_Z(int64_t a1, int64_t a2);
int64_t _3f__3f_1wxDatagramSocket_40__40_UEAA_40_XZ(int64_t a1);
int64_t _3f__3f_1wxFileProto_40__40_UEAA_40_XZ(int64_t a1);
int64_t _3f__3f_1wxFTP_40__40_UEAA_40_XZ(int64_t a1);
int64_t _3f__3f_1wxHTTP_40__40_UEAA_40_XZ(int64_t a1);
int64_t _3f__3f_1wxInternetFSHandler_40__40_UEAA_40_XZ(void);
int64_t _3f__3f_1wxIPV4address_40__40_UEAA_40_XZ(int64_t a1);
int64_t _3f__3f_1wxProtocol_40__40_UEAA_40_XZ(int64_t a1);
int64_t _3f__3f_1wxProtocolLog_40__40_UEAA_40_XZ(int64_t a1);
int64_t _3f__3f_1wxProtoInfo_40__40_UEAA_40_XZ(int64_t a1);
int64_t _3f__3f_1wxSockAddress_40__40_UEAA_40_XZ(int64_t a1);
int64_t _3f__3f_1wxSocketBase_40__40_UEAA_40_XZ(int64_t a1);
int64_t _3f__3f_1wxSocketEvent_40__40_UEAA_40_XZ(int64_t a1);
int64_t _3f__3f_1wxSocketInputStream_40__40_UEAA_40_XZ(int64_t a1);
int64_t _3f__3f_1wxSocketOutputStream_40__40_UEAA_40_XZ(int64_t a1);
int64_t _3f__3f_1wxSocketStream_40__40_UEAA_40_XZ(int64_t a1);
int64_t _3f__3f_1wxTCPClient_40__40_UEAA_40_XZ(void);
int64_t _3f__3f_1wxTCPConnection_40__40_UEAA_40_XZ(int64_t a1);
int64_t _3f__3f_1wxTCPServer_40__40_UEAA_40_XZ(int64_t a1);
int64_t _3f__3f_1wxURL_40__40_UEAA_40_XZ(int64_t * a1);
int64_t _3f__3f_4wxIPV4address_40__40_QEAAAEAV0_40_AEBV0_40__40_Z(int64_t a1, int64_t a2);
int64_t _3f__3f_4wxSockAddress_40__40_QEAAAEAV0_40_AEBV0_40__40_Z(int64_t a1, int64_t a2);
int64_t _3f__3f_4wxURL_40__40_QEAAAEAV0_40_AEBV0_40__40_Z(int64_t a1, int64_t a2);
int64_t _3f__3f_4wxURL_40__40_QEAAAEAV0_40_AEBVwxString_40__40__40_Z(int64_t a1, int64_t a2);
int64_t _3f__3f_4wxURL_40__40_QEAAAEAV0_40_AEBVwxURI_40__40__40_Z(int64_t a1, int64_t a2);
int64_t _3f__3f_8wxIPaddress_40__40_QEBA_NAEBV0_40__40_Z(int64_t a1, int64_t a2);
int64_t _3f__3f__7wxDatagramSocket_40__40_6B_40_(void);
int64_t _3f__3f__7wxFileProto_40__40_6B_40_(void);
int64_t _3f__3f__7wxFTP_40__40_6B_40_(void);
int64_t _3f__3f__7wxHTTP_40__40_6B_40_(void);
int64_t _3f__3f__7wxInternetFSHandler_40__40_6B_40_(void);
int64_t _3f__3f__7wxIPaddress_40__40_6B_40_(void);
int64_t _3f__3f__7wxIPV4address_40__40_6B_40_(void);
int64_t _3f__3f__7wxProtocol_40__40_6B_40_(void);
int64_t _3f__3f__7wxProtocolLog_40__40_6B_40_(void);
int64_t _3f__3f__7wxProtoInfo_40__40_6B_40_(void);
int64_t _3f__3f__7wxSockAddress_40__40_6B_40_(void);
int64_t _3f__3f__7wxSocketBase_40__40_6B_40_(void);
int64_t _3f__3f__7wxSocketClient_40__40_6B_40_(void);
int64_t _3f__3f__7wxSocketEvent_40__40_6B_40_(void);
int64_t _3f__3f__7wxSocketInputStream_40__40_6B_40_(void);
int64_t _3f__3f__7wxSocketOutputStream_40__40_6B_40_(void);
int64_t _3f__3f__7wxSocketServer_40__40_6B_40_(void);
int64_t _3f__3f__7wxSocketStream_40__40_6BwxSocketInputStream_40__40__40_(void);
int64_t _3f__3f__7wxSocketStream_40__40_6BwxSocketOutputStream_40__40__40_(void);
int64_t _3f__3f__7wxTCPClient_40__40_6B_40_(void);
int64_t _3f__3f__7wxTCPConnection_40__40_6B_40_(void);
int64_t _3f__3f__7wxTCPServer_40__40_6B_40_(void);
int64_t _3f__3f__7wxURL_40__40_6B_40_(void);
int64_t _3f__3f__FwxSocketClient_40__40_QEAAXXZ(void);
int64_t _3f__3f__FwxSocketEvent_40__40_QEAAXXZ(int64_t a1, int64_t a2);
int64_t _3f__3f__FwxURL_40__40_QEAAXXZ(int64_t a1);
int64_t _3f_Abort_40_wxFileProto_40__40_UEAA_NXZ(void);
int64_t _3f_Abort_40_wxFTP_40__40_UEAA_NXZ(int64_t a1);
int64_t _3f_Abort_40_wxHTTP_40__40_UEAA_NXZ(void);
int64_t _3f_Accept_40_wxSocketServer_40__40_QEAAPEAVwxSocketBase_40__40__N_40_Z(int64_t a1, int64_t a2);
int64_t _3f_AcceptIfActive_40_wxFTP_40__40_IEAAPEAVwxSocketBase_40__40_PEAV2_40__40_Z(int64_t a1, int64_t a2, int64_t a3);
int64_t _3f_AcceptWith_40_wxSocketServer_40__40_QEAA_NAEAVwxSocketBase_40__40__N_40_Z(int64_t a1, int64_t a2, int64_t a3);
int64_t _3f_AnyAddress_40_wxIPaddress_40__40_QEAA_NXZ(int64_t * a1, int64_t * a2);
int64_t _3f_BroadcastAddress_40_wxIPV4address_40__40_QEAA_NXZ(int64_t a1, int64_t a2);
int64_t _3f_BuildRequest_40_wxHTTP_40__40_IEAA_NAEBVwxString_40__40_0_40_Z(int64_t a1, int64_t a2, int64_t * a3);
int64_t _3f_CanOpen_40_wxInternetFSHandler_40__40_UEAA_NAEBVwxString_40__40__40_Z(void);
int64_t _3f_ChDir_40_wxFTP_40__40_QEAA_NAEBVwxString_40__40__40_Z(void);
int64_t _3f_CheckCommand_40_wxFTP_40__40_QEAA_NAEBVwxString_40__40_D_40_Z(void);
int64_t _3f_CheckResult_40_wxFTP_40__40_IEAA_ND_40_Z(void);
int64_t _3f_CleanData_40_wxURL_40__40_IEAAXXZ(int64_t a1);
int64_t _3f_Clear_40_wxSockAddress_40__40_UEAAXXZ(int64_t a1);
int64_t _3f_ClearCookies_40_wxHTTP_40__40_IEAAXXZ(int64_t a1);
int64_t _3f_ClearHeaders_40_wxHTTP_40__40_IEAAXXZ(int64_t a1);
int64_t _3f_Clone_40_wxIPV4address_40__40_UEBAPEAVwxSockAddress_40__40_XZ(int64_t a1);
int64_t _3f_Clone_40_wxSocketEvent_40__40_UEBAPEAVwxEvent_40__40_XZ(int64_t a1);
int64_t _3f_Close_40_wxFTP_40__40_UEAA_NXZ(int64_t a1);
int64_t _3f_Close_40_wxSocketBase_40__40_UEAA_NXZ(int64_t a1);
int64_t _3f_Compress_40_wxTCPConnection_40__40_QEAAX_N_40_Z(void);
int64_t _3f_Connect_40_wxFTP_40__40_UEAA_NAEBVwxSockAddress_40__40__N_40_Z(int64_t a1);
int64_t _3f_Connect_40_wxFTP_40__40_UEAA_NAEBVwxString_40__40__40_Z(int64_t result);
int64_t _3f_Connect_40_wxFTP_40__40_UEAA_NAEBVwxString_40__40_G_40_Z(int64_t a1, int64_t a2, int64_t a3);
int64_t _3f_Connect_40_wxHTTP_40__40_UEAA_NAEBVwxSockAddress_40__40__N_40_Z(int64_t a1, int64_t a2);
int64_t _3f_Connect_40_wxHTTP_40__40_UEAA_NAEBVwxString_40__40_G_40_Z(int64_t a1, int64_t a2, int64_t a3);
int64_t _3f_Connect_40_wxProtocol_40__40_UEAA_NAEBVwxSockAddress_40__40__N_40_Z(void);
int64_t _3f_Connect_40_wxProtocol_40__40_UEAA_NAEBVwxString_40__40__40_Z(void);
int64_t _3f_Connect_40_wxSocketClient_40__40_QEAA_NAEBVwxSockAddress_40__40_0_N_40_Z(int64_t result);
int64_t _3f_Connect_40_wxSocketClient_40__40_UEAA_NAEBVwxSockAddress_40__40__N_40_Z(int64_t result);
int64_t _3f_Create_40_wxTCPServer_40__40_UEAA_NAEBVwxString_40__40__40_Z(int64_t a1, int64_t a2);
int64_t _3f_Destroy_40_wxSocketBase_40__40_QEAA_NXZ(int64_t a1);
int64_t _3f_DetachLog_40_wxProtocol_40__40_QEAAPEAVwxProtocolLog_40__40_XZ(int64_t a1);
int64_t _3f_Discard_40_wxSocketBase_40__40_QEAAAEAV1_40_XZ(int64_t a1);
int64_t _3f_Disconnect_40_wxTCPConnection_40__40_UEAA_NXZ(int64_t a1);
int64_t _3f_DoAdvise_40_wxTCPConnection_40__40_MEAA_NAEBVwxString_40__40_PEBX_KW4wxIPCFormat_40__40__40_Z(int64_t a1, int64_t a2, int64_t a3, int64_t a4, unsigned char a5);
int64_t _3f_DoConnect_40_wxSocketClient_40__40_EEAA_NAEBVwxSockAddress_40__40_PEBV2_40__N_40_Z(int64_t a1, int64_t a2, int64_t a3, int64_t a4);
int64_t _3f_DoExecute_40_wxTCPConnection_40__40_MEAA_NPEBX_KW4wxIPCFormat_40__40__40_Z(int64_t a1, int64_t a2, int64_t a3, int64_t a4);
int64_t _3f_DoInitImpl_40_wxIPV4address_40__40_EEAAXXZ(int64_t a1);
int64_t _3f_DoLogString_40_wxProtocolLog_40__40_MEAAXAEBVwxString_40__40__40_Z(int64_t a1, int64_t a2);
int64_t _3f_DoPoke_40_wxTCPConnection_40__40_MEAA_NAEBVwxString_40__40_PEBX_KW4wxIPCFormat_40__40__40_Z(int64_t a1, int64_t a2, int64_t a3, int64_t a4, unsigned char a5);
int64_t _3f_DoRead_40_wxSocketBase_40__40_AEAAIPEAXI_40_Z(int64_t a1, int64_t a2, int64_t a3, int64_t a4);
int64_t _3f_DoSimpleCommand_40_wxFTP_40__40_IEAA_NPEB_WAEBVwxString_40__40__40_Z(int64_t a1);
int64_t _3f_DoWait_40_wxSocketBase_40__40_AEAAHJH_40_Z(int64_t a1, int64_t a2, int64_t a3);
int64_t _3f_DoWait_40_wxSocketBase_40__40_AEAAHJJH_40_Z(int64_t a1, int64_t a2, int64_t a3, int64_t a4);
int64_t _3f_DoWaitWithTimeout_40_wxSocketBase_40__40_AEAAHH_40_Z(int64_t a1, int64_t a2);
int64_t _3f_DoWrite_40_wxSocketBase_40__40_AEAAIPEBXI_40_Z(int64_t a1, char * a2, int64_t a3);
int64_t _3f_Error_40_wxSocketBase_40__40_QEBA_NXZ(void);
int64_t _3f_FetchProtocol_40_wxURL_40__40_IEAA_NXZ(int64_t a1);
int64_t _3f_FileExists_40_wxFTP_40__40_QEAA_NAEBVwxString_40__40__40_Z(int64_t a1, int64_t a2);
int64_t _3f_FindCookie_40_wxHTTP_40__40_IEAA_3f_AViterator_40_wxStringToStringHashMap_wxImplementation_HashTable_40__40_AEBVwxString_40__40__40_Z(int64_t a1, int64_t result, int64_t a3);
int64_t _3f_FindCookie_40_wxHTTP_40__40_IEBA_3f_AVconst_iterator_40_wxStringToStringHashMap_wxImplementation_HashTable_40__40_AEBVwxString_40__40__40_Z(int64_t a1, int64_t result, int64_t a3);
int64_t _3f_FindHeader_40_wxHTTP_40__40_IEAA_3f_AViterator_40_wxStringToStringHashMap_wxImplementation_HashTable_40__40_AEBVwxString_40__40__40_Z(int64_t a1, int64_t result, int64_t a3);
int64_t _3f_FindHeader_40_wxHTTP_40__40_IEBA_3f_AVconst_iterator_40_wxStringToStringHashMap_wxImplementation_HashTable_40__40_AEBVwxString_40__40__40_Z(int64_t a1, int64_t result, int64_t a3);
int64_t _3f_Free_40_wxURL_40__40_IEAAXXZ(int64_t a1);
int64_t _3f_g_proto_wxFileProto_40_wxFileProto_40__40_2VwxProtoInfo_40__40_A(void);
int64_t _3f_g_proto_wxFTP_40_wxFTP_40__40_2VwxProtoInfo_40__40_A(void);
int64_t _3f_g_proto_wxHTTP_40_wxHTTP_40__40_2VwxProtoInfo_40__40_A(void);
int64_t _3f_GenerateAuthString_40_wxHTTP_40__40_IEBA_3f_AVwxString_40__40_AEBV2_40_0_40_Z(int64_t a1, int64_t * a2, int64_t a3, int64_t a4);
int64_t _3f_GetActivePort_40_wxFTP_40__40_IEAAPEAVwxSocketBase_40__40_XZ(int64_t a1);
int64_t _3f_GetAddress_40_wxSockAddress_40__40_QEBAAEBVwxSockAddressImpl_40__40_XZ(int64_t a1);
int64_t _3f_GetAddressData_40_wxSockAddress_40__40_QEBAPEBUsockaddr_40__40_XZ(int64_t a1);
int64_t _3f_GetAddressDataLen_40_wxSockAddress_40__40_QEBAHXZ(int64_t a1);
int64_t _3f_GetClassInfo_40_wxDatagramSocket_40__40_UEBAPEAVwxClassInfo_40__40_XZ(void);
int64_t _3f_GetClassInfo_40_wxFileProto_40__40_UEBAPEAVwxClassInfo_40__40_XZ(void);
int64_t _3f_GetClassInfo_40_wxFTP_40__40_UEBAPEAVwxClassInfo_40__40_XZ(void);
int64_t _3f_GetClassInfo_40_wxHTTP_40__40_UEBAPEAVwxClassInfo_40__40_XZ(void);
int64_t _3f_GetClassInfo_40_wxIPaddress_40__40_UEBAPEAVwxClassInfo_40__40_XZ(void);
int64_t _3f_GetClassInfo_40_wxIPV4address_40__40_UEBAPEAVwxClassInfo_40__40_XZ(void);
int64_t _3f_GetClassInfo_40_wxProtocol_40__40_UEBAPEAVwxClassInfo_40__40_XZ(void);
int64_t _3f_GetClassInfo_40_wxProtoInfo_40__40_UEBAPEAVwxClassInfo_40__40_XZ(void);
int64_t _3f_GetClassInfo_40_wxSockAddress_40__40_UEBAPEAVwxClassInfo_40__40_XZ(void);
int64_t _3f_GetClassInfo_40_wxSocketBase_40__40_UEBAPEAVwxClassInfo_40__40_XZ(void);
int64_t _3f_GetClassInfo_40_wxSocketClient_40__40_UEBAPEAVwxClassInfo_40__40_XZ(void);
int64_t _3f_GetClassInfo_40_wxSocketEvent_40__40_UEBAPEAVwxClassInfo_40__40_XZ(void);
int64_t _3f_GetClassInfo_40_wxSocketServer_40__40_UEBAPEAVwxClassInfo_40__40_XZ(void);
int64_t _3f_GetClassInfo_40_wxTCPClient_40__40_UEBAPEAVwxClassInfo_40__40_XZ(void);
int64_t _3f_GetClassInfo_40_wxTCPConnection_40__40_UEBAPEAVwxClassInfo_40__40_XZ(void);
int64_t _3f_GetClassInfo_40_wxTCPServer_40__40_UEBAPEAVwxClassInfo_40__40_XZ(void);
int64_t _3f_GetClassInfo_40_wxURL_40__40_UEBAPEAVwxClassInfo_40__40_XZ(void);
int64_t _3f_GetClientData_40_wxSocketBase_40__40_QEBAPEAXXZ(int64_t a1);
int64_t _3f_GetClientData_40_wxSocketEvent_40__40_QEBAPEAXXZ(int64_t a1);
int64_t _3f_GetContentType_40_wxFTP_40__40_UEBA_3f_AVwxString_40__40_XZ(void);
int64_t _3f_GetContentType_40_wxHTTP_40__40_UEBA_3f_AVwxString_40__40_XZ(int64_t a1, int64_t a2);
int64_t _3f_GetCookie_40_wxHTTP_40__40_QEBA_3f_AVwxString_40__40_AEBV2_40__40_Z(int64_t a1, int64_t a2, int64_t a3);
int64_t _3f_GetDirList_40_wxFTP_40__40_QEAA_NAEAVwxArrayString_40__40_AEBVwxString_40__40__40_Z(void);
int64_t _3f_GetError_40_wxProtocol_40__40_UEBA_3f_AW4wxProtocolError_40__40_XZ(int64_t a1);
int64_t _3f_GetError_40_wxURL_40__40_QEBA_3f_AW4wxURLError_40__40_XZ(int64_t a1);
int64_t _3f_GetEventCategory_40_wxSocketEvent_40__40_UEBA_3f_AW4wxEventCategory_40__40_XZ(void);
int64_t _3f_GetFileSize_40_wxFTP_40__40_QEAAHAEBVwxString_40__40__40_Z(int64_t a1, int64_t a2);
int64_t _3f_GetFilesList_40_wxFTP_40__40_QEAA_NAEAVwxArrayString_40__40_AEBVwxString_40__40__40_Z(void);
int64_t _3f_GetFlags_40_wxSocketBase_40__40_QEBAHXZ(int64_t a1);
int64_t _3f_GetHeader_40_wxHTTP_40__40_QEBA_3f_AVwxString_40__40_AEBV2_40__40_Z(int64_t a1, int64_t a2, int64_t * a3);
int64_t _3f_GetImpl_40_wxIPaddress_40__40_IEAAAEAVwxSockAddressImpl_40__40_XZ(int64_t a1);
int64_t _3f_GetImpl_40_wxIPaddress_40__40_IEBAAEBVwxSockAddressImpl_40__40_XZ(void);
int64_t _3f_GetInputStream_40_wxFileProto_40__40_UEAAPEAVwxInputStream_40__40_AEBVwxString_40__40__40_Z(int64_t a1, int64_t a2);
int64_t _3f_GetInputStream_40_wxFTP_40__40_UEAAPEAVwxInputStream_40__40_AEBVwxString_40__40__40_Z(int64_t a1, int64_t a2);
int64_t _3f_GetInputStream_40_wxHTTP_40__40_UEAAPEAVwxInputStream_40__40_AEBVwxString_40__40__40_Z(int64_t a1, int64_t a2, int64_t a3);
int64_t _3f_GetInputStream_40_wxURL_40__40_QEAAPEAVwxInputStream_40__40_XZ(int64_t * a1, int64_t a2, int64_t a3);
int64_t _3f_GetLastIOReadSize_40_wxSocketBase_40__40_QEBAIXZ(int64_t a1);
int64_t _3f_GetLastIOSize_40_wxSocketBase_40__40_QEBAIXZ(int64_t a1);
int64_t _3f_GetLastIOWriteSize_40_wxSocketBase_40__40_QEBAIXZ(int64_t a1);
int64_t _3f_GetLastResult_40_wxFTP_40__40_QEBAAEBVwxString_40__40_XZ(int64_t a1);
int64_t _3f_GetList_40_wxFTP_40__40_QEAA_NAEAVwxArrayString_40__40_AEBVwxString_40__40__N_40_Z(int64_t a1, int64_t * a2, int64_t a3, int32_t a4);
int64_t _3f_GetLocal_40_wxSocketBase_40__40_UEBA_NAEAVwxSockAddress_40__40__40_Z(int64_t a1, int64_t a2);
int64_t _3f_GetLog_40_wxProtocol_40__40_QEBAPEAVwxProtocolLog_40__40_XZ(int64_t a1);
int64_t _3f_GetOption_40_wxSocketBase_40__40_QEAA_NHHPEAXPEAH_40_Z(int64_t a1, int64_t a2, int64_t a3, int64_t a4, int64_t a5);
int64_t _3f_GetOutputStream_40_wxFTP_40__40_UEAAPEAVwxOutputStream_40__40_AEBVwxString_40__40__40_Z(int64_t a1, int64_t a2);
int64_t _3f_GetPassivePort_40_wxFTP_40__40_IEAAPEAVwxSocketBase_40__40_XZ(int64_t a1);
int64_t _3f_GetPeer_40_wxSocketBase_40__40_UEBA_NAEAVwxSockAddress_40__40__40_Z(int64_t a1, int64_t a2);
int64_t _3f_GetPort_40_wxFTP_40__40_IEAAPEAVwxSocketBase_40__40_XZ(int64_t a1);
int64_t _3f_GetPortCmdArgument_40_wxFTP_40__40_IEAA_3f_AVwxString_40__40_AEBVwxIPV4address_40__40_0_40_Z(int64_t a1, int64_t * a2, int64_t * a3, int64_t * a4);
int64_t _3f_GetProtocol_40_wxURL_40__40_QEAAAEAVwxProtocol_40__40_XZ(int64_t a1);
int64_t _3f_GetPushback_40_wxSocketBase_40__40_AEAAIPEAXI_N_40_Z(int64_t a1, int64_t a2, int64_t a3, int32_t a4);
int64_t _3f_GetResponse_40_wxHTTP_40__40_QEBAHXZ(int64_t a1);
int64_t _3f_GetResult_40_wxFTP_40__40_IEAADXZ(int64_t a1);
int64_t _3f_GetSocket_40_wxSocketBase_40__40_QEBA_KXZ(int64_t a1);
int64_t _3f_GetSocket_40_wxSocketEvent_40__40_QEBAPEAVwxSocketBase_40__40_XZ(void);
int64_t _3f_GetSocketEvent_40_wxSocketEvent_40__40_QEBA_3f_AW4wxSocketNotify_40__40_XZ(int64_t a1);
int64_t _3f_GetTimeout_40_wxSocketBase_40__40_QEBAJXZ(int64_t a1);
int64_t _3f_GetType_40_wxSocketBase_40__40_QEBA_3f_AW4wxSocketType_40__40_XZ(int64_t a1);
int64_t _3f_GetURL_40_wxURL_40__40_QEBA_3f_AVwxString_40__40_XZ(int64_t a1, int64_t * a2);
int64_t _3f_HasCookies_40_wxHTTP_40__40_QEBA_NXZ(int64_t a1);
int64_t _3f_Hostname_40_wxIPaddress_40__40_QEAA_NAEBVwxString_40__40__40_Z(int64_t a1, int64_t a2);
int64_t _3f_Hostname_40_wxIPaddress_40__40_QEBA_3f_AVwxString_40__40_XZ(int64_t a1, int64_t a2);
int64_t _3f_Hostname_40_wxIPV4address_40__40_QEAA_NAEBVwxString_40__40__40_Z(void);
int64_t _3f_Hostname_40_wxIPV4address_40__40_QEAA_NK_40_Z(int64_t * a1, int64_t a2);
int64_t _3f_Hostname_40_wxIPV4address_40__40_QEBA_3f_AVwxString_40__40_XZ(int64_t a1, int64_t * a2);
int64_t _3f_Init_40_wxSockAddress_40__40_AEAAXXZ(void);
int64_t _3f_Init_40_wxSocketBase_40__40_QEAAXXZ(int64_t a1);
int64_t _3f_Init_40_wxTCPConnection_40__40_AEAAXXZ(int64_t a1);
int64_t _3f_Init_40_wxURL_40__40_IEAAXAEBVwxString_40__40__40_Z(int64_t a1);
int64_t _3f_Initialize_40_wxSocketBase_40__40_SA_NXZ(void);
int64_t _3f_InterruptWait_40_wxSocketBase_40__40_QEAAXXZ(int64_t a1);
int64_t _3f_IPAddress_40_wxIPV4address_40__40_UEBA_3f_AVwxString_40__40_XZ(int64_t a1, int64_t a2);
int64_t _3f_IsClosed_40_wxSocketBase_40__40_QEBA_NXZ(int64_t a1);
int64_t _3f_IsConnected_40_wxSocketBase_40__40_QEBA_NXZ(int64_t a1);
int64_t _3f_IsData_40_wxSocketBase_40__40_QEAA_NXZ(void);
int64_t _3f_IsDisconnected_40_wxSocketBase_40__40_QEBA_NXZ(int64_t a1);
int64_t _3f_IsInitialized_40_wxSocketBase_40__40_SA_NXZ(void);
int64_t _3f_IsLocalHost_40_wxIPV4address_40__40_UEBA_NXZ(int64_t a1);
int64_t _3f_IsNoWait_40_wxSocketBase_40__40_QEBA_NXZ(int64_t a1);
int64_t _3f_IsOk_40_wxSocketBase_40__40_QEBA_NXZ(int64_t a1);
int64_t _3f_IsOk_40_wxURL_40__40_QEBA_NXZ(int64_t a1);
int64_t _3f_LastError_40_wxSocketBase_40__40_QEBA_3f_AW4wxSocketError_40__40_XZ(int64_t a1);
int64_t _3f_LocalHost_40_wxIPaddress_40__40_QEAA_NXZ(int64_t a1);
int64_t _3f_LogRequest_40_wxProtocol_40__40_QEAAXAEBVwxString_40__40__40_Z(int64_t a1);
int64_t _3f_LogRequest_40_wxProtocolLog_40__40_UEAAXAEBVwxString_40__40__40_Z(int64_t a1, int64_t a2);
int64_t _3f_LogResponse_40_wxProtocol_40__40_QEAAXAEBVwxString_40__40__40_Z(int64_t a1);
int64_t _3f_LogResponse_40_wxProtocolLog_40__40_UEAAXAEBVwxString_40__40__40_Z(int64_t a1, int64_t a2);
int64_t _3f_MakeConnection_40_wxTCPClient_40__40_UEAAPEAVwxConnectionBase_40__40_AEBVwxString_40__40_00_40_Z(int64_t a1);
int64_t _3f_MkDir_40_wxFTP_40__40_QEAA_NAEBVwxString_40__40__40_Z(void);
int64_t _3f_ms_classInfo_40_wxDatagramSocket_40__40_2VwxClassInfo_40__40_A(void);
int64_t _3f_ms_classInfo_40_wxFileProto_40__40_2VwxClassInfo_40__40_A(void);
int64_t _3f_ms_classInfo_40_wxFTP_40__40_2VwxClassInfo_40__40_A(void);
int64_t _3f_ms_classInfo_40_wxHTTP_40__40_2VwxClassInfo_40__40_A(void);
int64_t _3f_ms_classInfo_40_wxIPaddress_40__40_2VwxClassInfo_40__40_A(void);
int64_t _3f_ms_classInfo_40_wxIPV4address_40__40_2VwxClassInfo_40__40_A(void);
int64_t _3f_ms_classInfo_40_wxProtocol_40__40_2VwxClassInfo_40__40_A(void);
int64_t _3f_ms_classInfo_40_wxProtoInfo_40__40_2VwxClassInfo_40__40_A(void);
int64_t _3f_ms_classInfo_40_wxSockAddress_40__40_2VwxClassInfo_40__40_A(void);
int64_t _3f_ms_classInfo_40_wxSocketBase_40__40_2VwxClassInfo_40__40_A(void);
int64_t _3f_ms_classInfo_40_wxSocketClient_40__40_2VwxClassInfo_40__40_A(void);
int64_t _3f_ms_classInfo_40_wxSocketEvent_40__40_2VwxClassInfo_40__40_A(void);
int64_t _3f_ms_classInfo_40_wxSocketServer_40__40_2VwxClassInfo_40__40_A(void);
int64_t _3f_ms_classInfo_40_wxTCPClient_40__40_2VwxClassInfo_40__40_A(void);
int64_t _3f_ms_classInfo_40_wxTCPConnection_40__40_2VwxClassInfo_40__40_A(void);
int64_t _3f_ms_classInfo_40_wxTCPServer_40__40_2VwxClassInfo_40__40_A(void);
int64_t _3f_ms_classInfo_40_wxURL_40__40_2VwxClassInfo_40__40_A(void);
int64_t _3f_ms_protocols_40_wxURL_40__40_1PEAVwxProtoInfo_40__40_EA(void);
int64_t _3f_ms_proxyDefault_40_wxURL_40__40_1PEAVwxHTTP_40__40_EA(void);
int64_t _3f_ms_useDefaultProxy_40_wxURL_40__40_1_NA(void);
int64_t _3f_Notify_40_wxSocketBase_40__40_QEAAX_N_40_Z(int64_t a1, int32_t a2);
int64_t _3f_OnAcceptConnection_40_wxTCPServer_40__40_UEAAPEAVwxConnectionBase_40__40_AEBVwxString_40__40__40_Z(void);
int64_t _3f_OnMakeConnection_40_wxTCPClient_40__40_UEAAPEAVwxConnectionBase_40__40_XZ(void);
int64_t _3f_OnRequest_40_wxSocketBase_40__40_QEAAXW4wxSocketNotify_40__40__40_Z(int64_t a1, int64_t a2);
int64_t _3f_OnSysRead_40_wxSocketInputStream_40__40_MEAA_KPEAX_K_40_Z(int64_t a1);
int64_t _3f_OnSysSeek_40_wxSocketInputStream_40__40_MEAA_J_JW4wxSeekMode_40__40__40_Z(void);
int64_t _3f_OnSysWrite_40_wxSocketOutputStream_40__40_MEAA_KPEBX_K_40_Z(int64_t a1);
int64_t _3f_OpenFile_40_wxInternetFSHandler_40__40_UEAAPEAVwxFSFile_40__40_AEAVwxFileSystem_40__40_AEBVwxString_40__40__40_Z(void);
int64_t _3f_OrigHostname_40_wxIPaddress_40__40_QEBA_3f_AVwxString_40__40_XZ(int64_t a1, int64_t * a2);
int64_t _3f_ParseHeaders_40_wxHTTP_40__40_IEAA_NXZ(int64_t a1);
int64_t _3f_ParseURL_40_wxURL_40__40_IEAA_NXZ(int64_t a1);
int64_t _3f_Peek_40_wxSocketBase_40__40_QEAAAEAV1_40_PEAXI_40_Z(int64_t a1, int64_t a2, int64_t a3);
int64_t _3f_Pushback_40_wxSocketBase_40__40_AEAAXPEBXI_40_Z(int64_t a1, int64_t a2, int64_t a3);
int64_t _3f_Pwd_40_wxFTP_40__40_QEAA_3f_AVwxString_40__40_XZ(int64_t a1, int64_t a2);
int64_t _3f_Read_40_wxSocketBase_40__40_QEAAAEAV1_40_PEAXI_40_Z(int64_t a1, int64_t a2, int64_t a3);
int64_t _3f_ReadLine_40_wxProtocol_40__40_SA_3f_AW4wxProtocolError_40__40_PEAVwxSocketBase_40__40_AEAVwxString_40__40__40_Z(int64_t a1, int64_t * a2, int64_t a3);
int64_t _3f_ReadLine_40_wxProtocol_40__40_UEAA_3f_AW4wxProtocolError_40__40_AEAVwxString_40__40__40_Z(void);
int64_t _3f_ReadMsg_40_wxSocketBase_40__40_QEAAAEAV1_40_PEAXI_40_Z(int64_t a1, int64_t a2, int64_t a3);
int64_t _3f_Reconnect_40_wxProtocol_40__40_QEAA_NXZ(int64_t a1);
int64_t _3f_RecvFrom_40_wxDatagramSocket_40__40_QEAAAEAV1_40_AEAVwxSockAddress_40__40_PEAXI_40_Z(int64_t a1, int64_t a2, int64_t a3, int64_t a4);
int64_t _3f_Rename_40_wxFTP_40__40_QEAA_NAEBVwxString_40__40_0_40_Z(int64_t a1, int64_t a2, int64_t a3);
int64_t _3f_Request_40_wxTCPConnection_40__40_UEAAPEBXAEBVwxString_40__40_PEA_KW4wxIPCFormat_40__40__40_Z(int64_t a1, int64_t a2, int64_t a3, int64_t a4);
int64_t _3f_RestoreState_40_wxSocketBase_40__40_QEAAXXZ(int64_t a1, int64_t a2);
int64_t _3f_RmDir_40_wxFTP_40__40_QEAA_NAEBVwxString_40__40__40_Z(void);
int64_t _3f_RmFile_40_wxFTP_40__40_QEAA_NAEBVwxString_40__40__40_Z(int64_t a1, int64_t a2);
int64_t _3f_SaveState_40_wxSocketBase_40__40_QEAAXXZ(int64_t a1);
int64_t _3f_SendCommand_40_wxFTP_40__40_QEAADAEBVwxString_40__40__40_Z(int64_t a1, int64_t a2);
int64_t _3f_SendHeaders_40_wxHTTP_40__40_IEAAXXZ(int64_t a1);
int64_t _3f_SendTo_40_wxDatagramSocket_40__40_QEAAAEAV1_40_AEBVwxSockAddress_40__40_PEBXI_40_Z(int64_t a1, int64_t a2, int64_t a3, int64_t a4);
int64_t _3f_Service_40_wxIPaddress_40__40_QEAA_NAEBVwxString_40__40__40_Z(int64_t * a1, int64_t * a2);
int64_t _3f_Service_40_wxIPaddress_40__40_QEAA_NG_40_Z(int64_t * a1, int64_t a2);
int64_t _3f_Service_40_wxIPaddress_40__40_QEBAGXZ(int64_t a1);
int64_t _3f_SetAddress_40_wxSockAddress_40__40_QEAAXAEBVwxSockAddressImpl_40__40__40_Z(int64_t a1, int64_t a2);
int64_t _3f_SetAscii_40_wxFTP_40__40_QEAA_NXZ(void);
int64_t _3f_SetBinary_40_wxFTP_40__40_QEAA_NXZ(void);
int64_t _3f_SetClientData_40_wxSocketBase_40__40_QEAAXPEAX_40_Z(int64_t a1, int64_t a2);
int64_t _3f_SetDefaultProxy_40_wxURL_40__40_SAXAEBVwxString_40__40__40_Z(int64_t * a1);
int64_t _3f_SetDefaultTimeout_40_wxProtocol_40__40_UEAAXI_40_Z(int64_t a1, int64_t a2);
int64_t _3f_SetError_40_wxSocketBase_40__40_AEAAXW4wxSocketError_40__40__40_Z(int64_t a1, int64_t a2);
int64_t _3f_SetEventHandler_40_wxSocketBase_40__40_QEAAXAEAVwxEvtHandler_40__40_H_40_Z(int64_t a1, int64_t a2, int64_t a3);
int64_t _3f_SetFlags_40_wxSocketBase_40__40_QEAAXH_40_Z(int64_t a1, int64_t a2);
int64_t _3f_SetHeader_40_wxHTTP_40__40_QEAAXAEBVwxString_40__40_0_40_Z(int64_t a1, int64_t * a2, int64_t * a3);
int64_t _3f_SetInitialSocketBuffers_40_wxSocketClient_40__40_QEAAXHH_40_Z(int64_t a1, int64_t a2, int64_t a3);
int64_t _3f_SetLocal_40_wxSocketBase_40__40_UEAA_NAEBVwxIPV4address_40__40__40_Z(int64_t a1, int64_t a2);
int64_t _3f_SetLog_40_wxProtocol_40__40_QEAAXPEAVwxProtocolLog_40__40__40_Z(int64_t a1, int64_t a2);
int64_t _3f_SetMethod_40_wxHTTP_40__40_QEAAXAEBVwxString_40__40__40_Z(int64_t a1);
int64_t _3f_SetNotify_40_wxSocketBase_40__40_QEAAXH_40_Z(int64_t a1, int32_t a2);
int64_t _3f_SetOption_40_wxSocketBase_40__40_QEAA_NHHPEBXH_40_Z(int64_t a1, int64_t a2, int64_t a3, int64_t option_value, uint32_t option_len);
int64_t _3f_SetPassive_40_wxFTP_40__40_QEAAX_N_40_Z(int64_t a1, int64_t a2);
int64_t _3f_SetPassword_40_wxProtocol_40__40_QEAAXAEBVwxString_40__40__40_Z(int64_t a1);
int64_t _3f_SetPostBuffer_40_wxHTTP_40__40_QEAA_NAEBVwxString_40__40_AEBVwxMemoryBuffer_40__40__40_Z(int64_t a1, int64_t a2, int64_t a3);
int64_t _3f_SetPostBuffer_40_wxHTTP_40__40_QEAAXAEBVwxString_40__40__40_Z(int64_t a1, int64_t a2);
int64_t _3f_SetPostText_40_wxHTTP_40__40_QEAA_NAEBVwxString_40__40_0AEBVwxMBConv_40__40__40_Z(int64_t a1, int64_t a2, int64_t a3, int64_t a4);
int64_t _3f_SetProxy_40_wxURL_40__40_QEAAXAEBVwxString_40__40__40_Z(int64_t a1, int64_t a2, int64_t a3);
int64_t _3f_SetProxyMode_40_wxHTTP_40__40_QEAAX_N_40_Z(int64_t a1, int64_t a2);
int64_t _3f_SetTimeout_40_wxProtocol_40__40_UEAAXJ_40_Z(int64_t result);
int64_t _3f_SetTimeout_40_wxSocketBase_40__40_UEAAXJ_40_Z(int64_t a1, int64_t a2);
int64_t _3f_SetTransferMode_40_wxFTP_40__40_QEAA_NW4TransferMode_40_1_40__40_Z(int64_t a1, int64_t a2);
int64_t _3f_SetURL_40_wxURL_40__40_QEAA_3f_AW4wxURLError_40__40_AEBVwxString_40__40__40_Z(int64_t a1);
int64_t _3f_SetUser_40_wxProtocol_40__40_QEAAXAEBVwxString_40__40__40_Z(int64_t a1);
int64_t _3f_Shutdown_40_wxSocketBase_40__40_SAXXZ(void);
int64_t _3f_ShutdownOutput_40_wxSocketBase_40__40_QEAAXXZ(int64_t a1);
int64_t _3f_StartAdvise_40_wxTCPConnection_40__40_UEAA_NAEBVwxString_40__40__40_Z(int64_t a1, int64_t a2);
int64_t _3f_StopAdvise_40_wxTCPConnection_40__40_UEAA_NAEBVwxString_40__40__40_Z(int64_t a1, int64_t a2);
int64_t _3f_Type_40_wxIPV4address_40__40_UEAA_3f_AW4Family_40_wxSockAddress_40__40_XZ(void);
int64_t _3f_Unread_40_wxSocketBase_40__40_QEAAAEAV1_40_PEBXI_40_Z(int64_t a1);
int64_t _3f_ValidHost_40_wxTCPClient_40__40_UEAA_NAEBVwxString_40__40__40_Z(void);
int64_t _3f_Wait_40_wxSocketBase_40__40_QEAA_NJJ_40_Z(int64_t a1, int64_t a2, int64_t a3);
int64_t _3f_WaitForAccept_40_wxSocketServer_40__40_QEAA_NJJ_40_Z(int64_t a1, int32_t a2, int32_t a3);
int64_t _3f_WaitForLost_40_wxSocketBase_40__40_QEAA_NJJ_40_Z(int64_t a1, int64_t a2, int64_t a3);
int64_t _3f_WaitForRead_40_wxSocketBase_40__40_QEAA_NJJ_40_Z(int64_t a1, int32_t a2, int32_t a3);
int64_t _3f_WaitForWrite_40_wxSocketBase_40__40_QEAA_NJJ_40_Z(int64_t a1, int64_t a2, int64_t a3);
int64_t _3f_WaitOnConnect_40_wxSocketClient_40__40_QEAA_NJJ_40_Z(int64_t a1, int64_t a2, int64_t a3);
int64_t _3f_Write_40_wxSocketBase_40__40_QEAAAEAV1_40_PEBXI_40_Z(int64_t a1, int64_t a2, int64_t a3);
int64_t _3f_WriteMsg_40_wxSocketBase_40__40_QEAAAEAV1_40_PEBXI_40_Z(int64_t a1, int64_t a2, int64_t a3);
int64_t _3f_wxCreateObject_40_wxFileProto_40__40_SAPEAVwxObject_40__40_XZ(void);
int64_t _3f_wxCreateObject_40_wxFTP_40__40_SAPEAVwxObject_40__40_XZ(void);
int64_t _3f_wxCreateObject_40_wxHTTP_40__40_SAPEAVwxObject_40__40_XZ(void);
int64_t _3f_wxCreateObject_40_wxIPV4address_40__40_SAPEAVwxObject_40__40_XZ(void);
int64_t _3f_wxCreateObject_40_wxSocketEvent_40__40_SAPEAVwxObject_40__40_XZ(void);
int64_t _3f_wxCreateObject_40_wxTCPClient_40__40_SAPEAVwxObject_40__40_XZ(void);
int64_t _3f_wxCreateObject_40_wxTCPServer_40__40_SAPEAVwxObject_40__40_XZ(void);
int64_t _3f_wxEVT_SOCKET_40__40_3V_3f__24_wxEventTypeTag_40_VwxSocketEvent_40__40__40__40_B(void);
int64_t entry_point(int64_t a1, int64_t a2, int64_t a3);
int64_t function_1800012b0(int64_t a1, int64_t a2);
int64_t function_180001530(int64_t a1, int64_t a2);
int64_t function_180001840(int64_t a1, int64_t a2);
int64_t function_1800018c0(int64_t * a1, int64_t a2);
int64_t function_180001dc0(int64_t a1, int64_t a2);
int64_t function_180001df0(int64_t a1);
int64_t function_180001e50(int64_t a1);
int64_t function_180001e80(void);
int64_t function_180001e90(void);
int64_t function_180001fb0(int64_t a1);
int64_t function_180002420(int64_t a1, int64_t a2, int64_t a3);
int64_t function_180002460(int64_t a1, int64_t a2);
int64_t function_1800024f0(int32_t * a1, int64_t a2, int64_t a3, int64_t a4);
int64_t function_180002570(int64_t a1);
int64_t function_1800025b0(int64_t a1);
int64_t function_180002610(int64_t * a1, int64_t result);
int64_t function_180002720(int64_t * a1, int64_t * a2, int64_t a3);
int64_t function_180002f90(int64_t a1);
int64_t function_180003040(int64_t a1);
int64_t function_180003100(int64_t result);
int64_t function_180005ed0(int64_t a1, int64_t a2);
int64_t function_180006200(int64_t a1, int32_t a2);
int64_t function_1800063a0(int64_t a1, int64_t a2);
int64_t function_180006ac0(int64_t a1, int64_t a2);
int64_t function_180006b00(int64_t a1);
int64_t function_180006b10(int64_t a1, int64_t a2);
int64_t function_180006b70(int64_t a1);
int64_t function_180006c30(int64_t a1);
int64_t function_180007020(int64_t * a1, int64_t a2, int64_t a3, int64_t a4);
int64_t function_1800072e0(int64_t a1, int64_t a2);
int64_t function_1800073a0(int64_t * a1, int64_t * a2, char a3, char a4, int64_t a5);
int64_t function_180007430(int64_t * a1, int64_t * a2, char a3);
int64_t function_180008970(int64_t a1, int64_t a2);
int64_t function_180008b00(int64_t a1, int64_t a2);
int64_t function_180008e80(int64_t a1);
int64_t function_180008f10(int64_t a1, int64_t a2);
int64_t function_180009010(int32_t * a1, int64_t a2, int64_t a3, int64_t a4);
void function_1800095d0(int64_t * ptr);
int64_t function_1800095e0(int64_t a1, int64_t a2);
int64_t function_180009690(int64_t * a1, int64_t a2, int64_t * a3, int64_t a4, int32_t * a5);
int64_t function_1800098c0(int64_t * a1, int64_t a2, int64_t * a3, int64_t a4);
int64_t function_180009a90(int64_t a1, int64_t a2);
int64_t function_180009bc0(int64_t a1);
int64_t function_180009c50(int64_t a1, int32_t a2);
int64_t function_180009cd0(int64_t a1);
int64_t function_180009d50(int64_t a1, int64_t a2);
int64_t function_18000a0a0(int64_t a1, int64_t a2);
int64_t function_18000a360(int64_t a1, int64_t * a2, int64_t a3, int64_t a4, int64_t a5, int64_t a6);
int64_t function_18000a840(int64_t a1, int64_t a2, char * a3);
int64_t function_18000a960(int64_t a1, int64_t a2);
int64_t function_18000ae40(int64_t result, int64_t a2);
int64_t function_18000ae70(int64_t a1, int64_t a2);
int64_t function_18000afa0(int64_t a1, int64_t a2);
int64_t function_18000b020(int64_t a1, int64_t a2);
int64_t function_18000b0c0(int64_t a1, int64_t a2);
int64_t function_18000b130(void);
int64_t function_18000b140(void);
int64_t function_18000b190(int64_t a1);
int64_t function_18000b1c0(int64_t a1, int64_t * a2);
int64_t function_18000b210(int64_t a1, int64_t a2, int64_t a3);
int64_t function_18000b340(int64_t a1, int64_t a2, int64_t * a3, int64_t * a4, int64_t a5);
int64_t function_18000b400(int64_t a1);
int64_t function_18000be10(void);
int64_t function_18000be20(void);
int64_t function_18000be30(int64_t a1, int64_t a2);
int64_t function_18000bf10(int64_t a1, int64_t a2);
int64_t function_18000bfc0(int64_t a1, int64_t a2);
int64_t function_18000bff0(void);
int64_t function_18000c020(int64_t result, int64_t a2);
int64_t function_18000c180(int64_t a1, int64_t a2);
int64_t function_18000c380(void);
int64_t function_18000c5b0(int64_t a1, int64_t a2);
int64_t function_18000c650(int64_t a1, int64_t result4, int64_t a3);
int64_t function_18000c6d0(int64_t a1);
int64_t function_18000c6e0(int64_t a1, int64_t a2);
int64_t function_18000c700(int64_t result, int64_t a2);
int64_t function_18000c730(int64_t a1, int64_t a2);
int64_t function_18000c9f0(int32_t * a1, int64_t * a2, int64_t a3);
int64_t function_18000caa0(int64_t a1, int64_t a2);
int64_t function_18000d1c4(void);
int64_t function_18000d1c6(void);
int64_t function_18000d1da(void);
int64_t function_18000d440(int64_t a1, int64_t a2);
int64_t function_18000d4c0(int64_t a1, int64_t a2);
int64_t function_18000d540(int64_t a1, int64_t a2);
int64_t function_18000d5f0(int64_t a1);
int64_t function_18000d650(int64_t a1);
int64_t function_18000d680(int64_t a1);
int64_t function_18000d6b0(int64_t a1);
int64_t function_18000d7d0(int64_t a1);
int64_t function_18000d8f0(int64_t a1, int64_t a2, int64_t a3);
int64_t function_18000e280(void);
int64_t function_18000e290(int64_t * a1, int64_t * a2, int64_t a3);
int64_t function_18000e3b0(int64_t result, int64_t a2);
int64_t function_18000e3e0(int64_t a1);
int64_t function_18000e3f0(int64_t a1, int64_t a2, int64_t a3);
int64_t function_18000e520(int64_t a1, int64_t a2);
int64_t function_18000e5b0(int64_t a1);
int64_t function_18000e620(int64_t a1);
int64_t function_18000e6e0(int64_t a1);
int64_t function_18000e7c0(int64_t a1, int64_t a2, int64_t a3);
int64_t function_18000e8f0(int64_t a1);
int64_t function_18000e9b0(int64_t a1, int64_t a2);
int64_t function_18000ea20(int64_t a1);
int64_t function_18000f130(void);
int64_t function_18000f1b0(int64_t a1, int64_t a2);
int64_t function_18000f2b0(int64_t a1);
int64_t function_18000f2c0(int64_t a1);
int64_t function_1800105a0(void);
int64_t function_1800105c0(int64_t a1, int64_t a2);
int64_t function_180010640(int64_t a1, int64_t a2);
int64_t function_1800106c0(int64_t a1, int64_t a2);
int64_t function_180011a70(void);
int64_t function_180011a80(int64_t a1);
int64_t function_180011af0(int64_t a1, int64_t a2);
int64_t function_180011ed0(void);
int64_t function_180011f10(int64_t result, int64_t a2);
int64_t function_180011f40(void);
int64_t function_180011f70(void);
int64_t function_180012820(void);
int64_t function_180012870(int64_t a1);
int64_t function_180012950(int64_t a1);
int64_t function_180012990(int64_t a1);
int64_t function_180012a30(void);
int64_t function_180012c40(void);
int64_t function_180012c80(void);
int64_t function_180012cb0(int64_t a1);
int64_t function_180012cf0(void);
int64_t function_180012d30(void);
int64_t function_180012ee0(void);
int32_t function_180012f1c(void);
struct hostent * function_180012f22(char * name);
struct hostent * function_180012f28(char * addr, int32_t len, int32_t type);
struct servent * function_180012f2e(char * name, char * proto);
int32_t function_180012f34(int32_t netlong);
int32_t function_180012f3a(int32_t hostlong);
int16_t function_180012f40(int16_t netshort);
int16_t function_180012f46(int16_t hostshort);
int32_t function_180012f4c(char * cp);
int32_t function_180012f52(int32_t s, int32_t level, int32_t optname, char * optval, int32_t optlen);
int32_t function_180012f58(int32_t s, int32_t how);
int32_t function_180012f5e(int32_t s, char * buf, int32_t len, int32_t flags);
int32_t function_180012f64(int32_t s, char * buf, int32_t len, int32_t flags, struct sockaddr * to, int32_t tolen);
int32_t function_180012f6a(int32_t s, int32_t level, int32_t optname, char * optval, int32_t * optlen);
int32_t function_180012f70(int32_t fd, struct fd_set * a2);
int32_t function_180012f76(int32_t nfds, struct fd_set * readfds, struct fd_set * writefds, struct fd_set * exceptfds, struct timeval * timeout);
int32_t function_180012f7c(int32_t s, struct sockaddr * name, int32_t * namelen);
int32_t function_180012f82(int32_t s, int32_t backlog);
int32_t function_180012f88(int32_t s, struct sockaddr * name, int32_t namelen);
int32_t function_180012f8e(int32_t af, int32_t type, int32_t protocol);
int32_t function_180012f94(int32_t s, struct sockaddr * name, int32_t namelen);
int32_t function_180012f9a(int32_t s, char * buf, int32_t len, int32_t flags, struct sockaddr * from, int32_t * fromlen);
int32_t function_180012fa0(int32_t s, struct sockaddr * addr, int32_t * addrlen);
int32_t function_180012fa6(int32_t s, char * buf, int32_t len, int32_t flags);
int32_t function_180012fac(void);
int32_t function_180012fb2(int32_t s);
int32_t function_180012fb8(int16_t wVersionRequested, struct WSAData * lpWSAData);
int64_t function_180012fbe(void);
int64_t function_180012fc4(void);
int64_t function_180012fca(void);
int64_t function_180012fd0(void);
int64_t function_180012fd6(void);
int64_t function_180012fdc(void);
int64_t function_180012fe2(void);
int64_t function_180012fe8(void);
int64_t function_180012fee(void);
int64_t function_180012ff4(void);
int64_t function_180012ffa(void);
int64_t function_180013000(void);
int64_t function_180013006(void);
int64_t function_18001300c(void);
int64_t function_180013012(void);
int64_t function_180013018(void);
int64_t function_18001301e(void);
int64_t function_180013024(void);
int64_t function_18001302a(void);
int64_t function_180013030(void);
int64_t function_180013036(void);
int64_t function_18001303c(void);
int64_t function_180013042(void);
int64_t function_180013048(void);
int64_t function_18001304e(void);
int64_t function_180013054(void);
int64_t function_18001305a(void);
int64_t function_180013060(void);
int64_t function_180013066(void);
int64_t function_18001306c(void);
int64_t function_180013072(void);
int64_t function_180013078(void);
int64_t function_18001307e(void);
int64_t function_180013084(void);
int64_t function_18001308a(void);
int64_t function_180013090(void);
int64_t function_180013096(void);
int64_t function_18001309c(void);
int64_t function_1800130a2(void);
int64_t function_1800130a8(void);
int64_t function_1800130ae(void);
int64_t function_1800130b4(void);
int64_t function_1800130ba(void);
int64_t function_1800130c0(void);
int64_t function_1800130c6(void);
int64_t function_1800130cc(void);
int64_t function_1800130d2(void);
int64_t function_1800130d8(void);
int64_t function_1800130de(void);
int64_t function_1800130e4(void);
int64_t function_1800130ea(void);
int64_t function_1800130f0(void);
int64_t function_1800130f6(void);
int64_t function_1800130fc(void);
int64_t function_180013102(void);
int64_t function_180013108(int64_t a1);
int64_t function_18001310e(int64_t a1);
int64_t function_180013114(int64_t a1);
int64_t function_18001311c(int64_t a1, int64_t a2, int32_t a3, int64_t a4, int64_t a5);
int64_t function_180013168(int64_t a1, int64_t a2, int32_t a3, int64_t a4);
int64_t function_1800131c6(int64_t a1, int64_t a2, int64_t a3, int64_t a4);
int64_t function_1800131cc(int64_t a1, int64_t a2);
int64_t function_180013236(void);
int64_t function_18001323c(int64_t a1, int64_t a2);
int64_t function_180013244(int64_t a1, int64_t a2, int64_t a3, int64_t a4);
int64_t function_1800133c0(int64_t a1);
int64_t * function_1800133d8(int64_t * dest, int64_t * src, int32_t n);
int64_t function_1800133e0(int64_t a1, int64_t a2, int64_t a3);
int64_t function_180013444(void);
int64_t function_180013462(int64_t a1);
int64_t function_1800134d0(int64_t a1, int64_t a2, int64_t a3);
int64_t function_18001372c(int64_t a1, int64_t a2, int64_t a3);
int64_t function_180013839(void);
int64_t function_18001383f(void);
int64_t function_1800138a2(void);
int64_t function_1800138a8(void);
int64_t function_1800138b0(int64_t a1);
void function_1800139fa(int32_t locknum);
int32_t (*function_180013a00(int32_t (*func)(), void (***pbegin)(), void (***pend)()))();
void function_180013a06(int32_t locknum);
int64_t function_180013a0c(void);
int64_t function_180013b10(int64_t * a1);
void function_180013b52(void (**First)(), void (**Last)());
int32_t function_180013b58(int32_t (**First)(), int32_t (**Last)());
void function_180013b5e(int32_t rterrnum);
int32_t function_180013b64(int32_t ExceptionNum, struct _EXCEPTION_POINTERS * ExceptionPtr);
int64_t function_180013c44(void);
int64_t function_180013c4a(int64_t a1);
int64_t function_180013c50(int64_t * a1);
int64_t (*function_180013c56(int32_t HandlerType, int64_t ImageBase, int64_t ControlPc, struct _IMAGE_RUNTIME_FUNCTION_ENTRY * FunctionEntry, struct _CONTEXT * ContextRecord, int64_t ** HandlerData, int64_t * EstablisherFrame, struct _KNONVOLATILE_CONTEXT_POINTERS * ContextPointers))(struct _EXCEPTION_RECORD *, int64_t *, struct _CONTEXT *, int64_t *);
struct _IMAGE_RUNTIME_FUNCTION_ENTRY * function_180013c5c(int64_t ControlPc, int64_t * ImageBase, struct _UNWIND_HISTORY_TABLE * HistoryTable);
int64_t function_180013cd0(void);
int64_t function_180013cf0(void);
int64_t function_180013d10(void);
int64_t function_180013d30(void);
int64_t function_180013d50(void);
int64_t function_180013d70(void);
int64_t function_180013d90(void);
int64_t function_180013dc0(void);
int64_t function_180013de0(void);
int64_t function_180013e00(void);
int64_t function_180013e20(void);
int64_t function_180013e40(void);
int64_t function_180013e60(void);
int64_t function_180013e80(void);
int64_t function_180013ea0(void);
int64_t function_180013ec0(void);
int64_t function_180013ee0(void);
int64_t function_180013f00(void);
int64_t function_180013f20(void);
int64_t function_180013f40(void);
int64_t function_180013f60(void);
int64_t function_180013f80(void);
int64_t function_180013fa0(void);
int64_t function_180013fc0(void);
int64_t function_180013fe0(void);
int64_t function_180014000(void);
int64_t function_180014030(void);
int64_t function_180014050(void);
int64_t function_180014070(void);
int64_t function_180014090(void);
int64_t function_1800140b0(void);
int64_t function_1800140d0(void);
int64_t function_1800140f0(void);
int64_t function_180014110(void);
int64_t function_180014130(void);
int64_t function_180014150(void);
int64_t function_180014180(void);
int64_t function_1800141a0(void);
int64_t function_1800141c0(void);
int64_t function_1800141e0(void);
int64_t function_180014200(void);
int64_t function_180014220(void);
int64_t function_180014240(void);
int64_t function_180014260(void);
int64_t function_180014280(void);
int64_t function_1800142a0(void);
int64_t function_1800142c0(void);
int64_t function_1800142e0(void);
int64_t function_180014300(void);
int64_t function_180014320(void);
int64_t function_180014340(void);
int64_t function_180014360(void);
int64_t function_180014380(void);
int64_t function_1800143a0(void);
int64_t function_1800143c0(void);
int64_t function_1800143e0(void);
int64_t function_180014400(void);
int64_t function_180014420(void);
int64_t function_180014450(void);
int64_t function_180014470(void);
int64_t function_180014490(void);
int64_t function_1800144b0(void);
int64_t function_1800144d0(void);
int64_t function_1800144f0(void);
int64_t function_180014510(void);
int64_t function_180014530(void);
int64_t function_180014550(void);
int64_t function_180014570(void);
int64_t function_180014590(void);
int64_t function_1800145b0(void);
int64_t function_1800145d0(void);
int64_t function_1800145f0(void);
int64_t function_180014610(void);
int64_t function_180014630(void);
int64_t function_180014650(void);
int64_t function_180014670(void);
int64_t function_180014690(void);
int64_t function_1800146b0(void);
int64_t function_1800146d0(void);
int64_t function_1800146f0(void);
int64_t function_180014710(void);
int64_t function_180014730(void);
int64_t function_180014750(void);
int64_t function_180014770(void);
int64_t function_180014790(void);
int64_t function_1800147b0(void);
int64_t function_1800147d0(void);
int64_t function_1800147f0(void);
int64_t function_180014810(void);
int64_t function_180014830(void);
int64_t function_180014850(void);
int64_t function_180014870(void);
int64_t function_180014890(void);
int64_t function_1800148b0(void);
int64_t function_1800148e0(void);
int64_t function_180014900(void);
int64_t function_180014920(void);
int64_t function_180014940(void);
int64_t function_180014960(void);
int64_t function_180014980(void);
int64_t function_1800149a0(void);
int64_t function_1800149c0(void);
int64_t function_1800149e0(void);
int64_t function_180014a00(void);
int64_t function_180014a20(void);
int64_t function_180014a40(void);
int64_t function_180014a60(void);
int64_t function_180014a80(void);
int64_t function_180014aa0(void);
int64_t function_180014ac0(void);
int64_t function_180014ae0(void);
int64_t function_180014b00(void);
int64_t function_180014b20(void);
int64_t function_180014b40(void);
int64_t function_180014b60(void);
int64_t function_180014b80(void);
int64_t function_180014ba0(void);
int64_t function_180014bc0(void);
int64_t function_180014be0(void);
int64_t function_180014c00(void);
int64_t function_180014c20(void);
int64_t function_180014c40(void);
int64_t function_180014c60(void);
int64_t function_180014c80(void);
int64_t function_180014ca0(void);
int64_t function_180014cc0(void);
int64_t function_180014ce0(void);
int64_t function_180014d00(void);
int64_t function_180014d20(void);
int64_t function_180014d40(void);
int64_t function_180014d60(void);
int64_t function_180014d80(void);
int64_t function_180014da0(void);
int64_t function_180014dc0(void);
int64_t function_180014de0(void);
int64_t function_180014e00(void);
int64_t function_180014e20(void);
int64_t function_180014e40(void);
int64_t function_180014e60(void);
int64_t function_180014e80(void);
int64_t function_180014ea0(void);
int64_t function_180014ec0(void);
int64_t function_180014ee0(void);
int64_t function_180014f00(void);
int64_t function_180014f20(void);
int64_t function_180014f40(void);
int64_t function_180014f60(void);
int64_t function_180014f80(void);
int64_t function_180014fa0(void);
int64_t function_180014fc0(void);
int64_t function_180014fe0(void);
int64_t function_180015000(void);
int64_t function_180015020(void);
int64_t function_180015040(void);
int64_t function_180015060(void);
int64_t function_180015080(void);
int64_t function_1800150a0(void);
int64_t function_1800150c0(void);
int64_t function_1800150f0(void);
int64_t function_180015120(void);
int64_t function_180015150(void);
int64_t function_180015180(void);
int64_t function_1800151a0(void);
int64_t function_1800151c0(void);
int64_t function_1800151e0(void);
int64_t function_180015200(void);
int64_t function_180015220(void);
int64_t function_180015240(void);
int64_t function_180015260(void);
int64_t function_180015280(void);
int64_t function_1800152a0(void);
int64_t function_1800152c0(void);
int64_t function_1800152e0(void);
int64_t function_180015300(void);
int64_t function_180015320(void);
int64_t function_180015340(void);
int64_t function_180015360(void);
int64_t function_180015380(void);
int64_t function_1800153a0(void);
int64_t function_1800153c0(void);
int64_t function_1800153e0(void);
int64_t function_180015400(void);
int64_t function_180015420(void);
int64_t function_180015440(void);
int64_t function_180015460(void);
int64_t function_180015480(void);
int64_t function_1800154a0(void);
int64_t function_1800154c0(void);
int64_t function_1800154e0(void);
int64_t function_180015500(void);
int64_t function_180015520(void);
int64_t function_180015540(void);
int64_t function_180015560(void);
int64_t function_180015580(void);
int64_t function_1800155a0(void);
int64_t function_1800155c0(void);
int64_t function_1800155e0(void);
int64_t function_180015600(void);
int64_t function_180015620(void);
int64_t function_180015640(void);
int64_t function_180015660(void);
int64_t function_180015680(void);
int64_t function_1800156a0(void);
int64_t function_1800156c0(void);
int64_t function_1800156f0(void);
int64_t function_180015720(void);
int64_t function_180015740(void);
int64_t function_180015760(void);
int64_t function_180015780(void);
int64_t function_1800157a0(void);
int64_t function_1800157c0(void);
int64_t function_1800157e0(void);
int64_t function_180015800(void);
int64_t function_180015820(void);
int64_t function_180015840(void);
int64_t function_180015860(void);
int64_t function_180015880(void);
int64_t function_1800158a0(void);
int64_t function_1800158c0(void);
int64_t function_1800158e0(void);
int64_t function_180015900(void);
int64_t function_180015920(void);
int64_t function_180015950(void);
int64_t function_180015970(void);
int64_t function_180015990(void);
int64_t function_1800159b0(void);
int64_t function_1800159d0(void);
int64_t function_1800159f0(void);
int64_t function_180015a10(void);
int64_t function_180015a30(void);
int64_t function_180015a50(void);
int64_t function_180015a70(void);
int64_t function_180015a90(void);
int64_t function_180015ab0(void);
int64_t function_180015ad0(void);
int64_t function_180015af0(void);
int64_t function_180015b10(void);
int64_t function_180015b30(void);
int64_t function_180015b50(void);
int64_t function_180015b70(void);
int64_t function_180015ba0(void);
int64_t function_180015bc0(void);
int64_t function_180015be0(void);
int64_t function_180015c00(void);
int64_t function_180015c20(void);
int64_t function_180015c40(void);
int64_t function_180015c60(void);
int64_t function_180015c80(void);
int64_t function_180015ca0(void);
int64_t function_180015cc0(void);
int64_t function_180015ce0(void);
int64_t function_180015d00(void);
int64_t function_180015d20(void);
int64_t function_180015d40(void);
int64_t function_180015d60(void);
int64_t function_180015d80(void);
int64_t function_180015da0(void);
int64_t function_180015dc0(void);
int64_t function_180015de0(void);
int64_t function_180015e00(void);
int64_t function_180015e20(void);
int64_t function_180015e40(void);
int64_t function_180015e60(void);
int64_t function_180015e80(void);
int64_t function_180015ea0(void);
int64_t function_180015ec0(void);
int64_t function_180015ee0(void);
int64_t function_180015f00(void);
int64_t function_180015f20(void);
int64_t function_180015f40(void);
int64_t function_180015f70(void);
int64_t function_180015f90(void);
int64_t function_180015fb0(void);
int64_t function_180015fd0(void);
int64_t function_180015ff0(void);
int64_t function_180016010(void);
int64_t function_180016030(void);
int64_t function_180016050(void);
int64_t function_180016070(void);
int64_t function_180016090(void);
int64_t function_1800160b0(void);
int64_t function_1800160d0(void);
int64_t function_1800160f0(void);
int64_t function_180016110(void);
int64_t function_180016130(void);
int64_t function_180016150(void);
int64_t function_180016170(void);
int64_t function_180016190(void);
int64_t function_1800161b0(void);
int64_t function_1800161d0(void);
int64_t function_1800161f0(void);
int64_t function_180016210(void);
int64_t function_180016230(void);
int64_t function_180016250(void);
int64_t function_180016270(void);
int64_t function_180016290(void);
int64_t function_1800162b0(void);
int64_t function_1800162d0(void);
int64_t function_1800162f0(void);
int64_t function_180016310(void);
int64_t function_180016330(void);
int64_t function_180016350(void);
int64_t function_180016370(void);
int64_t function_180016390(void);
int64_t function_1800163b0(void);
int64_t function_1800163d0(void);
int64_t function_1800163f0(void);
int64_t function_180016410(void);
int64_t function_180016430(void);
int64_t function_180016450(void);
int64_t function_180016470(void);
int64_t function_180016490(void);
int64_t function_1800164b0(void);
int64_t function_1800164d0(void);
int64_t function_1800164f0(void);
int64_t function_180016510(void);
int64_t function_180016530(void);
int64_t function_180016550(void);
int64_t function_180016570(void);
int64_t function_180016590(void);
int64_t function_1800165b0(void);
int64_t function_1800165d0(void);
int64_t function_1800165f0(void);
int64_t function_180016610(void);
int64_t function_180016630(void);
int64_t function_180016650(void);
int64_t function_180016670(void);
int64_t function_180016690(void);
int64_t function_1800166b0(void);
int64_t function_1800166d0(void);
int64_t function_1800166f0(void);
int64_t function_180016710(void);
int64_t function_180016730(void);
int64_t function_180016750(void);
int64_t function_180016780(void);
int64_t function_1800167b0(void);
int64_t function_1800167e0(void);
int64_t function_180016800(void);
int64_t function_180016830(void);
int64_t function_180016850(void);
int64_t function_180016880(void);
int64_t function_1800168a0(void);
int64_t function_1800168c0(void);
int64_t function_1800168e0(void);
int64_t function_180016900(void);
int64_t function_180016930(void);
int64_t function_180016950(void);
int64_t function_180016970(void);
int64_t function_180016990(void);
int64_t function_1800169b0(void);
int64_t function_1800169d0(void);
int64_t function_1800169f0(void);
int64_t function_180016a10(void);
int64_t function_180016a30(void);
int64_t function_180016a50(void);
int64_t function_180016a70(void);
int64_t function_180016a90(void);
int64_t function_180016ab0(void);
int64_t function_180016ad0(void);
int64_t function_180016af0(void);
int64_t function_180016b10(void);
int64_t function_180016b30(void);
int64_t function_180016b50(void);
int64_t function_180016b70(void);
int64_t function_180016b90(void);
int64_t function_180016bb0(void);
int64_t function_180016bd0(void);
int64_t function_180016bf0(void);
int64_t function_180016c10(void);
int64_t function_180016c30(void);
int64_t function_180016c50(void);
int64_t function_180016c70(void);
int64_t function_180016c90(void);
int64_t function_180016cb0(void);
int64_t function_180016cd0(void);
int64_t function_180016cf0(void);
int64_t function_180016d10(void);
int64_t function_180016d30(void);
int64_t function_180016d50(void);
int64_t function_180016d70(void);
int64_t function_180016d90(void);
int64_t function_180016db0(void);
int64_t function_180016dd0(void);
int64_t function_180016df0(void);
int64_t function_180016e10(void);
int64_t function_180016e30(void);
int64_t function_180016e50(void);
int64_t function_180016e70(void);
int64_t function_180016e90(void);
int64_t function_180016eb0(void);
int64_t function_180016ed0(void);
int64_t function_180016ef0(void);
int64_t function_180016f10(void);
int64_t function_180016f30(void);
int64_t function_180016f50(void);
int64_t function_180016f70(void);
int64_t function_180016f90(void);
int64_t function_180016fb0(void);
int64_t function_180016fd0(void);
int64_t function_180016ff0(void);
int64_t function_180017010(void);
int64_t function_180017030(void);
int64_t function_180017050(void);
int64_t function_180017070(void);
int64_t function_180017090(void);
int64_t function_1800170b0(void);
int64_t function_1800170d0(void);
int64_t function_1800170f0(void);
int64_t function_180017110(void);
int64_t function_180017130(void);
int64_t function_180017150(void);
int64_t function_180017170(void);
int64_t function_180017190(void);
int64_t function_1800171b0(void);
int64_t function_1800171d0(void);
int64_t function_1800171f0(void);
int64_t function_180017210(void);
int64_t function_180017230(void);
int64_t function_180017250(void);
int64_t function_180017270(void);
int64_t function_180017290(void);
int64_t function_1800172b0(void);
int64_t function_1800172d0(void);
int64_t function_1800172f0(void);
int64_t function_180017310(void);
int64_t function_180017330(void);
int64_t function_180017350(void);
int64_t function_180017370(void);
int64_t function_180017390(void);
int64_t function_1800173b0(void);
int64_t function_1800173d0(void);
int64_t function_1800173f0(void);
int64_t function_180017410(void);
int64_t function_180017430(void);
int64_t function_180017450(void);
int64_t function_180017470(void);
int64_t function_180017490(void);
int64_t function_1800174b0(void);
int64_t function_1800174d0(void);
int64_t function_1800174f0(void);
int64_t function_180017510(void);
int64_t function_180017530(void);
int64_t function_180017550(void);
int64_t function_180017570(void);
int64_t function_180017590(void);
int64_t function_1800175b0(void);
int64_t function_1800175d0(void);
int64_t function_1800175f0(void);
int64_t function_180017610(void);
int64_t function_180017630(void);
int64_t function_180017650(void);
int64_t function_180017670(void);
int64_t function_180017690(void);
int64_t function_1800176b0(void);
int64_t function_1800176d0(void);
int64_t function_1800176f0(void);
int64_t function_180017710(void);
int64_t function_180017730(void);
int64_t function_180017750(void);
int64_t function_180017770(void);
int64_t function_180017790(void);
int64_t function_1800177b0(void);
int64_t function_1800177d0(void);
int64_t function_1800177f0(void);
int64_t function_180017810(void);
int64_t function_180017830(void);
int64_t function_180017850(void);
int64_t function_180017870(void);
int64_t function_180017890(void);
int64_t function_1800178b0(void);
int64_t function_1800178d0(void);
int64_t function_1800178f0(void);
int64_t function_180017910(void);
int64_t function_180017930(void);
int64_t function_180017950(void);
int64_t function_180017970(void);
int64_t function_180017990(void);
int64_t function_1800179b0(void);
int64_t function_1800179d0(void);
int64_t function_1800179f0(void);
int64_t function_180017a10(void);
int64_t function_180017a30(void);
int64_t function_180017a50(void);
int64_t function_180017a70(void);
int64_t function_180017a90(void);
int64_t function_180017ab0(void);
int64_t function_180017ad0(void);
int64_t function_180017af0(void);
int64_t function_180017b10(void);
int64_t function_180017b30(void);
int64_t function_180017b50(void);
int64_t function_180017b70(void);
int64_t function_180017b90(void);
int64_t function_180017bb0(void);
int64_t function_180017bd0(void);
int64_t function_180017bf0(void);
int64_t function_180017c10(void);
int64_t function_180017c30(void);
int64_t function_180017c50(void);
int64_t function_180017c70(void);
int64_t function_180017c90(void);
int64_t function_180017cb0(void);
int64_t function_180017cd0(void);
int64_t function_180017cf0(void);
int64_t function_180017d10(void);
int64_t function_180017d30(void);
int64_t function_180017d50(void);
int64_t function_180017d70(void);
int64_t function_180017d90(void);
int64_t function_180017db0(void);
int64_t function_180017dd0(void);
int64_t function_180017df0(void);
int64_t function_180017e10(void);
int64_t function_180017e30(void);
int64_t function_180017e50(void);
int64_t function_180017e70(void);
int64_t function_180017e90(void);
int64_t function_180017eb0(void);
int64_t function_180017ed0(void);
int64_t function_180017ef0(void);
int64_t function_180017f08(int64_t a1, int64_t a2);
int64_t function_180017f47(void);
int64_t function_180017f71(void);
int64_t function_180017f8a(int64_t a1, int64_t a2);
int64_t function_180018010(void);
int64_t function_180018060(void);
int64_t function_1800180b0(void);
int64_t function_1800180f0(void);
int64_t function_180018140(void);
int64_t function_180018180(void);
int64_t function_1800181d0(void);
int64_t function_180018220(void);
int64_t function_180018270(void);
int64_t function_1800182c0(void);
int64_t function_180018310(void);
int64_t function_180018360(void);
int64_t function_1800183a0(void);
int64_t function_1800183f0(void);
int64_t function_180018440(void);
int64_t function_180018490(void);
int64_t function_1800184e0(void);
int64_t function_1800184f0(void);
int64_t function_180018520(void);
int64_t function_180018670(void);
int64_t function_180018690(void);
int64_t function_1800186b0(void);
int64_t function_180018700(void);
int64_t function_180018750(void);
int64_t function_1800187a0(void);
int64_t function_1800187f0(void);
int64_t function_180018840(void);
int64_t function_180018890(void);
int64_t function_1800188a0(void);
int64_t function_1800188f0(void);
int64_t function_180018900(void);
int64_t function_180018910(void);
int64_t function_180018920(void);
int64_t function_180018970(void);
int64_t function_1800189a0(void);
int64_t function_1800189c0(void);
int64_t function_180018a10(void);
int64_t function_180018a20(void);
int64_t function_180018a30(void);
int64_t function_180018a80(void);
int64_t function_180018a90(void);
int64_t function_180018ae0(void);
int64_t function_180018af0(void);
int64_t function_180018b00(void);
int64_t function_180018b10(void);
int64_t function_180018b20(void);
int64_t function_180018b30(void);
int64_t function_180018b40(void);
int64_t function_180018b90(void);
int64_t function_180018ba0(void);
int64_t function_180018bb0(void);
int64_t function_180018bc0(void);
int64_t function_180018bd0(void);
int64_t function_180018be0(void);
int64_t function_180018c00(void);
int64_t function_180018c10(void);
int64_t function_180018c20(void);
int64_t function_180018c30(void);
int64_t function_180018c40(void);
int64_t function_180018c50(void);
int64_t function_180018c60(void);
int64_t function_180018c70(void);
int64_t function_180018c80(void);
int64_t function_180018c90(void);
int64_t function_180018cc0(void);
 
// --------------------- Global Variables ---------------------
 
bool g1 = false; // df
void (**g2)() = NULL;
void (**g3)() = NULL;
int32_t (**g4)() = NULL;
int32_t (**g5)() = NULL;
int32_t g6 = -0x7fff6990;
int64_t g7 = 0x180009680;
int64_t g8 = 0x18000d640;
int64_t g9 = 0x180012fca;
int64_t g10 = 0x180012fdc;
int16_t * g11 = (int16_t *)0x2f002f0000002f;
int64_t g12 = 0x180013036;
int16_t * g13 = (int16_t *)58;
int64_t g14 = 0x180001e80;
int64_t g15 = 0x180002200;
int64_t g16 = 0x180012fdc;
int64_t g17 = 0x18001304e;
int64_t g18 = 0x2c0000002e;
int64_t g19 = 0x199305220000002c;
int16_t * g20 = (int16_t *)45;
int64_t g21 = 0x180012fdc;
int64_t g22 = 0x180005f80;
int16_t * g23 = (int16_t *)61;
int64_t g24 = 0x180008b00;
int64_t g25 = 0x180008b90;
int64_t g26 = 0x180008c50;
int64_t g27 = 0x180009660;
int64_t g28 = 0x18000ad20;
int64_t g29 = 0x180012fdc;
int64_t g30 = 0x18000b420;
int64_t g31 = 0x180013078;
int64_t g32 = 0x18000b130;
int64_t g33 = 0x18000b410;
int64_t g34 = 0x18000b430;
int64_t g35 = 0x18000c700;
int64_t g36 = 0x18001304e;
int64_t g37 = 0x180012fdc;
int64_t g38 = 0x18001304e;
int64_t g39 = 0x180012fdc;
int64_t g40 = 0x180013102;
int32_t g41 = 0x616f7262;
int64_t g42 = 0x18000e280;
int32_t g43 = -0x7fff0e80;
int64_t g44 = 0x18000d600;
int64_t g45 = 0x18000d620;
int32_t g46 = -0x7fff29d0;
int64_t g47 = 0x18000d610;
int64_t g48 = 0x180011510;
int16_t * g49 = (int16_t *)0x3f00000023;
int16_t * g50 = (int16_t *)0x199305220000003f;
int64_t g51 = 0x180011a70;
int64_t g52 = 0x180013236;
int64_t g53 = 0x180012e80;
int64_t g54 = 0x180012d30;
int64_t g55 = 0x1800131cc;
int64_t g56 = 0x18001e1d801;
int64_t g57 = 0x18001e1d8000001;
int64_t g59 = -0x1e27ffffffffffff;
int64_t g60 = 0;
int64_t g61 = 0x2b992ddfa232;
int64_t g62 = -0x2b992ddfa233;
int64_t g63 = -1;
int64_t g64 = 0;
int64_t g65 = 0;
int64_t g66 = 0;
int64_t g67 = 0;
int64_t g68 = 0;
int64_t g69 = 0;
int64_t g70 = 0;
int64_t g71 = 0;
int64_t g72 = 0;
int64_t g73 = 0;
int64_t g74 = 0;
int64_t g75 = 0;
int64_t g76 = 0;
int64_t g77 = 0;
int64_t g78 = 0;
int64_t g79 = 0;
int64_t g80 = 0;
int64_t g81 = 0;
int32_t g82 = 0;
int64_t g83 = 0;
int64_t g84 = 0;
int32_t g85 = 0;
int64_t g86 = 0;
int64_t g87 = 0;
int64_t g88 = 0;
int64_t g89 = 0;
int64_t g90 = 0;
int64_t g91 = 0;
int32_t g92 = 0;
int32_t g93 = 0;
int64_t g94 = 0;
int64_t g95 = 0;
int32_t g96 = 0;
int32_t g97 = 0;
struct _CONTEXT * g98 = NULL;
int64_t g99 = 0;
int64_t g100 = 0;
int32_t g101 = 0;
int64_t g102 = 0;
int32_t g103 = 0;
int64_t g104 = 0;
int64_t g105 = 0;
int64_t g106 = 0;
int64_t g107 = 0;
int64_t g108 = 0; // r12
int64_t g109 = 0; // r13
int64_t g110 = 0; // r14
int64_t g111 = 0; // r15
int64_t g112 = 0; // r8
int64_t g113 = 0; // r9
int64_t g114 = 0; // rax
int64_t g115 = 0; // rbp
int64_t g116 = 0; // rbx
int64_t g117 = 0; // rcx
int64_t g118 = 0; // rdi
int64_t g119 = 0; // rdx
int64_t g120 = 0; // rsi
int64_t g121 = 0; // rsp
int32_t g122;
char * g58[2] = {
    "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",
    (char *)&g55
};
 
// ------------------------ Functions -------------------------
 
// Address range: 0x180001000 - 0x180001005
// Demangled:     public: wxSockAddress::GetAddress
int64_t _3f_GetAddress_40_wxSockAddress_40__40_QEBAAEBVwxSockAddressImpl_40__40_XZ(int64_t a1) {
    // 0x180001000
    g117 = a1;
    int64_t result = *(int64_t *)(a1 + 16); // 0x180001000
    g114 = result;
    return result;
}
 
// Address range: 0x180001010 - 0x18000104a
// Demangled:     public: wxIPaddress::wxIPaddress
int64_t _3f__3f_0wxIPaddress_40__40_QEAA_40_XZ(int64_t a1) {
    // 0x180001010
    g117 = a1;
    int64_t v1 = g116; // 0x180001015
    g116 = a1;
    _3f__3f_0wxSockAddress_40__40_QEAA_40_XZ(a1);
    g114 = &g6;
    *(int64_t *)g116 = (int64_t)&g6;
    int64_t v2 = g116 + 24; // 0x180001036
    g117 = v2;
    _3f__3f_0wxString_40__40_QEAA_40_XZ(v2);
    int64_t result = g116; // 0x180001041
    g114 = result;
    g116 = v1;
    return result;
}
 
// Address range: 0x180001050 - 0x18000109b
// Demangled:     public: wxIPaddress::wxIPaddress
int64_t _3f__3f_0wxIPaddress_40__40_QEAA_40_AEBV0_40__40_Z(int64_t a1, int64_t a2) {
    // 0x180001050
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x180001063
    g116 = a2;
    g118 = a1;
    _3f__3f_0wxSockAddress_40__40_QEAA_40_AEBV0_40__40_Z(a1, a2);
    g114 = &g6;
    *(int64_t *)g118 = (int64_t)&g6;
    int64_t v2 = g116 + 24; // 0x18000107e
    g119 = v2;
    int64_t v3 = g118 + 24; // 0x180001082
    g117 = v3;
    _3f__3f_0wxString_40__40_QEAA_40_AEBV0_40__40_Z(v3, v2);
    g114 = g118;
    g116 = v1;
    return g118;
}
 
// Address range: 0x1800010a0 - 0x1800010c7
// Demangled:     public: wxIPaddress::OrigHostname
int64_t _3f_OrigHostname_40_wxIPaddress_40__40_QEBA_3f_AVwxString_40__40_XZ(int64_t a1, int64_t * a2) {
    // 0x1800010a0
    g119 = (int64_t)a2;
    g117 = a1;
    int64_t v1 = g116; // 0x1800010a0
    int64_t v2 = g119; // 0x1800010a6
    g116 = v2;
    int64_t v3 = g117 + 24; // 0x1800010a9
    g119 = v3;
    g117 = v2;
    _3f__3f_0wxString_40__40_QEAA_40_AEBV0_40__40_Z(v2, v3);
    int64_t result = g116; // 0x1800010be
    g114 = result;
    g116 = v1;
    return result;
}
 
// Address range: 0x1800010d0 - 0x1800010d5
// Demangled:     protected: wxIPaddress::GetImpl
int64_t _3f_GetImpl_40_wxIPaddress_40__40_IEBAAEBVwxSockAddressImpl_40__40_XZ(void) {
    int64_t result = _3f_GetImpl_40_wxIPaddress_40__40_IEAAAEAVwxSockAddressImpl_40__40_XZ(g117); // 0x1800010d0
    g114 = result;
    return result;
}
 
// Address range: 0x1800010e0 - 0x18000110e
// Demangled:     public: virtual wxIPV4address::~wxIPV4address
int64_t _3f__3f_1wxIPV4address_40__40_UEAA_40_XZ(int64_t a1) {
    // 0x1800010e0
    g117 = a1;
    int64_t v1 = g116; // 0x1800010e5
    int64_t v2 = g117; // 0x1800010f3
    g116 = v2;
    int64_t v3 = v2 + 24; // 0x1800010f6
    g117 = v3;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v3, g119, g112);
    int64_t v4 = g116; // 0x180001101
    g117 = v4;
    g116 = v1;
    int64_t result = _3f__3f_1wxSockAddress_40__40_UEAA_40_XZ(v4); // 0x180001109
    g114 = result;
    return result;
}
 
// Address range: 0x180001110 - 0x180001154
// Demangled:     public: wxIPV4address::wxIPV4address
int64_t _3f__3f_0wxIPV4address_40__40_QEAA_40_XZ(int64_t a1) {
    // 0x180001110
    g117 = a1;
    int64_t v1 = g116; // 0x180001115
    g116 = a1;
    _3f__3f_0wxSockAddress_40__40_QEAA_40_XZ(a1);
    g114 = &g6;
    *(int64_t *)g116 = (int64_t)&g6;
    int64_t v2 = g116 + 24; // 0x180001136
    g117 = v2;
    _3f__3f_0wxString_40__40_QEAA_40_XZ(v2);
    *(int64_t *)g116 = (int64_t)&g7;
    int64_t result = g116; // 0x18000114b
    g114 = result;
    g116 = v1;
    return result;
}
 
// Address range: 0x180001160 - 0x1800011b5
// Demangled:     public: wxIPV4address::wxIPV4address
int64_t _3f__3f_0wxIPV4address_40__40_QEAA_40_AEBV0_40__40_Z(int64_t a1, int64_t a2) {
    // 0x180001160
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x180001173
    g116 = a2;
    g118 = a1;
    _3f__3f_0wxSockAddress_40__40_QEAA_40_AEBV0_40__40_Z(a1, a2);
    g114 = &g6;
    *(int64_t *)g118 = (int64_t)&g6;
    int64_t v2 = g116 + 24; // 0x18000118e
    g119 = v2;
    int64_t v3 = g118 + 24; // 0x180001192
    g117 = v3;
    _3f__3f_0wxString_40__40_QEAA_40_AEBV0_40__40_Z(v3, v2);
    *(int64_t *)g118 = (int64_t)&g7;
    g114 = g118;
    g116 = v1;
    return g118;
}
 
// Address range: 0x1800011c0 - 0x1800011c6
// Demangled:     public: virtual wxIPV4address::Type
int64_t _3f_Type_40_wxIPV4address_40__40_UEAA_3f_AW4Family_40_wxSockAddress_40__40_XZ(void) {
    // 0x1800011c0
    g114 = 1;
    return 1;
}
 
// Address range: 0x1800011d0 - 0x18000123f
// Demangled:     public: virtual wxIPV4address::Clone
int64_t _3f_Clone_40_wxIPV4address_40__40_UEBAPEAVwxSockAddress_40__40_XZ(int64_t a1) {
    // 0x1800011d0
    g117 = a1;
    int64_t v1 = g116; // 0x1800011df
    g118 = g117;
    g117 = 80;
    int64_t v2 = function_18001323c(80, g119); // 0x1800011ec
    g114 = v2;
    g116 = v2;
    int64_t result;
    if (v2 == 0) {
        result = 0;
    } else {
        int64_t v3 = g118; // 0x1800011fe
        g119 = v3;
        g117 = v2;
        _3f__3f_0wxSockAddress_40__40_QEAA_40_AEBV0_40__40_Z(v2, v3);
        g114 = &g6;
        *(int64_t *)g116 = (int64_t)&g6;
        int64_t v4 = g118 + 24; // 0x180001214
        g119 = v4;
        int64_t v5 = g116 + 24; // 0x180001218
        g117 = v5;
        _3f__3f_0wxString_40__40_QEAA_40_AEBV0_40__40_Z(v5, v4);
        g114 = &g7;
        *(int64_t *)g116 = (int64_t)&g7;
        result = g116;
    }
    // 0x180001234
    g114 = result;
    g116 = v1;
    return result;
}
 
// Address range: 0x180001240 - 0x18000125f
// Demangled:     public: wxIPV4address::Hostname
int64_t _3f_Hostname_40_wxIPV4address_40__40_QEBA_3f_AVwxString_40__40_XZ(int64_t a1, int64_t * a2) {
    int64_t v1 = (int64_t)a2;
    g119 = v1;
    g117 = a1;
    int64_t v2 = g116; // 0x180001240
    g116 = v1;
    _3f_Hostname_40_wxIPaddress_40__40_QEBA_3f_AVwxString_40__40_XZ(a1, v1);
    int64_t result = g116; // 0x180001256
    g114 = result;
    g116 = v2;
    return result;
}
 
// Address range: 0x180001260 - 0x180001265
// Demangled:     public: wxIPV4address::Hostname
int64_t _3f_Hostname_40_wxIPV4address_40__40_QEAA_NAEBVwxString_40__40__40_Z(void) {
    int64_t result = _3f_Hostname_40_wxIPaddress_40__40_QEAA_NAEBVwxString_40__40__40_Z(g117, g119); // 0x180001260
    g114 = result;
    return result;
}
 
// Address range: 0x180001270 - 0x1800012a1
// Demangled:     public: wxIPV4address::operator=
int64_t _3f__3f_4wxIPV4address_40__40_QEAAAEAV0_40_AEBV0_40__40_Z(int64_t a1, int64_t a2) {
    // 0x180001270
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x180001270
    g116 = a2;
    g118 = a1;
    g114 = _3f__3f_4wxSockAddress_40__40_QEAAAEAV0_40_AEBV0_40__40_Z(a1, a2);
    int64_t v2 = g116 + 24; // 0x180001285
    g119 = v2;
    int64_t v3 = g118 + 24; // 0x180001289
    g117 = v3;
    _3f__3f_4wxString_40__40_QEAAAEAV0_40_AEBV0_40__40_Z(v3, v2);
    g116 = v1;
    g114 = g118;
    return g118;
}
 
// Address range: 0x1800012b0 - 0x180001335
int64_t function_1800012b0(int64_t a1, int64_t a2) {
    // 0x1800012b0
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x1800012c3
    int64_t v2 = g120; // 0x1800012c8
    g120 = a2;
    g116 = a1;
    int64_t result;
    if ((a2 & 2) != 0) {
        uint32_t v3 = *(int32_t *)(a1 - 8); // 0x1800012de
        g112 = v3;
        g119 = 80;
        g114 = function_180013168(a1, 80, v3, 0x1800010e0);
        if ((g120 & 1) != 0) {
            int64_t v4 = g116 - 8; // 0x1800012f2
            g117 = v4;
            g114 = function_180013114(v4);
        }
        // 0x1800012fb
        result = g116 - 8;
        // 0x180001325
        g114 = result;
        g116 = v1;
        g120 = v2;
        return result;
    }
    int64_t v5 = a1 + 24; // 0x180001301
    g117 = v5;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v5, a2, g112);
    int64_t v6 = g116; // 0x18000130c
    g117 = v6;
    g114 = _3f__3f_1wxSockAddress_40__40_UEAA_40_XZ(v6);
    if ((g120 & 1) != 0) {
        int64_t v7 = g116; // 0x18000131a
        g117 = v7;
        g114 = function_18001310e(v7);
    }
    // 0x180001322
    result = g116;
    // 0x180001325
    g114 = result;
    g116 = v1;
    g120 = v2;
    return result;
}
 
// Address range: 0x180001340 - 0x18000134a
// Demangled:     public: wxSocketBase::IsOk
int64_t _3f_IsOk_40_wxSocketBase_40__40_QEBA_NXZ(int64_t a1) {
    // 0x180001340
    g117 = a1;
    g114 = 0;
    int64_t result = *(int64_t *)(a1 + 16) != 0; // 0x180001346
    g114 = result;
    return result;
}
 
// Address range: 0x180001350 - 0x180001363
// Demangled:     public: wxSocketBase::Error
int64_t _3f_Error_40_wxSocketBase_40__40_QEBA_NXZ(void) {
    int64_t v1 = _3f_LastError_40_wxSocketBase_40__40_QEBA_3f_AW4wxSocketError_40__40_XZ(g117); // 0x180001354
    int64_t result = (int64_t)((int32_t)v1 != 0) | v1 & -256; // 0x18000135b
    g114 = result;
    return result;
}
 
// Address range: 0x180001370 - 0x180001374
// Demangled:     public: wxSocketBase::IsClosed
int64_t _3f_IsClosed_40_wxSocketBase_40__40_QEBA_NXZ(int64_t a1) {
    // 0x180001370
    g117 = a1;
    int64_t result = g114 & -256 | (int64_t)*(char *)(a1 + 36); // 0x180001370
    g114 = result;
    return result;
}
 
// Address range: 0x180001380 - 0x180001384
// Demangled:     public: wxSocketBase::IsConnected
int64_t _3f_IsConnected_40_wxSocketBase_40__40_QEBA_NXZ(int64_t a1) {
    // 0x180001380
    g117 = a1;
    int64_t result = g114 & -256 | (int64_t)*(char *)(a1 + 32); // 0x180001380
    g114 = result;
    return result;
}
 
// Address range: 0x180001390 - 0x18000139a
// Demangled:     public: wxSocketBase::IsData
int64_t _3f_IsData_40_wxSocketBase_40__40_QEAA_NXZ(void) {
    // 0x180001390
    g112 = 0;
    g119 = 0;
    int64_t result = _3f_WaitForRead_40_wxSocketBase_40__40_QEAA_NJJ_40_Z(g117, 0, 0); // 0x180001395
    g114 = result;
    return result;
}
 
// Address range: 0x1800013a0 - 0x1800013a9
// Demangled:     public: wxSocketBase::IsDisconnected
int64_t _3f_IsDisconnected_40_wxSocketBase_40__40_QEBA_NXZ(int64_t a1) {
    // 0x1800013a0
    g117 = a1;
    g114 = 0;
    int64_t result = *(char *)(a1 + 32) == 0; // 0x1800013a5
    g114 = result;
    return result;
}
 
// Address range: 0x1800013b0 - 0x1800013b5
// Demangled:     public: wxSocketBase::InterruptWait
int64_t _3f_InterruptWait_40_wxSocketBase_40__40_QEAAXXZ(int64_t a1) {
    // 0x1800013b0
    g117 = a1;
    *(char *)(a1 + 104) = 1;
    return g114;
}
 
// Address range: 0x1800013c0 - 0x1800013c4
// Demangled:     public: wxSocketBase::GetFlags
int64_t _3f_GetFlags_40_wxSocketBase_40__40_QEBAHXZ(int64_t a1) {
    // 0x1800013c0
    g117 = a1;
    int64_t result = (int64_t)*(int32_t *)(a1 + 28); // 0x1800013c0
    g114 = result;
    return result;
}
 
// Address range: 0x1800013d0 - 0x1800013d4
// Demangled:     public: wxSocketBase::GetTimeout
int64_t _3f_GetTimeout_40_wxSocketBase_40__40_QEBAJXZ(int64_t a1) {
    // 0x1800013d0
    g117 = a1;
    int64_t result = (int64_t)*(int32_t *)(a1 + 52); // 0x1800013d0
    g114 = result;
    return result;
}
 
// Address range: 0x1800013e0 - 0x1800013e4
// Demangled:     public: wxSocketBase::GetLastIOSize
int64_t _3f_GetLastIOSize_40_wxSocketBase_40__40_QEBAIXZ(int64_t a1) {
    // 0x1800013e0
    g117 = a1;
    int64_t result = (int64_t)*(int32_t *)(a1 + 40); // 0x1800013e0
    g114 = result;
    return result;
}
 
// Address range: 0x1800013f0 - 0x1800013f4
// Demangled:     public: wxSocketBase::GetLastIOReadSize
int64_t _3f_GetLastIOReadSize_40_wxSocketBase_40__40_QEBAIXZ(int64_t a1) {
    // 0x1800013f0
    g117 = a1;
    int64_t result = (int64_t)*(int32_t *)(a1 + 44); // 0x1800013f0
    g114 = result;
    return result;
}
 
// Address range: 0x180001400 - 0x180001404
// Demangled:     public: wxSocketBase::GetLastIOWriteSize
int64_t _3f_GetLastIOWriteSize_40_wxSocketBase_40__40_QEBAIXZ(int64_t a1) {
    // 0x180001400
    g117 = a1;
    int64_t result = (int64_t)*(int32_t *)(a1 + 48); // 0x180001400
    g114 = result;
    return result;
}
 
// Address range: 0x180001410 - 0x180001418
// Demangled:     public: wxSocketBase::GetClientData
int64_t _3f_GetClientData_40_wxSocketBase_40__40_QEBAPEAXXZ(int64_t a1) {
    // 0x180001410
    g117 = a1;
    int64_t result = *(int64_t *)(a1 + 224); // 0x180001410
    g114 = result;
    return result;
}
 
// Address range: 0x180001420 - 0x180001428
// Demangled:     public: wxSocketBase::SetClientData
int64_t _3f_SetClientData_40_wxSocketBase_40__40_QEAAXPEAX_40_Z(int64_t a1, int64_t a2) {
    // 0x180001420
    g119 = a2;
    g117 = a1;
    *(int64_t *)(a1 + 224) = a2;
    return g114;
}
 
// Address range: 0x180001430 - 0x180001438
// Demangled:     public: wxSocketBase::IsNoWait
int64_t _3f_IsNoWait_40_wxSocketBase_40__40_QEBA_NXZ(int64_t a1) {
    // 0x180001430
    g117 = a1;
    int64_t result = (int64_t)((*(char *)(a1 + 28) & 3) != 0) | g114 & -256; // 0x180001434
    g114 = result;
    return result;
}
 
// Address range: 0x180001440 - 0x180001444
// Demangled:     public: wxSocketBase::GetType
int64_t _3f_GetType_40_wxSocketBase_40__40_QEBA_3f_AW4wxSocketType_40__40_XZ(int64_t a1) {
    // 0x180001440
    g117 = a1;
    int64_t result = (int64_t)*(int32_t *)(a1 + 24); // 0x180001440
    g114 = result;
    return result;
}
 
// Address range: 0x180001450 - 0x180001461
// Demangled:     private: wxSocketBase::DoWaitWithTimeout
int64_t _3f_DoWaitWithTimeout_40_wxSocketBase_40__40_AEAAHH_40_Z(int64_t a1, int64_t a2) {
    // 0x180001450
    g119 = a2;
    g117 = a1;
    g112 = a2;
    int64_t v1 = 1000 * (int64_t)*(int32_t *)(a1 + 52); // 0x180001456
    g119 = v1;
    int64_t result = _3f_DoWait_40_wxSocketBase_40__40_AEAAHJH_40_Z(a1, v1, a2); // 0x18000145c
    g114 = result;
    return result;
}
 
// Address range: 0x180001470 - 0x18000147e
// Demangled:     public: wxSocketClient::SetInitialSocketBuffers
int64_t _3f_SetInitialSocketBuffers_40_wxSocketClient_40__40_QEAAXHH_40_Z(int64_t a1, int64_t a2, int64_t a3) {
    // 0x180001470
    g112 = a3;
    g119 = a2;
    g117 = a1;
    *(int32_t *)(a1 + 248) = (int32_t)a2;
    *(int32_t *)(g117 + 252) = (int32_t)g112;
    return g114;
}
 
// Address range: 0x180001480 - 0x180001485
// Demangled:     public: virtual wxDatagramSocket::~wxDatagramSocket
int64_t _3f__3f_1wxDatagramSocket_40__40_UEAA_40_XZ(int64_t a1) {
    // 0x180001480
    g117 = a1;
    int64_t result = _3f__3f_1wxSocketBase_40__40_UEAA_40_XZ(a1); // 0x180001480
    g114 = result;
    return result;
}
 
// Address range: 0x180001490 - 0x180001497
// Demangled:     public: wxSocketClient::`default constructor closure'
int64_t _3f__3f__FwxSocketClient_40__40_QEAAXXZ(void) {
    // 0x180001490
    g119 = 0;
    int64_t result = _3f__3f_0wxSocketClient_40__40_QEAA_40_H_40_Z(g117); // 0x180001492
    g114 = result;
    return result;
}
 
// Address range: 0x1800014a0 - 0x1800014a4
// Demangled:     public: wxSocketEvent::GetSocketEvent
int64_t _3f_GetSocketEvent_40_wxSocketEvent_40__40_QEBA_3f_AW4wxSocketNotify_40__40_XZ(int64_t a1) {
    // 0x1800014a0
    g117 = a1;
    int64_t result = (int64_t)*(int32_t *)(a1 + 80); // 0x1800014a0
    g114 = result;
    return result;
}
 
// Address range: 0x1800014b0 - 0x1800014b7
// Demangled:     public: wxSocketEvent::GetSocket
int64_t _3f_GetSocket_40_wxSocketEvent_40__40_QEBAPEAVwxSocketBase_40__40_XZ(void) {
    int64_t result = _3f_GetEventObject_40_wxEvent_40__40_QEBAPEAVwxObject_40__40_XZ(g117); // 0x1800014b0
    g114 = result;
    return result;
}
 
// Address range: 0x1800014c0 - 0x1800014c5
// Demangled:     public: wxSocketEvent::GetClientData
int64_t _3f_GetClientData_40_wxSocketEvent_40__40_QEBAPEAXXZ(int64_t a1) {
    // 0x1800014c0
    g117 = a1;
    int64_t result = *(int64_t *)(a1 + 88); // 0x1800014c0
    g114 = result;
    return result;
}
 
// Address range: 0x1800014d0 - 0x1800014d6
// Demangled:     public: virtual wxSocketEvent::GetEventCategory
int64_t _3f_GetEventCategory_40_wxSocketEvent_40__40_UEBA_3f_AW4wxEventCategory_40__40_XZ(void) {
    // 0x1800014d0
    g114 = 4;
    return 4;
}
 
// Address range: 0x1800014e0 - 0x1800014e7
// Demangled:     public: virtual wxSocketEvent::~wxSocketEvent
int64_t _3f__3f_1wxSocketEvent_40__40_UEAA_40_XZ(int64_t a1) {
    // 0x1800014e0
    g117 = a1;
    int64_t result = _3f__3f_1wxEvent_40__40_UEAA_40_XZ(a1, g119); // 0x1800014e0
    g114 = result;
    return result;
}
 
// Address range: 0x1800014f0 - 0x18000152c
// Demangled:     public: wxSocketEvent::wxSocketEvent
int64_t _3f__3f_0wxSocketEvent_40__40_QEAA_40_AEBV0_40__40_Z(int64_t result, int64_t a2) {
    // 0x1800014f0
    g119 = a2;
    g117 = result;
    int64_t v1 = g116; // 0x1800014f0
    g116 = a2;
    g114 = _3f__3f_0wxEvent_40__40_IEAA_40_AEBV0_40__40_Z(result, a2);
    *(int64_t *)result = (int64_t)&g8;
    uint32_t v2 = *(int32_t *)(g116 + 80); // 0x180001510
    g114 = v2;
    *(int32_t *)(result + 80) = v2;
    int64_t v3 = *(int64_t *)(g116 + 88); // 0x180001516
    g116 = v1;
    *(int64_t *)(result + 88) = v3;
    g114 = result;
    return result;
}
 
// Address range: 0x180001530 - 0x1800015a3
int64_t function_180001530(int64_t a1, int64_t a2) {
    // 0x180001530
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x180001530
    int64_t v2 = g120; // 0x180001535
    g120 = a2;
    g116 = a1;
    if ((a2 & 2) == 0) {
        // 0x180001581
        g114 = _3f__3f_1wxEvent_40__40_UEAA_40_XZ(a1, a2);
        if ((g120 & 1) != 0) {
            int64_t v3 = g116; // 0x18000158d
            g117 = v3;
            g114 = function_18001310e(v3);
        }
        int64_t result = g116; // 0x180001595
        g114 = result;
        g116 = v1;
        g120 = v2;
        return result;
    }
    uint32_t v4 = *(int32_t *)(a1 - 8); // 0x180001544
    g112 = v4;
    g119 = 96;
    g114 = function_180013168(a1, 96, v4, 0x1800014e0);
    if ((g120 & 1) != 0) {
        int64_t v5 = g116 - 8; // 0x180001564
        g117 = v5;
        g114 = function_180013114(v5);
    }
    int64_t result2 = g116 - 8; // 0x18000156d
    g114 = result2;
    g116 = v1;
    g120 = v2;
    return result2;
}
 
// Address range: 0x1800015b0 - 0x1800015b3
// Demangled:     public: virtual wxProtocol::Connect
int64_t _3f_Connect_40_wxProtocol_40__40_UEAA_NAEBVwxString_40__40__40_Z(void) {
    int64_t result = g114 & -256; // 0x1800015b0
    g114 = result;
    return result;
}
 
// Address range: 0x1800015c0 - 0x1800015c8
// Demangled:     public: virtual wxProtocol::Connect
int64_t _3f_Connect_40_wxProtocol_40__40_UEAA_NAEBVwxSockAddress_40__40__N_40_Z(void) {
    // 0x1800015c0
    g112 = g112 & -256 | 1;
    int64_t result = _3f_Connect_40_wxSocketClient_40__40_UEAA_NAEBVwxSockAddress_40__40__N_40_Z(g117); // 0x1800015c3
    g114 = result;
    return result;
}
 
// Address range: 0x1800015d0 - 0x1800015d7
// Demangled:     public: virtual wxProtocol::GetError
int64_t _3f_GetError_40_wxProtocol_40__40_UEBA_3f_AW4wxProtocolError_40__40_XZ(int64_t a1) {
    // 0x1800015d0
    g117 = a1;
    int64_t result = (int64_t)*(int32_t *)(a1 + 376); // 0x1800015d0
    g114 = result;
    return result;
}
 
// Address range: 0x1800015e0 - 0x1800015ee
// Demangled:     public: wxProtocol::SetUser
int64_t _3f_SetUser_40_wxProtocol_40__40_QEAAXAEBVwxString_40__40__40_Z(int64_t a1) {
    int64_t v1 = a1 + 264; // 0x1800015e0
    g117 = v1;
    int64_t result = _3f__3f_4wxString_40__40_QEAAAEAV0_40_AEBV0_40__40_Z(v1, g119); // 0x1800015e7
    g114 = result;
    return result;
}
 
// Address range: 0x1800015f0 - 0x1800015fe
// Demangled:     public: wxProtocol::SetPassword
int64_t _3f_SetPassword_40_wxProtocol_40__40_QEAAXAEBVwxString_40__40__40_Z(int64_t a1) {
    int64_t v1 = a1 + 320; // 0x1800015f0
    g117 = v1;
    int64_t result = _3f__3f_4wxString_40__40_QEAAAEAV0_40_AEBV0_40__40_Z(v1, g119); // 0x1800015f7
    g114 = result;
    return result;
}
 
// Address range: 0x180001600 - 0x18000160a
// Demangled:     public: virtual wxProtocol::SetTimeout
int64_t _3f_SetTimeout_40_wxProtocol_40__40_UEAAXJ_40_Z(int64_t result) {
    // 0x180001600
    g117 = result;
    g114 = result;
    return result;
}
 
// Address range: 0x180001610 - 0x180001618
// Demangled:     public: wxProtocol::GetLog
int64_t _3f_GetLog_40_wxProtocol_40__40_QEBAPEAVwxProtocolLog_40__40_XZ(int64_t a1) {
    // 0x180001610
    g117 = a1;
    int64_t result = *(int64_t *)(a1 + 384); // 0x180001610
    g114 = result;
    return result;
}
 
// Address range: 0x180001620 - 0x180001633
// Demangled:     public: wxProtocol::DetachLog
int64_t _3f_DetachLog_40_wxProtocol_40__40_QEAAPEAVwxProtocolLog_40__40_XZ(int64_t a1) {
    // 0x180001620
    g117 = a1;
    int64_t * v1 = (int64_t *)(a1 + 384); // 0x180001620
    g114 = *v1;
    *v1 = 0;
    return g114;
}
 
// Address range: 0x180001640 - 0x180001689
// Demangled:     public: virtual wxProtoInfo::~wxProtoInfo
int64_t _3f__3f_1wxProtoInfo_40__40_UEAA_40_XZ(int64_t a1) {
    // 0x180001640
    g117 = a1;
    int64_t v1 = g116; // 0x180001645
    int64_t v2 = g117; // 0x180001653
    g116 = v2;
    int64_t v3 = v2 + 136; // 0x180001656
    g117 = v3;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v3, g119, g112);
    int64_t v4 = g116 + 80; // 0x180001664
    g117 = v4;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v4, g119, g112);
    int64_t v5 = g116 + 24; // 0x18000166f
    g117 = v5;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v5, g119, g112);
    int64_t v6 = g116; // 0x18000167a
    g117 = v6;
    g116 = v1;
    int64_t result = _3f__3f_1wxObject_40__40_UEAA_40_XZ(v6); // 0x180001682
    g114 = result;
    return result;
}
 
// Address range: 0x180001690 - 0x18000169d
// Demangled:     public: virtual wxFTP::Connect
int64_t _3f_Connect_40_wxFTP_40__40_UEAA_NAEBVwxString_40__40__40_Z(int64_t result) {
    // 0x180001690
    g117 = result;
    g114 = result;
    g112 = 0;
    return result;
}
 
// Address range: 0x1800016a0 - 0x1800016a7
// Demangled:     public: wxHTTP::GetResponse
int64_t _3f_GetResponse_40_wxHTTP_40__40_QEBAHXZ(int64_t a1) {
    // 0x1800016a0
    g117 = a1;
    int64_t result = (int64_t)*(int32_t *)(a1 + 592); // 0x1800016a0
    g114 = result;
    return result;
}
 
// Address range: 0x1800016b0 - 0x1800016be
// Demangled:     public: wxHTTP::SetMethod
int64_t _3f_SetMethod_40_wxHTTP_40__40_QEAAXAEBVwxString_40__40__40_Z(int64_t a1) {
    int64_t v1 = a1 + 392; // 0x1800016b0
    g117 = v1;
    int64_t result = _3f__3f_4wxString_40__40_QEAAAEAV0_40_AEBV0_40__40_Z(v1, g119); // 0x1800016b7
    g114 = result;
    return result;
}
 
// Address range: 0x1800016c0 - 0x1800016dc
// Demangled:     public: wxHTTP::HasCookies
int64_t _3f_HasCookies_40_wxHTTP_40__40_QEBA_NXZ(int64_t a1) {
    // 0x1800016c0
    g117 = a1;
    int64_t v1 = g117 + 448; // 0x1800016c4
    g117 = v1;
    int64_t v2 = _3f_size_40_wxStringToStringHashMap_wxImplementation_HashTable_40__40_QEBA_KXZ(v1); // 0x1800016cb
    int64_t result = (int64_t)(v2 != 0) | v2 & -256; // 0x1800016d4
    g114 = result;
    return result;
}
 
// Address range: 0x1800016e0 - 0x1800016e8
// Demangled:     public: wxURL::GetProtocol
int64_t _3f_GetProtocol_40_wxURL_40__40_QEAAAEAVwxProtocol_40__40_XZ(int64_t a1) {
    // 0x1800016e0
    g117 = a1;
    int64_t result = *(int64_t *)(a1 + 448); // 0x1800016e0
    g114 = result;
    return result;
}
 
// Address range: 0x1800016f0 - 0x1800016f7
// Demangled:     public: wxURL::GetError
int64_t _3f_GetError_40_wxURL_40__40_QEBA_3f_AW4wxURLError_40__40_XZ(int64_t a1) {
    // 0x1800016f0
    g117 = a1;
    int64_t result = (int64_t)*(int32_t *)(a1 + 456); // 0x1800016f0
    g114 = result;
    return result;
}
 
// Address range: 0x180001700 - 0x18000172a
// Demangled:     public: wxURL::GetURL
int64_t _3f_GetURL_40_wxURL_40__40_QEBA_3f_AVwxString_40__40_XZ(int64_t a1, int64_t * a2) {
    // 0x180001700
    g119 = (int64_t)a2;
    g117 = a1;
    int64_t v1 = g116; // 0x180001700
    int64_t v2 = g119; // 0x180001706
    g116 = v2;
    int64_t v3 = g117 + 464; // 0x180001709
    g119 = v3;
    g117 = v2;
    _3f__3f_0wxString_40__40_QEAA_40_AEBV0_40__40_Z(v2, v3);
    int64_t result = g116; // 0x180001721
    g114 = result;
    g116 = v1;
    return result;
}
 
// Address range: 0x180001730 - 0x18000174a
// Demangled:     public: wxURL::SetURL
int64_t _3f_SetURL_40_wxURL_40__40_QEAA_3f_AW4wxURLError_40__40_AEBVwxString_40__40__40_Z(int64_t a1) {
    // 0x180001730
    g117 = a1;
    int64_t v1 = g116; // 0x180001730
    g116 = a1;
    g114 = _3f__3f_4wxURL_40__40_QEAAAEAV0_40_AEBVwxString_40__40__40_Z(a1, g119);
    int64_t result = (int64_t)*(int32_t *)(g116 + 456); // 0x18000173e
    g114 = result;
    g116 = v1;
    return result;
}
 
// Address range: 0x180001750 - 0x18000175c
// Demangled:     public: wxURL::IsOk
int64_t _3f_IsOk_40_wxURL_40__40_QEBA_NXZ(int64_t a1) {
    // 0x180001750
    g117 = a1;
    g114 = 0;
    int64_t result = *(int32_t *)(a1 + 456) == 0; // 0x180001758
    g114 = result;
    return result;
}
 
// Address range: 0x180001760 - 0x1800017a7
// Demangled:     public: wxURL::`default constructor closure'
int64_t _3f__3f__FwxURL_40__40_QEAAXXZ(int64_t a1) {
    // 0x180001760
    g117 = a1;
    int64_t v1 = g116; // 0x180001760
    g116 = g117;
    int64_t v2 = *(int64_t *)0x180019b50; // 0x180001772
    g119 = v2;
    int64_t v3 = *(int64_t *)v2; // 0x180001779
    g119 = v3;
    int64_t v4; // bp-64
    int64_t v5 = &v4; // 0x18000177c
    g117 = v5;
    g114 = _3f__3f_0wxString_40__40_QEAA_40_PEB_W_40_Z(&v4, v3, g112);
    g119 = v5;
    int64_t v6 = g116; // 0x18000178d
    g117 = v6;
    g114 = _3f__3f_0wxURL_40__40_QEAA_40_AEBVwxString_40__40__40_Z(v6, &v4);
    g117 = v5;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v5, v5, g112); // 0x18000179b
    g114 = result;
    g116 = v1;
    return result;
}
 
// Address range: 0x1800017b0 - 0x1800017d2
// Demangled:     public: wxInternetFSHandler::wxInternetFSHandler
int64_t _3f__3f_0wxInternetFSHandler_40__40_QEAA_40_XZ(int64_t a1) {
    // 0x1800017b0
    g117 = a1;
    int64_t v1 = g116; // 0x1800017b0
    g116 = a1;
    _3f__3f_0wxFileSystemHandler_40__40_QEAA_40_XZ(a1);
    *(int64_t *)g116 = (int64_t)&g9;
    int64_t result = g116; // 0x1800017c9
    g114 = result;
    g116 = v1;
    return result;
}
 
// Address range: 0x1800017e0 - 0x1800017e7
// Demangled:     public: virtual wxInternetFSHandler::~wxInternetFSHandler
int64_t _3f__3f_1wxInternetFSHandler_40__40_UEAA_40_XZ(void) {
    int64_t result = _3f__3f_1wxFileSystemHandler_40__40_UEAA_40_XZ(); // 0x1800017e0
    g114 = result;
    return result;
}
 
// Address range: 0x1800017f0 - 0x180001812
// Demangled:     public: wxInternetFSHandler::wxInternetFSHandler
int64_t _3f__3f_0wxInternetFSHandler_40__40_QEAA_40_AEBV0_40__40_Z(int64_t a1) {
    // 0x1800017f0
    g117 = a1;
    int64_t v1 = g116; // 0x1800017f0
    g116 = g117;
    _3f__3f_0wxFileSystemHandler_40__40_QEAA_40_AEBV0_40__40_Z();
    *(int64_t *)g116 = (int64_t)&g9;
    int64_t result = g116; // 0x180001809
    g114 = result;
    g116 = v1;
    return result;
}
 
// Address range: 0x180001840 - 0x1800018b3
int64_t function_180001840(int64_t a1, int64_t a2) {
    // 0x180001840
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x180001840
    int64_t v2 = g120; // 0x180001845
    int64_t v3 = g119; // 0x18000184a
    g120 = v3;
    g116 = a1;
    if ((v3 & 2) == 0) {
        // 0x180001891
        g114 = _3f__3f_1wxFileSystemHandler_40__40_UEAA_40_XZ();
        if ((g120 & 1) != 0) {
            int64_t v4 = g116; // 0x18000189d
            g117 = v4;
            g114 = function_18001310e(v4);
        }
        int64_t result = g116; // 0x1800018a5
        g114 = result;
        g116 = v1;
        g120 = v2;
        return result;
    }
    uint32_t v5 = *(int32_t *)(a1 - 8); // 0x180001854
    g112 = v5;
    g119 = 16;
    g114 = function_180013168(a1, 16, v5, 0x1800017e0);
    if ((g120 & 1) != 0) {
        int64_t v6 = g116 - 8; // 0x180001874
        g117 = v6;
        g114 = function_180013114(v6);
    }
    int64_t result2 = g116 - 8; // 0x18000187d
    g114 = result2;
    g116 = v1;
    g120 = v2;
    return result2;
}
 
// Address range: 0x1800018c0 - 0x180001ac3
int64_t function_1800018c0(int64_t * a1, int64_t a2) {
    // 0x1800018c0
    g119 = a2;
    g117 = (int64_t)a1;
    int64_t v1;
    g114 = &v1;
    int64_t v2 = g116; // 0x1800018d4
    int64_t v3 = g120; // 0x1800018d8
    g116 = g119;
    int64_t result = g117; // rdi
    g119 = 35;
    int64_t v4; // bp-96
    g117 = &v4;
    int64_t v5 = _3f__3f_0wxUniChar_40__40_QEAA_40__W_40_Z(&v4, 35); // 0x1800018f6
    g114 = v5;
    uint32_t v6 = *(int32_t *)v5; // 0x1800018ff
    g112 = v6;
    g119 = result;
    int64_t v7 = g116; // 0x180001905
    g117 = v7;
    g114 = _3f_BeforeLast_40_wxString_40__40_QEBA_3f_AV1_40_VwxUniChar_40__40_PEAV1_40__40_Z(v7, result, v6, 0);
    g117 = result;
    int64_t v8 = _3f_empty_40_wxString_40__40_QEBA_NXZ(result, result); // 0x180001919
    g114 = v8;
    g119 = 58;
    int64_t v9; // bp-104
    int64_t v10 = &v9; // 0x180001964
    g117 = v10;
    int64_t v11 = _3f__3f_0wxUniChar_40__40_QEAA_40__W_40_Z(&v9, 58); // 0x180001969
    g114 = v11;
    int32_t v12 = *(int32_t *)v11; // 0x18000196f
    g112 = v12;
    int64_t v13; // bp-88
    int64_t v14 = &v13; // 0x180001972
    g119 = v14;
    int64_t v15;
    if ((char)v8 == 0) {
        // 0x18000195f
        g117 = result;
        int64_t v16 = _3f_AfterFirst_40_wxString_40__40_QEBA_3f_AV1_40_VwxUniChar_40__40__40_Z(result, &v13, v12); // 0x18000197a
        g114 = v16;
        g119 = v16;
        g117 = result;
        g114 = _3f__3f_4wxString_40__40_QEAAAEAV0_40_AEBV0_40__40_Z(result, v16);
        g117 = v14;
        v15 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v14, v16, (int64_t)v12);
    } else {
        int64_t v17 = g116; // 0x18000193b
        g117 = v17;
        int64_t v18 = _3f_AfterFirst_40_wxString_40__40_QEBA_3f_AV1_40_VwxUniChar_40__40__40_Z(v17, &v13, v12); // 0x18000193e
        g114 = v18;
        g119 = v18;
        g117 = result;
        g114 = _3f__3f_4wxString_40__40_QEAAAEAV0_40_AEBV0_40__40_Z(result, v18);
        g117 = v14;
        v15 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v14, v18, (int64_t)v12);
    }
    // 0x180001999
    g114 = v15;
    g112 = 2;
    g119 = v14;
    g117 = result;
    int64_t v19 = _3f_Left_40_wxString_40__40_QEBA_3f_AV1_40__K_40_Z(result, &v13, 2); // 0x1800019a7
    g114 = v19;
    g112 = 1;
    g119 = (int64_t)L"//";
    g117 = v19;
    int64_t v20 = _3f_IsSameAs_40_wxString_40__40_QEBA_NPEB_W_N_40_Z(v19, L"//", 1); // 0x1800019bb
    g114 = v20;
    g116 = g116 & -256 | (int64_t)((char)v20 == 0);
    g117 = v14;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v14, (int64_t)L"//", 1);
    g120 = 47;
    if ((char)g116 != 0) {
        // 0x1800019da
        g112 = 0;
        g119 = v10;
        g117 = result;
        int64_t v21 = _3f_GetChar_40_wxString_40__40_QEBA_3f_AVwxUniChar_40__40__K_40_Z(result, &v9, 0); // 0x1800019e5
        g114 = v21;
        g117 = v21;
        int64_t v22 = g120; // 0x1800019ee
        g119 = v22;
        int64_t v23 = _3f__3f_9wxUniChar_40__40_QEBA_N_W_40_Z(v21, v22); // 0x1800019f1
        g114 = v23;
        g112 = result;
        if ((char)v23 == 0) {
            // 0x180001a2b
            g119 = (int64_t)&g11;
            g117 = v14;
            int64_t v24 = _3f__3f_H_40_YA_3f_AVwxString_40__40_PEB_WAEBV0_40__40_Z(&v13, (int16_t *)&g11, result); // 0x180001a3a
            g114 = v24;
            g119 = v24;
            g117 = result;
            g114 = _3f__3f_4wxString_40__40_QEAAAEAV0_40_AEBV0_40__40_Z(result, v24);
            g117 = v14;
            g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v14, v24, result);
        } else {
            // 0x1800019fb
            g119 = (int64_t)L"//";
            g117 = v14;
            int64_t v25 = _3f__3f_H_40_YA_3f_AVwxString_40__40_PEB_WAEBV0_40__40_Z(&v13, L"//", result); // 0x180001a0a
            g114 = v25;
            g119 = v25;
            g117 = result;
            g114 = _3f__3f_4wxString_40__40_QEAAAEAV0_40_AEBV0_40__40_Z(result, v25);
            g117 = v14;
            g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v14, v25, result);
        }
    }
    int64_t v26 = *(int64_t *)*(int64_t *)0x180019bf8; // 0x180001a60
    g112 = 2;
    g119 = v14;
    g117 = result;
    int64_t v27 = _3f_Mid_40_wxString_40__40_QEBA_3f_AV1_40__K0_40_Z(result, &v13, 2, v26); // 0x180001a71
    g114 = v27;
    int64_t v28 = g120; // 0x180001a78
    g119 = v28;
    g112 = 0;
    g117 = v27;
    int64_t v29 = _3f_Find_40_wxString_40__40_QEBAH_W_N_40_Z(v27, v28, 0); // 0x180001a80
    g114 = v29;
    g116 = g116 & -256 | (int64_t)((int32_t)v29 == -1);
    g117 = v14;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v14, v28, 0);
    if ((char)g116 != 0) {
        int64_t v30 = g120; // 0x180001a9b
        g119 = v30;
        g117 = result;
        g114 = _3f__3f_6wxString_40__40_QEAAAEAV0_40__W_40_Z(result, v30);
    }
    // 0x180001aae
    g114 = result;
    g116 = v2;
    g120 = v3;
    return result;
}
 
// Address range: 0x180001ad0 - 0x180001dbc
// Demangled:     public: virtual wxInternetFSHandler::OpenFile
int64_t _3f_OpenFile_40_wxInternetFSHandler_40__40_UEAAPEAVwxFSFile_40__40_AEAVwxFileSystem_40__40_AEBVwxString_40__40__40_Z(void) {
    int64_t v1 = g120; // 0x180001ad3
    int64_t v2 = g116; // 0x180001ae7
    int64_t v3; // bp-1096
    int64_t v4 = g61 ^ (int64_t)&v3; // 0x180001af6
    g114 = v4;
    int64_t v5 = g112; // 0x180001b01
    g108 = v5;
    g120 = 0;
    g119 = v5;
    int64_t v6; // bp-848
    int64_t v7 = &v6; // 0x180001b0d
    g117 = v7;
    int64_t v8 = function_1800018c0(&v6, v5); // 0x180001b14
    g114 = v8;
    g116 = v8;
    int64_t v9 = g108; // 0x180001b1c
    g119 = v9;
    int64_t v10; // bp-792
    int64_t v11 = &v10; // 0x180001b1f
    g117 = v11;
    int64_t v12 = _3f_GetProtocol_40_wxFileSystemHandler_40__40_KA_3f_AVwxString_40__40_AEBV2_40__40_Z(&v10, v9); // 0x180001b27
    g114 = v12;
    g112 = (int64_t)&g13;
    g119 = v12;
    int64_t v13; // bp-904
    int64_t v14 = &v13; // 0x180001b38
    g117 = v14;
    int64_t v15 = _3f__3f_H_40_YA_3f_AVwxString_40__40_AEBV0_40_PEB_W_40_Z(&v13, v12, (int64_t *)&g13); // 0x180001b40
    g114 = v15;
    int64_t v16 = g116; // 0x180001b47
    g112 = v16;
    g119 = v15;
    int64_t v17; // bp-736
    int64_t v18 = &v17; // 0x180001b4d
    g117 = v18;
    g114 = _3f__3f_H_40_YA_3f_AVwxString_40__40_AEBV0_40_0_40_Z(&v17, v15, v16);
    g117 = v14;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v14, v15, g112);
    g117 = v11;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v11, v15, g112);
    g117 = v7;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v7, v15, g112);
    g119 = v18;
    int64_t v19; // bp-568
    int64_t v20 = &v19; // 0x180001b90
    g117 = v20;
    g114 = _3f__3f_0wxURL_40__40_QEAA_40_AEBVwxString_40__40__40_Z(v20, &v17);
    int64_t v21;
    int32_t v22;
    if (v22 != (int32_t)g120) {
        goto lab_0x180001d76;
    } else {
        // 0x180001bab
        g117 = v20;
        int64_t v23 = _3f_GetInputStream_40_wxURL_40__40_QEAAPEAVwxInputStream_40__40_XZ(&v19, g119, g112); // 0x180001bb3
        g114 = v23;
        g116 = v23;
        int64_t v24;
        int64_t v25 = *(int64_t *)v24; // 0x180001bc3
        g112 = v25;
        int64_t v26; // bp-624
        int64_t v27 = &v26; // 0x180001bc6
        g119 = v27;
        if (v23 == 0) {
            // 0x180001d67
            g117 = v27;
            g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v27, v27, v25);
            goto lab_0x180001d76;
        } else {
            // 0x180001bdc
            g119 = (int64_t)L"wxhtml";
            int64_t v28; // bp-960
            int64_t v29 = &v28; // 0x180001be3
            g117 = v29;
            g114 = _3f__3f_0wxString_40__40_QEAA_40_PEB_W_40_Z(&v28, (int64_t)L"wxhtml", v25);
            g119 = v29;
            int64_t v30; // bp-680
            int64_t v31 = &v30; // 0x180001bfa
            g117 = v31;
            int64_t v32 = _3f_CreateTempFileName_40_wxFileName_40__40_SA_3f_AVwxString_40__40_AEBV2_40__40_Z(&v30, &v28); // 0x180001c02
            g114 = v32;
            g117 = v29;
            g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v29, v29, g112);
            g119 = v31;
            int64_t v33; // bp-1016
            int64_t v34 = &v33; // 0x180001c1f
            g117 = v34;
            g114 = _3f__3f_0wxFileOutputStream_40__40_QEAA_40_AEBVwxString_40__40__40_Z(&v33, &v30);
            g119 = v34;
            g117 = v23;
            g114 = _3f_Read_40_wxInputStream_40__40_QEAAAEAV1_40_AEAVwxOutputStream_40__40__40_Z(v23, &v33);
            g117 = v34;
            g114 = _3f__3f_1wxFileOutputStream_40__40_UEAA_40_XZ(&v33);
            int64_t v35 = g120 + 1; // 0x180001c48
            g119 = v35;
            g117 = 200;
            int64_t v36 = function_18001323c(200, v35); // 0x180001c57
            g114 = v36;
            int64_t v37 = v36; // rbp
            if (v36 == 0) {
                // 0x180001d13
                v37 = g120;
            } else {
                // 0x180001c6d
                g117 = 128;
                int64_t v38 = function_18001323c(128, g119); // 0x180001c72
                g114 = v38;
                int64_t v39 = v38; // rdi
                if (v38 == 0) {
                    // 0x180001cb5
                    v39 = g120;
                } else {
                    // 0x180001c84
                    g119 = v31;
                    g117 = v38;
                    _3f__3f_0wxFileInputStream_40__40_QEAA_40_AEBVwxString_40__40__40_Z(v38, &v30);
                    g114 = &g10;
                    *(int64_t *)v39 = (int64_t)&g10;
                    int64_t v40 = v39 + 72; // 0x180001ca0
                    g117 = v40;
                    g119 = v31;
                    g114 = _3f__3f_0wxString_40__40_QEAA_40_AEBV0_40__40_Z(v40, v31);
                }
                // 0x180001cb8
                g119 = g108;
                g117 = v34;
                int64_t v41 = _3f_GetAnchor_40_wxFileSystemHandler_40__40_KA_3f_AVwxString_40__40_AEBV2_40__40_Z(&v33, g108); // 0x180001cc0
                g114 = v41;
                g116 = v41;
                g120 = 1;
                int64_t v42; // bp-1024
                g117 = &v42;
                int64_t v43 = _3f_Now_40_wxDateTime_40__40_SA_3f_AV1_40_XZ(&v42); // 0x180001cd7
                g114 = v43;
                int64_t v44 = *(int64_t *)v43; // 0x180001cdd
                g112 = v18;
                g119 = v39;
                g117 = v37;
                int64_t v45 = _3f__3f_0wxFSFile_40__40_QEAA_40_PEAVwxInputStream_40__40_AEBVwxString_40__40_11VwxDateTime_40__40__40_Z(v37, v39, &v17, &v26, g116, v44); // 0x180001d00
                g114 = v45;
                *(int64_t *)v37 = (int64_t)&g12;
            }
            if ((g120 & 1) != 0) {
                // 0x180001d1c
                g117 = v34;
                g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v34, g119, g112);
            }
            // 0x180001d28
            g117 = v31;
            g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v31, g119, g112);
            g117 = v27;
            g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v27, g119, g112);
            g117 = v20;
            g114 = _3f__3f_1wxURL_40__40_UEAA_40_XZ(&v19);
            g117 = v18;
            g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v18, g119, g112);
            v21 = v37;
            goto lab_0x180001d94;
        }
    }
  lab_0x180001d76:
    // 0x180001d76
    g117 = v20;
    g114 = _3f__3f_1wxURL_40__40_UEAA_40_XZ(&v19);
    g117 = v18;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v18, g119, g112);
    v21 = 0;
    goto lab_0x180001d94;
  lab_0x180001d94:
    // 0x180001d94
    g114 = v21;
    int64_t v46 = g121 ^ v4; // 0x180001d9c
    g117 = v46;
    __security_check_cookie(v46);
    g114 = &g122;
    g116 = v2;
    g120 = v1;
    return &g122;
}
 
// Address range: 0x180001dc0 - 0x180001df0
int64_t function_180001dc0(int64_t a1, int64_t a2) {
    // 0x180001dc0
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x180001dc0
    g116 = g119;
    int64_t result = g117; // rdi
    g114 = _3f__3f_1wxFSFile_40__40_UEAA_40_XZ();
    if ((g116 & 1) != 0) {
        g117 = result;
        g114 = function_18001310e(result);
    }
    g114 = result;
    g116 = v1;
    return result;
}
 
// Address range: 0x180001df0 - 0x180001e4f
int64_t function_180001df0(int64_t a1) {
    // 0x180001df0
    g117 = a1;
    int64_t v1 = g116; // 0x180001dff
    int64_t v2 = g117; // 0x180001e04
    g117 = 16;
    int64_t v3 = function_18001323c(16, g119); // 0x180001e0c
    g114 = v3;
    g116 = v3;
    int64_t v4; // 0x180001e35
    if (v3 == 0) {
        // 0x180001e33
        g116 = 0;
        v4 = 0;
    } else {
        // 0x180001e1e
        g117 = v3;
        g114 = _3f__3f_0wxFileSystemHandler_40__40_QEAA_40_XZ(v3);
        *(int64_t *)g116 = (int64_t)&g9;
        v4 = g116;
    }
    // 0x180001e35
    *(int64_t *)(v2 + 80) = v4;
    int64_t v5 = g116; // 0x180001e39
    g117 = v5;
    int64_t result = _3f_AddHandler_40_wxFileSystem_40__40_SAXPEAVwxFileSystemHandler_40__40__40_Z(v5) & -256 | 1; // 0x180001e42
    g114 = result;
    g116 = v1;
    return result;
}
 
// Address range: 0x180001e50 - 0x180001e77
int64_t function_180001e50(int64_t a1) {
    // 0x180001e50
    g117 = a1;
    int64_t v1 = *(int64_t *)(g117 + 80); // 0x180001e54
    g117 = v1;
    int64_t result = _3f_RemoveHandler_40_wxFileSystem_40__40_SAPEAVwxFileSystemHandler_40__40_PEAV2_40__40_Z(v1); // 0x180001e58
    g114 = result;
    if (result != 0) {
        // 0x180001e63
        g112 = *(int64_t *)result;
        g119 = 1;
        g117 = result;
    }
    // 0x180001e72
    return result;
}
 
// Address range: 0x180001e80 - 0x180001e88
int64_t function_180001e80(void) {
    // 0x180001e80
    g114 = &g64;
    return &g64;
}
 
// Address range: 0x180001e90 - 0x180001ede
int64_t function_180001e90(void) {
    int64_t v1 = g116; // 0x180001e90
    g117 = 88;
    int64_t v2 = function_18001323c(88, g119); // 0x180001ea4
    g114 = v2;
    g116 = v2;
    int64_t result;
    if (v2 == 0) {
        result = 0;
    } else {
        // 0x180001eb6
        g117 = v2;
        g114 = _3f__3f_0wxModule_40__40_QEAA_40_XZ(v2);
        *(int64_t *)g116 = (int64_t)&g14;
        *(int64_t *)(g116 + 80) = 0;
        result = g116;
    }
    // 0x180001ed8
    g114 = result;
    g116 = v1;
    return result;
}
 
// Address range: 0x180001ee0 - 0x180001f09
// Demangled:     public: wxSocketEvent::wxSocketEvent
int64_t _3f__3f_0wxSocketEvent_40__40_QEAA_40_H_40_Z(int64_t a1) {
    // 0x180001ee0
    g117 = a1;
    int64_t v1 = g116; // 0x180001ee0
    uint32_t v2 = *(int32_t *)0x18002eef0; // 0x180001ee6
    g112 = v2;
    g116 = a1;
    _3f__3f_0wxEvent_40__40_QEAA_40_HH_40_Z(a1, g119, v2);
    int64_t v3 = g116; // 0x180001efd
    g114 = v3;
    *(int64_t *)v3 = (int64_t)&g8;
    g116 = v1;
    return g114;
}
 
// Address range: 0x180001f10 - 0x180001f74
// Demangled:     public: virtual wxSocketEvent::Clone
int64_t _3f_Clone_40_wxSocketEvent_40__40_UEBAPEAVwxEvent_40__40_XZ(int64_t a1) {
    // 0x180001f10
    g117 = a1;
    int64_t v1 = g116; // 0x180001f1f
    int64_t v2 = g117; // rdi
    g117 = 96;
    int64_t v3 = function_18001323c(96, g119); // 0x180001f2c
    g114 = v3;
    g116 = v3;
    int64_t result;
    if (v3 == 0) {
        result = 0;
    } else {
        // 0x180001f3e
        g119 = v2;
        g117 = v3;
        g114 = _3f__3f_0wxEvent_40__40_IEAA_40_AEBV0_40__40_Z(v3, v2);
        *(int64_t *)g116 = (int64_t)&g8;
        uint32_t v4 = *(int32_t *)(v2 + 80); // 0x180001f54
        g117 = v4;
        *(int32_t *)(g116 + 80) = v4;
        int64_t v5 = *(int64_t *)(v2 + 88); // 0x180001f5a
        g117 = v5;
        *(int64_t *)(g116 + 88) = v5;
        result = g116;
    }
    // 0x180001f69
    g114 = result;
    g116 = v1;
    return result;
}
 
// Address range: 0x180001f80 - 0x180001fa8
// Demangled:     public: wxSocketEvent::`default constructor closure'
int64_t _3f__3f__FwxSocketEvent_40__40_QEAAXXZ(int64_t a1, int64_t a2) {
    // 0x180001f80
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x180001f80
    uint32_t v2 = *(int32_t *)0x18002eef0; // 0x180001f86
    g112 = v2;
    g119 = 0;
    g116 = a1;
    g114 = _3f__3f_0wxEvent_40__40_QEAA_40_HH_40_Z(a1, 0, v2);
    *(int64_t *)g116 = (int64_t)&g8;
    g116 = v1;
    return g114;
}
 
// Address range: 0x180001fb0 - 0x180002023
int64_t function_180001fb0(int64_t a1) {
    // 0x180001fb0
    g117 = a1;
    int64_t v1 = g116; // 0x180001fc3
    int64_t v2 = g117; // 0x180001fc8
    g114 = &g10;
    *(int64_t *)v2 = (int64_t)&g10;
    int64_t v3 = g117; // 0x180001fd5
    if (*(char *)(v3 + 64) != 0) {
        int64_t v4 = *(int64_t *)(v3 + 56); // 0x180001fdb
        g116 = v4;
        if (v4 != 0) {
            // 0x180001fe4
            g117 = v4;
            g114 = _3f_Close_40_wxFile_40__40_QEAA_NXZ(v4);
            g117 = v4;
            g114 = function_18001310e(v4);
        }
        // 0x180001ff5
        *(char *)(v2 + 64) = 0;
    }
    int64_t v5 = v2 + 72; // 0x180001ff9
    g117 = v5;
    g114 = _3f_wxRemoveFile_40__40_YA_NAEBVwxString_40__40__40_Z(v5);
    int64_t v6 = v2 + 72; // 0x180002004
    g117 = v6;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v6, g119, g112);
    g117 = v2;
    g116 = v1;
    int64_t result = _3f__3f_1wxFileInputStream_40__40_UEAA_40_XZ(v2); // 0x18000201c
    g114 = result;
    return result;
}
 
// Address range: 0x180002060 - 0x180002196
// Demangled:     public: virtual wxInternetFSHandler::CanOpen
int64_t _3f_CanOpen_40_wxInternetFSHandler_40__40_UEAA_NAEBVwxString_40__40__40_Z(void) {
    int64_t v1 = g116; // 0x180002060
    int64_t v2; // bp-824
    int64_t v3 = g61 ^ (int64_t)&v2; // 0x180002079
    g114 = v3;
    int64_t v4 = g119; // 0x180002084
    g116 = v4;
    int64_t v5; // bp-616
    int64_t v6 = &v5; // 0x180002087
    g117 = v6;
    int64_t v7 = _3f_GetProtocol_40_wxFileSystemHandler_40__40_KA_3f_AVwxString_40__40_AEBV2_40__40_Z(&v5, v4); // 0x18000208f
    g114 = v7;
    g119 = (int64_t)L"http";
    g117 = v6;
    int64_t v8 = _3f_Cmp_40_wxString_40__40_QEBAHPEB_W_40_Z(&v5, L"http"); // 0x1800020a5
    g114 = v8;
    int64_t v9;
    if ((int32_t)v8 == 0) {
        goto lab_0x1800020dd;
    } else {
        // 0x1800020af
        g119 = (int64_t)L"ftp";
        g117 = v6;
        int64_t v10 = _3f_Cmp_40_wxString_40__40_QEBAHPEB_W_40_Z(&v5, L"ftp"); // 0x1800020be
        g114 = v10;
        if ((int32_t)v10 == 0) {
            goto lab_0x1800020dd;
        } else {
            // 0x1800020c8
            g117 = v6;
            int64_t v11 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v6, (int64_t)L"ftp", g112); // 0x1800020d0
            g114 = v11;
            v9 = v11 & -256;
            goto lab_0x18000217d;
        }
    }
  lab_0x1800020dd:;
    int64_t v12 = g116; // 0x1800020dd
    g119 = v12;
    int64_t v13; // bp-672
    int64_t v14 = &v13; // 0x1800020e0
    g117 = v14;
    int64_t v15 = function_1800018c0(&v13, v12); // 0x1800020e8
    g114 = v15;
    g116 = v15;
    g112 = (int64_t)&g13;
    g119 = v6;
    int64_t v16; // bp-728
    int64_t v17 = &v16; // 0x1800020ff
    g117 = v17;
    int64_t v18 = _3f__3f_H_40_YA_3f_AVwxString_40__40_AEBV0_40_PEB_W_40_Z(&v16, v6, (int64_t *)&g13); // 0x180002104
    g114 = v18;
    int64_t v19 = g116; // 0x18000210b
    g112 = v19;
    g119 = v18;
    int64_t v20; // bp-784
    int64_t v21 = &v20; // 0x180002111
    g117 = v21;
    int64_t v22 = _3f__3f_H_40_YA_3f_AVwxString_40__40_AEBV0_40_0_40_Z(&v20, v18, v19); // 0x180002116
    g114 = v22;
    g119 = v22;
    int64_t v23; // bp-552
    int64_t v24 = &v23; // 0x180002120
    g117 = v24;
    g114 = _3f__3f_0wxURL_40__40_QEAA_40_AEBVwxString_40__40__40_Z(v24, (int64_t *)v22);
    g117 = v21;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v21, v22, v19);
    g117 = v17;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v17, v22, v19);
    g117 = v14;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v14, v22, v19);
    int32_t v25;
    g116 = g116 & -256 | (int64_t)(v25 == 0);
    g117 = v24;
    g114 = _3f__3f_1wxURL_40__40_UEAA_40_XZ(&v23);
    g117 = v6;
    int64_t v26 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v6, v22, v19); // 0x180002175
    g114 = v26;
    v9 = g116 | v26 & -256;
    goto lab_0x18000217d;
  lab_0x18000217d:
    // 0x18000217d
    g114 = v9;
    int64_t v27 = g121 ^ v3; // 0x180002185
    g117 = v27;
    __security_check_cookie(v27);
    g114 = &g122;
    g116 = v1;
    return &g122;
}
 
// Address range: 0x1800021a0 - 0x1800021a5
// Demangled:     protected: virtual wxSocketInputStream::OnSysSeek
int64_t _3f_OnSysSeek_40_wxSocketInputStream_40__40_MEAA_J_JW4wxSeekMode_40__40__40_Z(void) {
    // 0x1800021a0
    g114 = -1;
    return -1;
}
 
// Address range: 0x1800021b0 - 0x1800021b7
// Demangled:     public: wxFTP::SetPassive
int64_t _3f_SetPassive_40_wxFTP_40__40_QEAAX_N_40_Z(int64_t a1, int64_t a2) {
    // 0x1800021b0
    g119 = a2;
    g117 = a1;
    *(char *)(a1 + 456) = (char)a2;
    return g114;
}
 
// Address range: 0x1800021c0 - 0x1800021ed
// Demangled:     public: virtual wxFTP::GetContentType
int64_t _3f_GetContentType_40_wxFTP_40__40_UEBA_3f_AVwxString_40__40_XZ(void) {
    int64_t v1 = g116; // 0x1800021c0
    int64_t v2 = g119; // 0x1800021c6
    g116 = v2;
    int64_t v3 = *(int64_t *)0x180019b50; // 0x1800021c9
    g119 = v3;
    int64_t v4 = *(int64_t *)v3; // 0x1800021d8
    g119 = v4;
    g117 = v2;
    _3f__3f_0wxString_40__40_QEAA_40_PEB_W_40_Z((int64_t *)v2, v4, g112);
    int64_t result = g116; // 0x1800021e4
    g114 = result;
    g116 = v1;
    return result;
}
 
// Address range: 0x1800021f0 - 0x1800021f8
// Demangled:     public: wxFTP::GetLastResult
int64_t _3f_GetLastResult_40_wxFTP_40__40_QEBAAEBVwxString_40__40_XZ(int64_t a1) {
    // 0x1800021f0
    g117 = a1;
    int64_t result = a1 + 392; // 0x1800021f0
    g114 = result;
    return result;
}
 
// Address range: 0x180002200 - 0x180002208
// Demangled:     public: virtual wxFTP::GetClassInfo
int64_t _3f_GetClassInfo_40_wxFTP_40__40_UEBAPEAVwxClassInfo_40__40_XZ(void) {
    // 0x180002200
    g114 = 0x18002e990;
    return 0x18002e990;
}
 
// Address range: 0x180002210 - 0x180002310
// Demangled:     public: wxFTP::wxFTP
int64_t _3f__3f_0wxFTP_40__40_QEAA_40_XZ(int64_t a1) {
    // 0x180002210
    g117 = a1;
    int64_t v1;
    g114 = &v1;
    int64_t v2 = g116; // 0x180002228
    int64_t v3 = g120; // 0x18000222c
    g118 = a1;
    _3f__3f_0wxProtocol_40__40_QEAA_40_XZ(a1, g119);
    g114 = &g15;
    *(int64_t *)g118 = (int64_t)&g15;
    int64_t v4 = g118 + 392; // 0x180002243
    g117 = v4;
    g114 = _3f__3f_0wxString_40__40_QEAA_40_XZ(v4);
    *(char *)(g118 + 448) = 0;
    *(int32_t *)(g118 + 452) = 0;
    int64_t v5 = g118 + 264; // 0x180002262
    g117 = v5;
    g119 = (int64_t)L"anonymous";
    g114 = _3f__3f_4wxString_40__40_QEAAAEAV0_40_PEB_W_40_Z(v5, L"anonymous");
    int64_t v6; // bp-72
    int64_t v7 = &v6; // 0x180002276
    g117 = v7;
    int64_t v8 = _3f_wxGetFullHostName_40__40_YA_3f_AVwxString_40__40_XZ(&v6); // 0x18000227b
    g114 = v8;
    g116 = v8;
    int64_t v9; // bp-128
    int64_t v10 = &v9; // 0x180002284
    g117 = v10;
    int64_t v11 = _3f_wxGetUserId_40__40_YA_3f_AVwxString_40__40_XZ(&v9); // 0x180002289
    g114 = v11;
    g120 = 64;
    int64_t v12 = g118 + 320; // 0x180002295
    g117 = v12;
    g119 = v11;
    int64_t v13 = _3f__3f_6wxString_40__40_QEAAAEAV0_40_AEBV0_40__40_Z(v12, v11); // 0x18000229f
    g114 = v13;
    g117 = v13;
    int64_t v14 = g120; // 0x1800022a8
    g119 = v14;
    int64_t v15 = _3f__3f_6wxString_40__40_QEAAAEAV0_40__W_40_Z(v13, v14); // 0x1800022ab
    g114 = v15;
    g117 = v15;
    int64_t v16 = g116; // 0x1800022b4
    g119 = v16;
    int64_t v17 = 0x100000000 * v16 / 0x100000000; // 0x1800022b7
    g114 = _3f__3f_6wxString_40__40_QEAAAEAV0_40_AEBV0_40__40_Z(v15, v17);
    g117 = v10;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v10, v17, g112);
    g117 = v7;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v7, v17, g112);
    g119 = 0;
    g117 = g118;
    g114 = _3f_SetNotify_40_wxSocketBase_40__40_QEAAXH_40_Z(g118, 0);
    int64_t v18 = g120 - 61; // 0x1800022df
    g119 = v18;
    g117 = g118;
    _3f_SetFlags_40_wxSocketBase_40__40_QEAAXH_40_Z(g118, v18);
    *(char *)(g118 + 456) = 1;
    *(char *)(g118 + 457) = 0;
    g114 = g118;
    g116 = v2;
    g120 = v3;
    return g118;
}
 
// Address range: 0x180002310 - 0x18000241c
// Demangled:     public: virtual wxFTP::Connect
int64_t _3f_Connect_40_wxFTP_40__40_UEAA_NAEBVwxString_40__40_G_40_Z(int64_t a1, int64_t a2, int64_t a3) {
    // 0x180002310
    g112 = a3;
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x180002310
    int64_t v2 = g120; // 0x180002312
    int64_t v3; // bp-216
    int64_t v4 = g61 ^ (int64_t)&v3; // 0x18000232b
    g114 = v4;
    g118 = a3;
    g116 = g119;
    g120 = g117;
    int32_t v5; // bp-120
    int64_t v6 = &v5; // 0x180002340
    g117 = v6;
    _3f__3f_0wxSockAddress_40__40_QEAA_40_XZ(v6);
    g114 = &g6;
    v5 = &g6;
    int64_t v7; // bp-96
    int64_t v8 = &v7; // 0x180002357
    g117 = v8;
    _3f__3f_0wxString_40__40_QEAA_40_XZ(v8);
    g114 = &g7;
    v5 = &g7;
    int64_t v9 = g116; // 0x18000236f
    g119 = v9;
    g117 = v6;
    g114 = _3f_Hostname_40_wxIPaddress_40__40_QEAA_NAEBVwxString_40__40__40_Z(v6, v9);
    int64_t v10 = g118; // 0x18000237c
    if ((int16_t)v10 == 0) {
        // 0x180002390
        g119 = (int64_t)L"ftp";
        int64_t v11; // bp-176
        int64_t v12 = &v11; // 0x180002397
        g117 = v12;
        g114 = _3f__3f_0wxString_40__40_QEAA_40_PEB_W_40_Z(&v11, (int64_t)L"ftp", a3);
        g119 = v12;
        g117 = v6;
        int64_t v13 = _3f_Service_40_wxIPaddress_40__40_QEAA_NAEBVwxString_40__40__40_Z((int64_t *)&v5, &v11); // 0x1800023ad
        g114 = v13;
        g116 = g116 & -256 | (int64_t)((char)v13 == 0);
        g117 = v12;
        g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v12, v12, a3);
        if ((char)g116 != 0) {
            // 0x1800023c6
            g119 = 21;
            g117 = v6;
            g114 = _3f_Service_40_wxIPaddress_40__40_QEAA_NG_40_Z((int64_t *)&v5, 21);
        }
    } else {
        // 0x180002381
        g119 = v10;
        g117 = v6;
        g114 = _3f_Service_40_wxIPaddress_40__40_QEAA_NG_40_Z((int64_t *)&v5, v10);
    }
    int64_t v14 = g117; // 0x1800023d5
    g114 = v14;
    int64_t v15 = a3 & -256 | 1; // 0x1800023d8
    g112 = v15;
    g119 = v6;
    g116 = v14;
    g117 = v8;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v8, v6, v15);
    g117 = v6;
    g114 = g116 | _3f__3f_1wxSockAddress_40__40_UEAA_40_XZ(v6) & -256;
    int64_t v16 = g121 ^ v4; // 0x180002409
    g117 = v16;
    __security_check_cookie(v16);
    g114 = &g122;
    g120 = v2;
    g116 = v1;
    return &g122;
}
 
// Address range: 0x180002420 - 0x180002454
int64_t function_180002420(int64_t a1, int64_t a2, int64_t a3) {
    // 0x180002420
    g112 = a3;
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x180002420
    g116 = g119;
    int64_t v2 = g112; // 0x18000242d
    g119 = v2;
    g118 = a1;
    _3f__3f_0wxSocketInputStream_40__40_QEAA_40_AEAVwxSocketBase_40__40__40_Z(a1, v2);
    *(int64_t *)(g118 + 64) = g116;
    g116 = v1;
    *(int64_t *)g118 = (int64_t)&g16;
    g114 = g118;
    return g118;
}
 
// Address range: 0x180002460 - 0x1800024a8
int64_t function_180002460(int64_t a1, int64_t a2) {
    // 0x180002460
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x180002460
    int64_t v2 = g120; // 0x180002465
    int64_t size = g119 + 1; // 0x18000246f
    g120 = g117;
    g117 = size;
    int64_t * mem = malloc((int32_t)size); // 0x180002479
    int64_t v3 = (int64_t)mem; // 0x180002479
    g114 = v3;
    g116 = v3;
    int64_t result; // 0x180002495
    if (mem != NULL) {
        // 0x180002487
        g112 = size;
        int64_t v4 = g120; // 0x18000248a
        g119 = v4;
        g117 = v3;
        memcpy(mem, (int64_t *)v4, (int32_t)size);
        result = g116;
        g114 = result;
    } else {
        result = v3;
    }
    // 0x180002498
    g116 = v1;
    g120 = v2;
    return result;
}
 
// Address range: 0x1800024b0 - 0x1800024e3
// Demangled:     public: static wxFTP::wxCreateObject
int64_t _3f_wxCreateObject_40_wxFTP_40__40_SAPEAVwxObject_40__40_XZ(void) {
    // 0x1800024b0
    g117 = 464;
    int64_t v1 = function_18001323c(464, g119); // 0x1800024c2
    g114 = v1;
    int64_t v2 = 0x100000000 * v1;
    int64_t result;
    if (v2 == 0) {
        result = 0;
    } else {
        int64_t v3 = v2 / 0x100000000; // 0x1800024d1
        g117 = v3;
        result = _3f__3f_0wxFTP_40__40_QEAA_40_XZ(v3);
    }
    // 0x1800024de
    g114 = result;
    return result;
}
 
// Address range: 0x1800024f0 - 0x18000256d
int64_t function_1800024f0(int32_t * a1, int64_t a2, int64_t a3, int64_t a4) {
    // 0x1800024f0
    g113 = a4;
    g112 = a3;
    g119 = a2;
    g117 = (int64_t)a1;
    int64_t v1;
    g114 = &v1;
    int64_t v2 = a3; // bp+24
    int64_t v3 = g116; // 0x1800024ff
    int64_t v4 = g120; // 0x180002500
    int64_t v5 = g117; // 0x180002512
    int64_t v6 = &v2; // 0x180002515
    g120 = v6;
    int64_t v7; // bp-144
    int64_t v8 = &v7; // 0x180002519
    g117 = v8;
    g114 = _3f__3f_0wxString_40__40_QEAA_40_PEB_W_40_Z(&v7, a2, a3);
    g116 = (int64_t)*(int32_t *)&g117;
    g112 = v6;
    g119 = v8;
    int64_t v9; // bp-88
    int64_t v10 = &v9; // 0x18000252f
    g117 = v10;
    int64_t v11 = _3f_FormatV_40_wxString_40__40_SA_3f_AV1_40_AEBV1_40_PEAD_40_Z(&v9, &v7, &v2); // 0x180002534
    g114 = v11;
    int64_t v12 = v5 + 8; // 0x18000253b
    g112 = v12;
    g119 = v11;
    int64_t v13 = g116; // 0x180002542
    g117 = v13;
    g114 = _3f_OnLog_40_wxLog_40__40_SAXKAEBVwxString_40__40_AEBVwxLogRecordInfo_40__40__40_Z(v13, v11, v12);
    g117 = v10;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v10, v11, v12);
    g117 = v8;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v8, v11, v12); // 0x18000255c
    g114 = result;
    g120 = v4;
    g116 = v3;
    return result;
}
 
// Address range: 0x180002570 - 0x1800025af
int64_t function_180002570(int64_t a1) {
    // 0x180002570
    g117 = a1;
    int64_t v1 = g116; // 0x180002570
    int64_t v2 = *(int64_t *)(g117 + 48); // 0x18000257f
    g116 = v2;
    int64_t result; // 0x1800025ae
    if (v2 == 0) {
        // 0x180002570
        result = g114;
    } else {
        int64_t v3 = v2 + 32; // 0x18000258d
        g117 = v3;
        g114 = _3f__3f_1wxStringToStringHashMap_40__40_QEAA_40_XZ(v3);
        g117 = v2;
        g114 = _3f__3f_1wxStringToNumHashMap_40__40_QEAA_40_XZ(v2);
        g117 = v2;
        int64_t v4 = function_18001310e(v2); // 0x1800025a4
        g114 = v4;
        result = v4;
    }
    // 0x1800025a9
    g116 = v1;
    return result;
}
 
// Address range: 0x1800025b0 - 0x180002601
int64_t function_1800025b0(int64_t a1) {
    // 0x1800025b0
    g117 = a1;
    int64_t v1 = g116; // 0x1800025b5
    int64_t v2 = g117; // 0x1800025c3
    g116 = v2;
    int64_t v3 = v2 + 64; // 0x1800025c6
    g117 = v3;
    int64_t v4 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v3, g119, g112); // 0x1800025ca
    g114 = v4;
    int64_t v5 = *(int64_t *)(g116 + 56); // 0x1800025d1
    g116 = v5;
    int64_t result; // 0x1800025f6
    if (v5 != 0) {
        int64_t v6 = v5 + 32; // 0x1800025df
        g117 = v6;
        g114 = _3f__3f_1wxStringToStringHashMap_40__40_QEAA_40_XZ(v6);
        g117 = v5;
        g114 = _3f__3f_1wxStringToNumHashMap_40__40_QEAA_40_XZ(v5);
        g117 = v5;
        result = function_18001310e(v5);
        g114 = result;
    } else {
        result = v4;
    }
    // 0x1800025fb
    g116 = v1;
    return result;
}
 
// Address range: 0x180002610 - 0x180002717
int64_t function_180002610(int64_t * a1, int64_t result) {
    // 0x180002610
    g119 = result;
    int64_t v1 = (int64_t)a1;
    g117 = v1;
    int64_t v2 = g116; // 0x180002610
    g118 = v1;
    int64_t v3 = _3f_GetUntypedNullData_40_wxPrivate_40__40_YAPEAUUntypedBufferData_40_1_40_XZ(v1); // 0x180002625
    g114 = v3;
    g117 = v1;
    int64_t v4; // 0x18000266b
    if (v1 != v3) {
        // 0x180002633
        g114 = 0xffff;
        int16_t * v5 = (int16_t *)(v1 + 16); // 0x180002638
        *v5 = *v5 - 1;
        int64_t v6 = g117; // 0x18000263c
        g116 = v6;
        int64_t v7; // 0x180002662
        if (*(int16_t *)(v6 + 16) == 0) {
            if (v6 != 0) {
                // 0x18000264b
                if (*(char *)(v6 + 18) != 0) {
                    // 0x180002651
                    free((int64_t *)v6);
                    g114 = &g122;
                }
                // 0x18000265a
                g117 = v6;
                g114 = function_18001310e(v6);
                v7 = g117;
            } else {
                v7 = 0;
            }
        } else {
            v7 = v6;
        }
        int64_t v8 = _3f_GetUntypedNullData_40_wxPrivate_40__40_YAPEAUUntypedBufferData_40_1_40_XZ(v7); // 0x180002662
        g114 = v8;
        *(int64_t *)g118 = v8;
        v4 = g117;
    } else {
        v4 = v1;
    }
    int64_t v9 = _3f_GetUntypedNullData_40_wxPrivate_40__40_YAPEAUUntypedBufferData_40_1_40_XZ(v4); // 0x18000266b
    g114 = v9;
    g117 = result;
    if (v9 == result) {
        int64_t v10 = _3f_GetUntypedNullData_40_wxPrivate_40__40_YAPEAUUntypedBufferData_40_1_40_XZ(result); // 0x18000267a
        g114 = v10;
        *(int64_t *)g118 = v10;
        g116 = v2;
        return g114;
    }
    // 0x180002693
    if (*(char *)(result + 18) != 0) {
        // 0x180002699
        *(int64_t *)g118 = result;
        int64_t v11 = _3f_GetUntypedNullData_40_wxPrivate_40__40_YAPEAUUntypedBufferData_40_1_40_XZ(result); // 0x18000269c
        g114 = v11;
        g117 = result;
        if (v11 == result) {
            // 0x180002707
            g116 = v2;
            return result;
        }
        int16_t * v12 = (int16_t *)(result + 16); // 0x1800026aa
        *v12 = *v12 + 1;
        g116 = v2;
        return g114;
    }
    // 0x1800026be
    g117 = 24;
    int64_t v13 = g120; // 0x1800026c3
    int64_t v14 = function_18001323c(24, result); // 0x1800026c8
    g114 = v14;
    g120 = v14;
    int64_t v15; // 0x1800026ff
    if (v14 == 0) {
        // 0x1800026fd
        g120 = 0;
        v15 = 0;
    } else {
        // 0x1800026d5
        g117 = result;
        int64_t v16 = *(int64_t *)(result + 8); // 0x1800026d9
        g116 = v16;
        g117 = result;
        g119 = v16;
        g114 = function_180002460(result, v16);
        *(int64_t *)(g120 + 8) = g116;
        *(int64_t *)g120 = g114;
        g114 = 1;
        *(int16_t *)(g120 + 16) = 1;
        *(char *)(g120 + 18) = (char)g114;
        v15 = g120;
    }
    // 0x1800026ff
    *(int64_t *)g118 = v15;
    g120 = v13;
    // 0x180002707
    g116 = v2;
    return g114;
}
 
// Address range: 0x180002720 - 0x1800027d2
int64_t function_180002720(int64_t * a1, int64_t * a2, int64_t a3) {
    // 0x180002720
    g112 = a3;
    int64_t v1 = (int64_t)a2;
    g119 = v1;
    g117 = (int64_t)a1;
    int64_t v2 = g116; // 0x180002720
    int64_t v3 = g120; // 0x180002725
    g120 = g112;
    g116 = v1;
    int64_t result = g117; // rdi
    if (a2 != NULL) {
        // 0x180002745
        g119 = 1;
        g117 = v1;
        int64_t v4 = _3f_GetArgumentType_40_wxFormatString_40__40_QEBA_3f_AW4ArgumentType_40_1_40_I_40_Z(v1, 1); // 0x18000274d
        g114 = v4;
        int64_t v5 = *(int64_t *)0x180019440; // 0x180002753
        g113 = v5;
        if (*(int64_t *)v5 != 0) {
            int32_t v6 = v4; // 0x180002762
            uint32_t v7 = v6 & 9; // 0x180002762
            g119 = v7;
            if (v7 != v6) {
                // 0x180002769
                g114 = (int64_t)"format specifier doesn't match argument type";
                g113 = (int64_t)"(argtype & (wxFormatStringSpecifier<T>::value)) == argtype";
                g112 = (int64_t)"wxArgNormalizer<int>::wxArgNormalizer";
                g117 = (int64_t)"C:\\BUILD\\wxPython-src-3.0.2.0\\include\\wx/strvararg.h";
                g119 = 456;
                g114 = _3f_wxOnAssert_40__40_YAXPEBDH000_40_Z("C:\\BUILD\\wxPython-src-3.0.2.0\\include\\wx/strvararg.h", 456, "wxArgNormalizer<int>::wxArgNormalizer", "(argtype & (wxFormatStringSpecifier<T>::value)) == argtype");
                char * v8 = (char *)*(int64_t *)0x180019430; // 0x18000279c
                if (*v8 != 0) {
                    // 0x1800027a2
                    *v8 = 0;
                    g114 = __asm_int3();
                }
            }
        }
    }
    int64_t v9 = g116; // 0x1800027a7
    g117 = v9;
    int64_t v10 = _3f__3f_BwxFormatString_40__40_QEBAPEB_WXZ(v9); // 0x1800027aa
    g114 = v10;
    int64_t v11 = g120; // 0x1800027b0
    g112 = v11;
    g117 = result;
    g119 = v10;
    _3f_DoFormatWchar_40_wxString_40__40_CA_3f_AV1_40_PEB_WZZ(result, v10, v11, g113);
    g116 = v2;
    g120 = v3;
    g114 = result;
    return result;
}
 
// Address range: 0x1800027e0 - 0x180002a04
// Demangled:     protected: wxFTP::AcceptIfActive
int64_t _3f_AcceptIfActive_40_wxFTP_40__40_IEAAPEAVwxSocketBase_40__40_PEAV2_40__40_Z(int64_t a1, int64_t a2, int64_t a3) {
    // 0x1800027e0
    g112 = a3;
    g119 = a2;
    g117 = a1;
    int64_t v1;
    g114 = &v1;
    int64_t v2 = g116; // 0x1800027f4
    int64_t v3 = g120; // 0x1800027f8
    int64_t v4 = g119; // 0x1800027fc
    g116 = v4;
    int64_t v5 = g117; // 0x1800027ff
    g120 = v5;
    int64_t result;
    if (*(char *)(v5 + 456) != 0) {
        result = v4;
        // 0x1800029ef
        g114 = result;
        g116 = v2;
        g120 = v3;
        return result;
    }
    // 0x180002813
    g118 = v4;
    g112 = 0;
    g119 = 0xffffffff;
    g117 = v4;
    int64_t v6 = _3f_WaitForAccept_40_wxSocketServer_40__40_QEAA_NJJ_40_Z(v4, -1, 0); // 0x18000281f
    g114 = v6;
    int32_t * v7 = (int32_t *)(g120 + 376); // 0x1800029c2
    if ((char)v6 != 0) {
        // 0x1800029c2
        *v7 = 0;
        g119 = -255;
        int64_t v8 = g116; // 0x1800029ce
        g117 = v8;
        int64_t v9 = _3f_Accept_40_wxSocketServer_40__40_QEAAPEAVwxSocketBase_40__40__N_40_Z(v8, -255); // 0x1800029d1
        g114 = v9;
        g116 = v9;
        if (v4 != 0) {
            // 0x1800029de
            g114 = -255;
            g119 = 1;
            g117 = v4;
            result = v9;
        } else {
            result = v9;
        }
        // 0x1800029ef
        g114 = result;
        g116 = v2;
        g120 = v3;
        return result;
    }
    // 0x18000282c
    *v7 = 3;
    g120 = (int64_t)"wx";
    g119 = (int64_t)"wx";
    int64_t v10; // bp-72
    int64_t v11 = &v10; // 0x180002840
    g117 = v11;
    int64_t v12 = _3f__3f_0wxString_40__40_QEAA_40_PEBD_40_Z(&v10, (int64_t)"wx"); // 0x180002848
    g114 = v12;
    g119 = v12;
    g117 = 1;
    int64_t v13 = _3f_IsLevelEnabled_40_wxLog_40__40_SA_NKVwxString_40__40__40_Z(1, v12); // 0x180002856
    g114 = v13;
    int64_t v14; // bp-128
    int64_t v15; // 0x18000286b
    int64_t v16; // 0x1800028a4
    if ((char)v13 == 0) {
        goto lab_0x1800029ab;
    } else {
        // 0x180002864
        g119 = (int64_t)"Timeout while waiting for FTP server to connect, try passive mode.";
        v15 = &v14;
        g117 = v15;
        int64_t v17 = _3f__3f_0wxString_40__40_QEAA_40_PEBD_40_Z(&v14, (int64_t)"Timeout while waiting for FTP server to connect, try passive mode."); // 0x180002873
        g114 = v17;
        g117 = v11;
        int64_t v18 = _3f__3f_0wxString_40__40_QEAA_40_XZ(v11); // 0x180002882
        g114 = v18;
        g118 = v18;
        int64_t v19 = _3f_Get_40_wxTranslations_40__40_SAPEAV1_40_XZ(); // 0x18000288b
        g114 = v19;
        if (v19 == 0) {
            goto lab_0x1800028af;
        } else {
            // 0x180002896
            g112 = g118;
            g119 = v15;
            g117 = v19;
            v16 = _3f_GetTranslatedString_40_wxTranslations_40__40_QEBAPEBVwxString_40__40_AEBV2_40_0_40_Z(v19, &v14, g118);
            g114 = v16;
            if (v16 != 0) {
                goto lab_0x1800028bd;
            } else {
                goto lab_0x1800028af;
            }
        }
    }
  lab_0x1800029ab:;
    int64_t v20 = g116; // 0x1800029ab
    if (v20 != 0) {
        // 0x1800029b0
        g114 = g119;
        g119 = 1;
        g117 = v20;
        g116 = 0;
        result = 0;
    } else {
        result = 0;
    }
    // 0x1800029ef
    g114 = result;
    g116 = v2;
    g120 = v3;
    return result;
  lab_0x1800028af:
    // 0x1800028af
    g117 = v15;
    int64_t v21 = _3f_GetUntranslatedString_40_wxTranslations_40__40_SAAEBVwxString_40__40_AEBV2_40__40_Z(&v14); // 0x1800028b7
    g114 = v21;
    v16 = v21;
    goto lab_0x1800028bd;
  lab_0x1800028bd:
    // 0x1800028bd
    g119 = v16;
    int64_t v22; // bp-168
    int64_t v23 = &v22; // 0x1800028c0
    g117 = v23;
    _3f__3f_0wxFormatString_40__40_QEAA_40_AEBVwxString_40__40__40_Z(&v22, v16);
    int32_t v24 = 1; // bp-288
    g114 = (int64_t)"wxFTP::AcceptIfActive";
    g117 = 0;
    g114 = _time64(NULL);
    g114 = _3f_GetCurrentId_40_wxThread_40__40_SAKXZ();
    int64_t v25; // bp-224
    int64_t v26 = &v25; // 0x18000291c
    g117 = v26;
    g114 = _3f__3f_0wxString_40__40_QEAA_40_XZ(v26);
    g117 = v23;
    int64_t v27 = _3f__3f_BwxFormatString_40__40_QEBAPEB_WXZ(v23); // 0x180002930
    g114 = v27;
    g119 = v27;
    g117 = &v24;
    g114 = function_1800024f0(&v24, v27, g112, g113);
    g117 = v26;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v26, g119, g112);
    g117 = v23;
    g114 = _3f__3f_1wxFormatString_40__40_QEAA_40_XZ(&v22);
    g117 = v11;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v11, g119, g112);
    g117 = v15;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v15, g119, g112);
    goto lab_0x1800029ab;
}
 
// Address range: 0x180002a10 - 0x180002e09
// Demangled:     protected: wxFTP::GetResult
int64_t _3f_GetResult_40_wxFTP_40__40_IEAADXZ(int64_t a1) {
    // 0x180002a10
    g117 = a1;
    int64_t v1 = g120; // 0x180002a13
    int64_t v2 = g108; // 0x180002a15
    int64_t v3 = g109; // 0x180002a17
    int64_t v4 = g110; // 0x180002a19
    int64_t v5 = g116; // 0x180002a2b
    int64_t v6; // bp-424
    int64_t v7 = g61 ^ (int64_t)&v6; // 0x180002a3a
    g114 = v7;
    int64_t v8 = g117; // 0x180002a45
    g120 = v8;
    int64_t v9; // bp-160
    int64_t v10; // bp-216
    int64_t v11; // bp-392
    int64_t v12; // 0x180002a58
    int64_t v13; // 0x180002a8b
    int64_t v14; // 0x180002b2b
    int64_t v15; // 0x180002b5e
    int64_t v16; // 0x180002cc0
    if (*(char *)(v8 + 457) == 0) {
        // 0x180002a58
        int64_t v17; // bp-104
        v12 = &v17;
        g117 = v12;
        g114 = _3f__3f_0wxString_40__40_QEAA_40_XZ(v12);
        int64_t v18 = g120 + 392; // 0x180002a67
        g117 = v18;
        g114 = _3f_clear_40_wxString_40__40_QEAAXXZ(v18);
        int64_t v19 = g118 & -256; // 0x180002a74
        g118 = v19;
        g108 = g108 & -256 | 1;
        g116 &= -256;
        g110 = 1;
        v13 = &v9;
        v14 = &v11;
        v15 = &v10;
        while (true) {
            if ((char)v19 != 0) {
                // break -> 0x180002c60
                break;
            }
            // 0x180002a8b
            g117 = v13;
            g114 = _3f__3f_0wxString_40__40_QEAA_40_XZ(v13);
            g119 = v13;
            int64_t v20 = g120; // 0x180002aa2
            g117 = v20;
            int64_t v21 = _3f_ReadLine_40_wxProtocol_40__40_SA_3f_AW4wxProtocolError_40__40_PEAVwxSocketBase_40__40_AEAVwxString_40__40__40_Z(v20, &v9, g112); // 0x180002aa5
            g114 = v21;
            *(int32_t *)(g120 + 376) = (int32_t)v21;
            if ((int32_t)g114 != 0) {
                // 0x180002c33
                *(char *)(g120 + 457) = 1;
                g117 = v13;
                g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v13, v13, g112);
                g117 = v12;
                g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v12, v13, g112) & -256;
                goto lab_0x180002ddd;
            }
            // 0x180002ab8
            g119 = v13;
            int64_t v22 = g120; // 0x180002ac0
            g117 = v22;
            g114 = _3f_LogResponse_40_wxProtocol_40__40_QEAAXAEBVwxString_40__40__40_Z(v22);
            int64_t v23 = g120 + 392; // 0x180002ac8
            g117 = v23;
            int64_t v24 = _3f_empty_40_wxString_40__40_QEBA_NXZ(v23, v13); // 0x180002acf
            g114 = v24;
            if ((char)v24 == 0) {
                // 0x180002ad9
                g119 = 10;
                int64_t v25 = g120 + 392; // 0x180002ade
                g117 = v25;
                g114 = _3f__3f_YwxString_40__40_QEAAAEAV0_40__W_40_Z(v25, 10);
            }
            // 0x180002aeb
            g119 = v13;
            int64_t v26 = g120 + 392; // 0x180002af3
            g117 = v26;
            g114 = _3f__3f_YwxString_40__40_QEAAAEAV0_40_AEBV0_40__40_Z(v26, &v9);
            g117 = v13;
            int64_t v27 = _3f_Len_40_wxString_40__40_QEBA_KXZ(&v9); // 0x180002b08
            g114 = v27;
            if (v27 >= 4) {
                // 0x180002b25
                g112 = 3;
                g119 = v14;
                g117 = v13;
                int64_t v28 = _3f_GetChar_40_wxString_40__40_QEBA_3f_AVwxUniChar_40__40__K_40_Z(v13, &v11, 3); // 0x180002b38
                g114 = v28;
                g117 = v28;
                int64_t v29 = _3f__3f_BwxUniChar_40__40_QEBA_WXZ(v28); // 0x180002b41
                g114 = v29;
                g109 = v29;
                if ((char)g108 == 0) {
                    // 0x180002bab
                    g113 = v12;
                    g119 = 0;
                    g112 = 3;
                    g117 = v13;
                    int64_t v30 = _3f_compare_40_wxString_40__40_QEBAH_K0AEBV1_40__40_Z(&v9, 0, 3, &v17); // 0x180002bc1
                    g114 = v30;
                    if ((int32_t)v30 == 0) {
                        // 0x180002bcb
                        g116 = ((int16_t)g109 == 32 ? g110 : g116) & 0xffffffff;
                    }
                } else {
                    // 0x180002b50
                    g112 = 3;
                    g119 = v13;
                    g117 = v15;
                    int64_t v31 = _3f__3f_0wxString_40__40_QEAA_40_AEBV0_40__K_40_Z(&v10, &v9, 3); // 0x180002b66
                    g114 = v31;
                    g119 = v31;
                    g117 = v12;
                    g114 = _3f__3f_4wxString_40__40_QEAAAEAV0_40_AEBV0_40__40_Z(v12, v31);
                    g117 = v15;
                    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v15, g119, g112);
                    int32_t v32 = g109; // 0x180002b91
                    if (v32 == 32) {
                        // 0x180002ba7
                        g116 = g116 & -256 | 1;
                    } else {
                        if (v32 == 45) {
                            // 0x180002ba2
                            g108 &= -256;
                        } else {
                            // 0x180002b9d
                            g118 = g118 & -256 | 1;
                        }
                    }
                }
            } else {
                // 0x180002b14
                if ((char)g108 != 0) {
                    // 0x180002b1d
                    g118 = g118 & -256 | 1;
                }
            }
            // 0x180002bd7
            g117 = v13;
            g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v13, g119, g112);
            int64_t v33 = g118;
            if ((char)g116 != 0) {
                if ((char)v33 != 0) {
                    goto lab_0x180002c60;
                } else {
                    // 0x180002bf2
                    *(int32_t *)(g120 + 376) = 0;
                    g112 = 0;
                    int64_t v34 = &v16; // 0x180002bff
                    g119 = v34;
                    g117 = v12;
                    int64_t v35 = _3f__3f_AwxString_40__40_QEAA_3f_AVwxUniCharRef_40__40_I_40_Z(&v17, &v16, 0); // 0x180002c0c
                    g114 = v35;
                    g117 = v35;
                    int64_t v36 = _3f__3f_BwxUniCharRef_40__40_QEBADXZ(v35); // 0x180002c15
                    g114 = v36;
                    g116 = v36;
                    g117 = v12;
                    g114 = g116 | _3f__3f_1wxString_40__40_QEAA_40_XZ(v12, v34, 0) & -256;
                    goto lab_0x180002ddd;
                }
            }
            v19 = v33;
        }
        goto lab_0x180002c60;
    } else {
        // 0x180002a51
        g114 = v7 & -256;
        goto lab_0x180002ddd;
    }
  lab_0x180002c60:
    // 0x180002c60
    g116 = (int64_t)"wx";
    g119 = (int64_t)"wx";
    g117 = v15;
    int64_t v37 = _3f__3f_0wxString_40__40_QEAA_40_PEBD_40_Z(&v10, (int64_t)"wx"); // 0x180002c72
    g114 = v37;
    g119 = v37;
    g117 = 6;
    int64_t v38 = _3f_IsLevelEnabled_40_wxLog_40__40_SA_NKVwxString_40__40__40_Z(6, v37); // 0x180002c80
    g114 = v38;
    if ((char)v38 != 0) {
        // 0x180002c8e
        int64_t v39; // bp-240
        int64_t v40 = &v39; // 0x180002c8e
        g114 = v40;
        v11 = v40;
        g119 = (int64_t)L"Broken FTP server: '%s' is not a valid reply.";
        g117 = v13;
        int64_t v41 = _3f__3f_0wxFormatString_40__40_QEAA_40_PEB_W_40_Z(&v9, L"Broken FTP server: '%s' is not a valid reply."); // 0x180002caa
        g114 = v41;
        g119 = v40;
        int64_t v42 = g120 + 392; // 0x180002cb9
        g117 = v42;
        v16 = _3f_c_str_40_wxString_40__40_QEBA_3f_AVwxCStrData_40__40_XZ(0x100000000 * v42 / 0x100000000, &v39);
        g118 = v16;
        int32_t v43 = 6; // bp-360
        g114 = (int64_t)"wxFTP::GetResult";
        g117 = 0;
        g114 = _time64(NULL);
        g114 = _3f_GetCurrentId_40_wxThread_40__40_SAKXZ();
        int64_t v44; // bp-296
        int64_t v45 = &v44; // 0x180002d1b
        g117 = v45;
        g114 = _3f__3f_0wxString_40__40_QEAA_40_XZ(v45);
        g112 = v13;
        g119 = g118;
        g117 = v14;
        int64_t v46 = _3f__3f_0_3f__24_wxArgNormalizerWchar_40_AEBVwxCStrData_40__40__40__40_QEAA_40_AEBVwxCStrData_40__40_PEBVwxFormatString_40__40_I_40_Z(&v11, g118, &v9, g110); // 0x180002d3d
        g114 = v46;
        g117 = v14;
        int64_t v47 = _3f_get_40__3f__24_wxArgNormalizerWchar_40_AEBVwxCStrData_40__40__40__40_QEBAPEB_WXZ(&v11); // 0x180002d48
        g114 = v47;
        g116 = v47;
        g117 = v13;
        int64_t v48 = _3f__3f_BwxFormatString_40__40_QEBAPEB_WXZ(v13); // 0x180002d59
        g114 = v48;
        g119 = v48;
        int64_t v49 = g116; // 0x180002d62
        g112 = v49;
        g117 = &v43;
        g114 = function_1800024f0(&v43, v48, v49, g110);
        g117 = g118;
        g114 = _3f__3f_1wxCStrData_40__40_QEAA_40_XZ(g118);
        g117 = v45;
        g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v45, g119, g112);
        g116 = 0;
        v16 = 0;
        g117 = v13;
        g114 = _3f__3f_1wxFormatString_40__40_QEAA_40_XZ(&v9);
    }
    // 0x180002dc3
    *(int32_t *)(g120 + 376) = 2;
    g117 = v12;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v12, g119, g112) & -256;
    goto lab_0x180002ddd;
  lab_0x180002ddd:;
    int64_t v50 = g121 ^ v7; // 0x180002de5
    g117 = v50;
    __security_check_cookie(v50);
    g114 = &g122;
    g116 = v5;
    g110 = v4;
    g109 = v3;
    g108 = v2;
    g120 = v1;
    return &g122;
}
 
// Address range: 0x180002e10 - 0x180002f89
// Demangled:     protected: wxFTP::GetPortCmdArgument
int64_t _3f_GetPortCmdArgument_40_wxFTP_40__40_IEAA_3f_AVwxString_40__40_AEBVwxIPV4address_40__40_0_40_Z(int64_t a1, int64_t * a2, int64_t * a3, int64_t * a4) {
    // 0x180002e10
    g113 = (int64_t)a4;
    int64_t v1 = (int64_t)a3;
    g112 = v1;
    g119 = (int64_t)a2;
    g117 = a1;
    int64_t v2 = g120; // 0x180002e12
    int64_t v3 = g118; // bp-24
    int64_t v4 = g116; // 0x180002e24
    int64_t v5 = g113; // 0x180002e2c
    g116 = v5;
    g120 = g119;
    g114 = v1;
    g117 = v5;
    int64_t v6 = _3f_Service_40_wxIPaddress_40__40_QEBAGXZ(v5); // 0x180002e53
    g114 = v6;
    g116 = v6;
    g119 = &g19;
    int64_t v7; // bp-256
    int64_t v8 = &v7; // 0x180002e62
    g117 = v8;
    int64_t v9 = _3f__3f_0wxString_40__40_QEAA_40_PEB_W_40_Z(&v7, (int64_t)&g19, v1); // 0x180002e67
    g114 = v9;
    g119 = &g18;
    int64_t v10; // bp-200
    int64_t v11 = &v10; // 0x180002e75
    g117 = v11;
    int64_t v12 = _3f__3f_0wxString_40__40_QEAA_40_PEB_W_40_Z(&v10, (int64_t)&g18, v1); // 0x180002e7a
    g114 = v12;
    int64_t v13 = g113 & -256 | 1; // 0x180002e81
    g113 = v13;
    g112 = v8;
    g119 = v11;
    int64_t v14 = g120; // 0x180002e8e
    g117 = v14;
    int64_t v15 = _3f_Replace_40_wxString_40__40_QEAA_KAEBV1_40_0_N_40_Z(v14, &v10, &v7, v13); // 0x180002e91
    g114 = v15;
    g117 = v11;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v11, v11, v8);
    g117 = v8;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v8, v11, v8);
    g119 = (int64_t)L"%d";
    g117 = v11;
    g114 = _3f__3f_0wxFormatString_40__40_QEAA_40_PEB_W_40_Z(&v10, L"%d");
    g119 = (int64_t)L"%d";
    g117 = v8;
    g114 = _3f__3f_0wxFormatString_40__40_QEAA_40_PEB_W_40_Z(&v7, L"%d");
    int64_t v16 = g116; // 0x180002ed5
    g112 = v16;
    g119 = v11;
    int64_t v17; // bp-88
    int64_t v18 = &v17; // 0x180002ede
    g117 = v18;
    int64_t v19 = function_180002720(&v17, &v10, v16); // 0x180002ee6
    g114 = v19;
    g118 = v19;
    int64_t v20 = (int32_t)g116 / 256; // 0x180002eee
    g116 = v20;
    g112 = v20;
    g119 = v8;
    int64_t v21; // bp-144
    int64_t v22 = &v21; // 0x180002ef9
    g117 = v22;
    int64_t v23 = function_180002720(&v21, &v7, v20); // 0x180002f01
    g114 = v23;
    g116 = v23;
    int64_t v24 = 44; // rbp
    g119 = 44;
    int64_t v25 = g120; // 0x180002f10
    g117 = v25;
    int64_t v26 = _3f__3f_6wxString_40__40_QEAAAEAV0_40__W_40_Z(v25, 44); // 0x180002f13
    g114 = v26;
    g117 = v26;
    int64_t v27 = g116; // 0x180002f1c
    g119 = v27;
    int64_t v28 = _3f__3f_6wxString_40__40_QEAAAEAV0_40_AEBV0_40__40_Z(v26, v27); // 0x180002f1f
    g114 = v28;
    g117 = v28;
    g119 = v24;
    int64_t v29 = _3f__3f_6wxString_40__40_QEAAAEAV0_40__W_40_Z(v28, v24); // 0x180002f2b
    g114 = v29;
    g117 = v29;
    g119 = g118;
    g114 = _3f__3f_6wxString_40__40_QEAAAEAV0_40_AEBV0_40__40_Z(v29, g118);
    g117 = v22;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v22, g118, v20);
    g117 = v18;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v18, g118, v20);
    g117 = v8;
    g114 = _3f__3f_1wxFormatString_40__40_QEAA_40_XZ(&v7);
    g117 = v11;
    _3f__3f_1wxFormatString_40__40_QEAA_40_XZ(&v10);
    int64_t result = g120; // 0x180002f73
    g114 = result;
    g116 = v4;
    g118 = v3;
    g120 = v2;
    return result;
}
 
// Address range: 0x180002f90 - 0x180003004
int64_t function_180002f90(int64_t a1) {
    // 0x180002f90
    g117 = a1;
    int64_t v1 = g116; // 0x180002f95
    int64_t v2 = g117; // 0x180002fa3
    g116 = v2;
    g114 = &g16;
    *(int64_t *)v2 = (int64_t)&g16;
    int64_t v3 = *(int64_t *)(g117 + 56); // 0x180002fb0
    g117 = v3;
    if (v3 != 0) {
        // 0x180002fb9
        g114 = *(int64_t *)v3;
        g119 = 1;
    }
    int64_t v4 = *(int64_t *)(g116 + 64); // 0x180002fc4
    g117 = v4;
    int64_t v5 = _3f_GetResult_40_wxFTP_40__40_IEAADXZ(v4); // 0x180002fc8
    g114 = v5;
    char v6 = v5; // 0x180002fcd
    if (v6 != 50) {
        if (v6 == 0) {
            int64_t * v7 = (int64_t *)(g116 + 64); // 0x180002fe2
            int64_t v8 = *v7; // 0x180002fe2
            g117 = v8;
            g114 = *(int64_t *)v8;
            int64_t v9 = *v7; // 0x180002fec
            g117 = v9;
            g114 = *(int64_t *)v9;
        }
    } else {
        int64_t v10 = *(int64_t *)(g116 + 64); // 0x180002fd1
        g114 = v10;
        *(char *)(v10 + 448) = 0;
    }
    int64_t v11 = g116; // 0x180002ff7
    g117 = v11;
    g116 = v1;
    int64_t result = _3f__3f_1wxSocketInputStream_40__40_UEAA_40_XZ(v11); // 0x180002fff
    g114 = result;
    return result;
}
 
// Address range: 0x180003040 - 0x1800030c1
int64_t function_180003040(int64_t a1) {
    // 0x180003040
    g117 = a1;
    int64_t v1 = g116; // 0x180003045
    int64_t v2 = g117; // 0x180003053
    g116 = v2;
    g114 = &g17;
    *(int64_t *)v2 = (int64_t)&g17;
    int64_t v3 = _3f_IsOk_40_wxStreamBase_40__40_UEBA_NXZ(); // 0x180003060
    g114 = v3;
    int64_t v4 = g116; // 0x180003095
    int64_t v5; // 0x1800030b4
    if ((char)v3 == 0) {
        int64_t v6 = *(int64_t *)(v4 + 40); // 0x180003095
        g117 = v6;
        g114 = *(int64_t *)v6;
        int64_t v7 = *(int64_t *)(v4 + 32); // 0x18000309f
        g117 = v7;
        if (v7 != 0) {
            // 0x1800030a8
            g114 = *(int64_t *)v7;
            g119 = 1;
            v5 = v4;
        } else {
            v5 = v4;
        }
    } else {
        int64_t v8 = *(int64_t *)(v4 + 32); // 0x18000306a
        g117 = v8;
        if (v8 != 0) {
            // 0x180003073
            g114 = *(int64_t *)v8;
            g119 = 1;
        }
        int64_t v9 = *(int64_t *)(v4 + 40); // 0x18000307e
        g117 = v9;
        g114 = _3f_GetResult_40_wxFTP_40__40_IEAADXZ(v9);
        *(char *)(*(int64_t *)(g116 + 40) + 448) = 0;
        v5 = g116;
    }
    // 0x1800030b4
    g117 = v5;
    g116 = v1;
    int64_t result = _3f__3f_1wxSocketOutputStream_40__40_UEAA_40_XZ(v5); // 0x1800030bc
    g114 = result;
    return result;
}
 
// Address range: 0x180003100 - 0x18000315f
int64_t function_180003100(int64_t result) {
    // 0x180003100
    g117 = result;
    int64_t v1 = _3f_GetUntypedNullData_40_wxPrivate_40__40_YAPEAUUntypedBufferData_40_1_40_XZ(result); // 0x180003109
    g114 = v1;
    g117 = result;
    if (v1 == result) {
        // 0x180003159
        return result;
    }
    // 0x180003117
    g114 = 0xffff;
    int64_t v2 = g116; // 0x18000311c
    int16_t * v3 = (int16_t *)(result + 16); // 0x180003121
    *v3 = *v3 - 1;
    int64_t v4 = g117; // 0x180003125
    g116 = v4;
    int64_t v5; // 0x18000314b
    if (*(int16_t *)(v4 + 16) == 0) {
        if (v4 != 0) {
            // 0x180003134
            if (*(char *)(v4 + 18) != 0) {
                // 0x18000313a
                free((int64_t *)v4);
                g114 = &g122;
            }
            // 0x180003143
            g117 = v4;
            g114 = function_18001310e(v4);
            v5 = g117;
        } else {
            v5 = 0;
        }
    } else {
        v5 = v4;
    }
    int64_t v6 = _3f_GetUntypedNullData_40_wxPrivate_40__40_YAPEAUUntypedBufferData_40_1_40_XZ(v5); // 0x18000314b
    g114 = v6;
    g116 = v2;
    *(int64_t *)result = v6;
    // 0x180003159
    return g114;
}
 
// Address range: 0x180003160 - 0x180003179
// Demangled:     protected: wxFTP::CheckResult
int64_t _3f_CheckResult_40_wxFTP_40__40_IEAA_ND_40_Z(void) {
    int64_t v1 = g116; // 0x180003160
    g116 = g119;
    int64_t v2 = _3f_GetResult_40_wxFTP_40__40_IEAADXZ(g117); // 0x180003169
    int64_t result = (int64_t)((char)v2 == (char)g116) | v2 & -256; // 0x180003170
    g114 = result;
    g116 = v1;
    return result;
}
 
// Address range: 0x180003180 - 0x180003488
// Demangled:     public: wxFTP::SendCommand
int64_t _3f_SendCommand_40_wxFTP_40__40_QEAADAEBVwxString_40__40__40_Z(int64_t a1, int64_t a2) {
    // 0x180003180
    g119 = a2;
    g117 = a1;
    int64_t v1 = g120; // 0x180003183
    int64_t v2 = g118; // 0x180003184
    int64_t v3 = g108; // 0x180003185
    int64_t v4 = g116; // 0x180003197
    int64_t v5 = g115; // 0x18000319b
    int64_t v6; // bp-376
    int64_t v7 = g61 ^ (int64_t)&v6; // 0x1800031a6
    g114 = v7;
    g115 = a2;
    int64_t v8 = g117; // 0x1800031b4
    g120 = v8;
    if (*(char *)(v8 + 448) == 0) {
        // 0x1800031d1
        g112 = (int64_t)L"\r\n";
        int64_t v9; // bp-96
        int64_t v10 = &v9; // 0x1800031d8
        g117 = v10;
        g114 = _3f__3f_H_40_YA_3f_AVwxString_40__40_AEBV0_40_PEB_W_40_Z(&v9, a2, (int64_t *)L"\r\n");
        int64_t v11 = *(int64_t *)0x180019378; // 0x1800031e7
        g112 = v11;
        int64_t v12 = *(int64_t *)v11; // 0x1800031ee
        int64_t v13; // 0x18000320b
        if (v12 == 0) {
            int64_t v14 = _3f_wxGet_wxConvLibcPtr_40__40_YAPEAVwxMBConv_40__40_XZ(); // 0x1800031f4
            g114 = v14;
            int64_t v15 = *(int64_t *)0x180019378; // 0x1800031fa
            g117 = v15;
            *(int64_t *)v15 = v14;
            int64_t v16 = *(int64_t *)0x180019378; // 0x180003204
            g112 = v16;
            v13 = *(int64_t *)v16;
        } else {
            v13 = v12;
        }
        // 0x18000320b
        g112 = v13;
        int64_t v17; // 0x18000327b
        g119 = &v17;
        g117 = v10;
        int64_t v18 = _3f_mb_str_40_wxString_40__40_QEBA_3f_BV_3f__24_wxScopedCharTypeBuffer_40_D_40__40_AEBVwxMBConv_40__40__40_Z(&v9, &v17, v13); // 0x18000321b
        g114 = v18;
        g118 = v18;
        int64_t v19 = _3f_GetUntypedNullData_40_wxPrivate_40__40_YAPEAUUntypedBufferData_40_1_40_XZ(v10); // 0x180003224
        g114 = v19;
        int64_t v20 = g118; // 0x18000322f
        g119 = v20;
        int64_t v21 = &v19; // 0x180003232
        g117 = v21;
        g114 = function_180002610(&v19, v20);
        int64_t v22 = _3f_GetUntypedNullData_40_wxPrivate_40__40_YAPEAUUntypedBufferData_40_1_40_XZ(v21); // 0x18000323d
        g114 = v22;
        g108 = 0xffff;
        int64_t v23 = v17; // 0x180003249
        g117 = v23;
        if (v23 != v22) {
            int16_t * v24 = (int16_t *)(v23 + 16); // 0x180003253
            *v24 = *v24 - 1;
            int64_t v25 = v17; // 0x180003258
            if (*(int16_t *)(v25 + 16) == 0) {
                // 0x180003264
                int64_t v26; // 0x180003273
                if (*(char *)(v25 + 18) != 0) {
                    int64_t v27 = *(int64_t *)v25; // 0x18000326a
                    g117 = v27;
                    free((int64_t *)v27);
                    g114 = &g122;
                    v26 = v25;
                } else {
                    v26 = v25;
                }
                // 0x180003273
                g117 = v26;
                g114 = function_18001310e(v26);
            }
            // 0x18000327b
            v17 = _3f_GetUntypedNullData_40_wxPrivate_40__40_YAPEAUUntypedBufferData_40_1_40_XZ(g117);
            g114 = v17;
        }
        int64_t v28 = v19; // 0x180003286
        g116 = v28;
        int64_t v29 = *(int64_t *)v28; // 0x18000328b
        g119 = v29;
        g114 = 0;
        g117 = -1;
        g118 = v29;
        int64_t v30 = v29; // 0x180003297
        int64_t v31 = -1; // 0x180003297
        int64_t v32; // 0x180003299
        while (true) {
            if (v31 == 0) {
                v32 = 0;
                // break -> bb84
                break;
            }
            int64_t v33 = (g1 ? -1 : 1) + v30; // 0x180003297
            g118 = v33;
            int64_t v34 = v31 - 1; // 0x180003297
            g117 = v34;
            if (*(char *)v30 == 0) {
                v32 = v34;
                // break -> bb84
                break;
            }
            v30 = v33;
            v31 = v34;
        }
        int64_t v35 = -2 - v32; // 0x18000329c
        g112 = v35;
        int64_t v36 = g120; // 0x1800032a0
        g117 = v36;
        int64_t v37 = _3f_Write_40_wxSocketBase_40__40_QEAAAEAV1_40_PEBXI_40_Z(v36, v29, v35); // 0x1800032a3
        g114 = v37;
        g117 = v37;
        int64_t v38 = _3f_LastError_40_wxSocketBase_40__40_QEBA_3f_AW4wxSocketError_40__40_XZ(v37); // 0x1800032ab
        g114 = v38;
        if ((int32_t)v38 == 0) {
            // 0x180003303
            int64_t v39; // bp-208
            int64_t v40 = &v39; // 0x180003303
            g117 = v40;
            g114 = _3f__3f_0wxString_40__40_QEAA_40_XZ(v40);
            int64_t v41; // bp-152
            int64_t v42 = &v41; // 0x180003312
            g117 = v42;
            g114 = _3f__3f_0wxString_40__40_QEAA_40_XZ(v42);
            g119 = (int64_t)L"PASS ";
            int64_t v43; // bp-264
            int64_t v44 = &v43; // 0x180003328
            g117 = v44;
            g114 = _3f__3f_0wxString_40__40_QEAA_40_PEB_W_40_Z(&v43, (int64_t)L"PASS ", v35);
            int64_t v45; // bp-320
            int64_t v46 = &v45; // 0x180003334
            g119 = v46;
            int64_t v47 = g115; // 0x180003339
            g117 = v47;
            int64_t v48 = _3f_Upper_40_wxString_40__40_QEBA_3f_AV1_40_XZ(v47, &v45); // 0x18000333c
            g114 = v48;
            g112 = v42;
            g119 = v44;
            g117 = v48;
            int64_t v49 = _3f_StartsWith_40_wxString_40__40_QEBA_NAEBV1_40_PEAV1_40__40_Z(v48, &v43, &v41); // 0x180003353
            g114 = v49;
            g118 = v49;
            g117 = v46;
            g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v46, v44, g112);
            g117 = v44;
            g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v44, v44, g112);
            int64_t v50;
            if ((char)g118 == 0) {
                int64_t v51 = g115; // 0x1800033cb
                g119 = v51;
                g117 = v40;
                v50 = _3f__3f_4wxString_40__40_QEAAAEAV0_40_AEBV0_40__40_Z(v40, v51);
            } else {
                // 0x180003378
                g117 = v42;
                int64_t v52 = _3f_length_40_wxString_40__40_QEBA_KXZ(&v41); // 0x180003380
                g114 = v52;
                g112 = v52;
                g119 = 42;
                g117 = v46;
                int64_t v53 = _3f__3f_0wxString_40__40_QEAA_40__W_K_40_Z(&v45, 42, v52); // 0x180003393
                g114 = v53;
                g118 = v53;
                g119 = (int64_t)L"PASS ";
                g117 = v40;
                int64_t v54 = _3f__3f_6wxString_40__40_QEAAAEAV0_40_PEB_W_40_Z(&v39, L"PASS "); // 0x1800033ab
                g114 = v54;
                g117 = v54;
                int64_t v55 = g118; // 0x1800033b4
                g119 = v55;
                g114 = _3f__3f_6wxString_40__40_QEAAAEAV0_40_AEBV0_40__40_Z(v54, v55);
                g117 = v46;
                v50 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v46, v55, g112);
            }
            // 0x1800033dc
            g114 = v50;
            g119 = v40;
            int64_t v56 = g120; // 0x1800033e4
            g117 = v56;
            g114 = _3f_LogRequest_40_wxProtocol_40__40_QEAAXAEBVwxString_40__40__40_Z(v56);
            *(int32_t *)(g120 + 376) = 0;
            int64_t v57 = g120; // 0x1800033f6
            g117 = v57;
            int64_t v58 = _3f_GetResult_40_wxFTP_40__40_IEAADXZ(v57); // 0x1800033f9
            g114 = v58;
            g117 = v42;
            g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v42, v40, g112);
            g117 = v40;
            g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v40, v40, g112);
            int64_t v59 = _3f_GetUntypedNullData_40_wxPrivate_40__40_YAPEAUUntypedBufferData_40_1_40_XZ(g117); // 0x18000341f
            g114 = v59;
            int64_t v60 = g116; // 0x180003425
            if (v60 != v59) {
                int16_t * v61 = (int16_t *)(v60 + 16); // 0x18000342a
                int16_t v62 = (int16_t)g108 + *v61; // 0x18000342a
                *v61 = v62;
                if (v62 == 0) {
                    int64_t v63 = g116; // 0x180003431
                    int64_t v64; // 0x180003440
                    if (*(char *)(v63 + 18) != 0) {
                        int64_t v65 = *(int64_t *)v63; // 0x180003437
                        g117 = v65;
                        free((int64_t *)v65);
                        g114 = &g122;
                        v64 = g116;
                    } else {
                        v64 = v63;
                    }
                    // 0x180003440
                    g117 = v64;
                    g114 = function_18001310e(v64);
                }
                // 0x180003448
                g114 = _3f_GetUntypedNullData_40_wxPrivate_40__40_YAPEAUUntypedBufferData_40_1_40_XZ(g117);
            }
            // 0x18000344f
            g117 = v10;
            g114 = v58 | _3f__3f_1wxString_40__40_QEAA_40_XZ(v10, v40, g112) & -256;
        } else {
            // 0x1800032b4
            *(int32_t *)(g120 + 376) = 1;
            int64_t v66 = _3f_GetUntypedNullData_40_wxPrivate_40__40_YAPEAUUntypedBufferData_40_1_40_XZ(g117); // 0x1800032be
            g114 = v66;
            int64_t v67 = g116; // 0x1800032c4
            if (v67 != v66) {
                int16_t * v68 = (int16_t *)(v67 + 16); // 0x1800032c9
                int16_t v69 = (int16_t)g108 + *v68; // 0x1800032c9
                *v68 = v69;
                if (v69 == 0) {
                    int64_t v70 = g116; // 0x1800032d0
                    int64_t v71; // 0x1800032df
                    if (*(char *)(v70 + 18) != 0) {
                        int64_t v72 = *(int64_t *)v70; // 0x1800032d6
                        g117 = v72;
                        free((int64_t *)v72);
                        g114 = &g122;
                        v71 = g116;
                    } else {
                        v71 = v70;
                    }
                    // 0x1800032df
                    g117 = v71;
                    g114 = function_18001310e(v71);
                }
                // 0x1800032e7
                g114 = _3f_GetUntypedNullData_40_wxPrivate_40__40_YAPEAUUntypedBufferData_40_1_40_XZ(g117);
            }
            // 0x1800032ee
            g117 = v10;
            g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v10, v29, v35) & -256;
        }
    } else {
        // 0x1800031c0
        *(int32_t *)(v8 + 376) = 9;
        g114 &= -256;
    }
    int64_t v73 = g121 ^ v7; // 0x180003468
    g117 = v73;
    __security_check_cookie(v73);
    g114 = &g122;
    g116 = v4;
    g115 = v5;
    g108 = v3;
    g118 = v2;
    g120 = v1;
    return &g122;
}
 
// Address range: 0x180003490 - 0x1800034aa
// Demangled:     public: wxFTP::CheckCommand
int64_t _3f_CheckCommand_40_wxFTP_40__40_QEAA_NAEBVwxString_40__40_D_40_Z(void) {
    int64_t v1 = g116; // 0x180003490
    g116 = g112;
    int64_t v2 = _3f_SendCommand_40_wxFTP_40__40_QEAADAEBVwxString_40__40__40_Z(g117, g119); // 0x18000349a
    int64_t result = (int64_t)((char)v2 == (char)g116) | v2 & -256; // 0x1800034a1
    g114 = result;
    g116 = v1;
    return result;
}
 
// Address range: 0x1800034b0 - 0x180003719
// Demangled:     public: virtual wxFTP::Connect
int64_t _3f_Connect_40_wxFTP_40__40_UEAA_NAEBVwxSockAddress_40__40__N_40_Z(int64_t a1) {
    // 0x1800034b0
    g117 = a1;
    int64_t v1 = g116; // 0x1800034c4
    int64_t v2 = g120; // 0x1800034c8
    int64_t v3; // bp-200
    int64_t v4 = g61 ^ (int64_t)&v3; // 0x1800034d3
    g114 = v4;
    g120 = a1;
    g112 = g112 & -256 | 1;
    int64_t v5 = _3f_Connect_40_wxSocketClient_40__40_UEAA_NAEBVwxSockAddress_40__40__N_40_Z(a1); // 0x1800034e4
    g114 = v5;
    int64_t v6 = g120; // 0x1800034fc
    if ((char)v5 != 0) {
        int64_t v7 = v6 + 264; // 0x1800034fc
        g117 = v7;
        int64_t v8 = _3f__3f_7wxString_40__40_QEBA_NXZ(v7); // 0x180003503
        g114 = v8;
        int64_t v9 = g120; // 0x18000351e
        if ((char)v8 == 0) {
            // 0x18000351e
            g117 = v9;
            int64_t v10 = _3f_GetResult_40_wxFTP_40__40_IEAADXZ(v9); // 0x180003521
            g114 = v10;
            if ((char)v10 == 50) {
                // 0x18000353a
                int64_t v11; // bp-80
                int64_t v12 = &v11; // 0x18000353a
                g117 = v12;
                g114 = _3f__3f_0wxString_40__40_QEAA_40_XZ(v12);
                g119 = (int64_t)L"USER %s";
                int64_t v13; // bp-152
                int64_t v14 = &v13; // 0x18000354d
                g117 = v14;
                g114 = _3f__3f_0wxFormatString_40__40_QEAA_40_PEB_W_40_Z(&v13, L"USER %s");
                int64_t v15; // bp-104
                int64_t v16 = &v15; // 0x180003559
                g119 = v16;
                int64_t v17 = g120 + 264; // 0x18000355e
                g117 = v17;
                int64_t v18 = _3f_c_str_40_wxString_40__40_QEBA_3f_AVwxCStrData_40__40_XZ(v17, &v15); // 0x180003565
                g114 = v18;
                g118 = v18;
                g112 = v14;
                g119 = v18;
                int64_t v19; // bp-168
                int64_t v20 = &v19; // 0x180003581
                g117 = v20;
                int64_t v21 = _3f__3f_0_3f__24_wxArgNormalizerWchar_40_AEBVwxCStrData_40__40__40__40_QEAA_40_AEBVwxCStrData_40__40_PEBVwxFormatString_40__40_I_40_Z(&v19, v18, &v13, 1); // 0x180003586
                g114 = v21;
                g117 = v20;
                int64_t v22 = _3f_get_40__3f__24_wxArgNormalizerWchar_40_AEBVwxCStrData_40__40__40__40_QEBAPEB_WXZ(&v19); // 0x180003591
                g114 = v22;
                g116 = v22;
                g117 = v14;
                int64_t v23 = _3f__3f_BwxFormatString_40__40_QEBAPEB_WXZ(v14); // 0x18000359f
                g114 = v23;
                g119 = v23;
                int64_t v24 = g116; // 0x1800035a8
                g112 = v24;
                g117 = v12;
                g114 = _3f_DoPrintfWchar_40_wxString_40__40_AEAAHPEB_WZZ(&v11, v23, v24, 1);
                int64_t v25 = g118; // 0x1800035b7
                g117 = v25;
                g114 = _3f__3f_1wxCStrData_40__40_QEAA_40_XZ(v25);
                g117 = v14;
                g114 = _3f__3f_1wxFormatString_40__40_QEAA_40_XZ(&v13);
                g119 = v12;
                int64_t v26 = g120; // 0x1800035d1
                g117 = v26;
                int64_t v27 = _3f_SendCommand_40_wxFTP_40__40_QEAADAEBVwxString_40__40__40_Z(v26, v12); // 0x1800035d4
                g114 = v27;
                char v28 = v27; // 0x1800035d9
                if (v28 != 50) {
                    if (v28 == 51) {
                        // 0x180003623
                        g119 = (int64_t)L"PASS %s";
                        g117 = v14;
                        g114 = _3f__3f_0wxFormatString_40__40_QEAA_40_PEB_W_40_Z(&v13, L"PASS %s");
                        int64_t v29 = g120 + 320; // 0x180003636
                        g117 = v29;
                        g119 = v16;
                        int64_t v30 = _3f_c_str_40_wxString_40__40_QEBA_3f_AVwxCStrData_40__40_XZ(v29, &v15); // 0x180003642
                        g114 = v30;
                        g118 = v30;
                        g112 = v14;
                        g119 = v30;
                        g117 = v20;
                        int64_t v31 = _3f__3f_0_3f__24_wxArgNormalizerWchar_40_AEBVwxCStrData_40__40__40__40_QEAA_40_AEBVwxCStrData_40__40_PEBVwxFormatString_40__40_I_40_Z(&v19, v30, &v13, 1); // 0x180003663
                        g114 = v31;
                        g117 = v20;
                        int64_t v32 = _3f_get_40__3f__24_wxArgNormalizerWchar_40_AEBVwxCStrData_40__40__40__40_QEBAPEB_WXZ(&v19); // 0x18000366e
                        g114 = v32;
                        g116 = v32;
                        g117 = v14;
                        int64_t v33 = _3f__3f_BwxFormatString_40__40_QEBAPEB_WXZ(v14); // 0x18000367c
                        g114 = v33;
                        g119 = v33;
                        int64_t v34 = g116; // 0x180003685
                        g112 = v34;
                        g117 = v12;
                        g114 = _3f_DoPrintfWchar_40_wxString_40__40_AEAAHPEB_WZZ(&v11, v33, v34, 1);
                        int64_t v35 = g118; // 0x180003694
                        g117 = v35;
                        g114 = _3f__3f_1wxCStrData_40__40_QEAA_40_XZ(v35);
                        g117 = v14;
                        g114 = _3f__3f_1wxFormatString_40__40_QEAA_40_XZ(&v13);
                        g119 = v12;
                        int64_t v36 = g120; // 0x1800036ae
                        g117 = v36;
                        int64_t v37 = _3f_SendCommand_40_wxFTP_40__40_QEAADAEBVwxString_40__40__40_Z(v36, v12); // 0x1800036b1
                        g114 = v37;
                        int32_t * v38 = (int32_t *)(g120 + 376); // 0x1800036dd
                        if ((char)v37 == 50) {
                            // 0x1800036dd
                            *v38 = 0;
                            g117 = v12;
                            g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v12, v12, v34) & -256 | 1;
                        } else {
                            // 0x1800036ba
                            *v38 = 3;
                            g114 = v36;
                            g117 = v12;
                            g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v12, v12, v34) & -256;
                        }
                    } else {
                        // 0x1800035fd
                        *(int32_t *)(g120 + 376) = 3;
                        g114 = v26;
                        g117 = v12;
                        g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v12, v12, v24) & -256;
                    }
                } else {
                    // 0x1800035dd
                    *(int32_t *)(g120 + 376) = 0;
                    g117 = v12;
                    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v12, v12, v24) & -256 | 1;
                }
            } else {
                // 0x18000352a
                g117 = g120;
                g114 = v9 & -256;
            }
        } else {
            // 0x18000350d
            *(int32_t *)(v9 + 376) = 3;
            g114 &= -256;
        }
    } else {
        // 0x1800034ed
        *(int32_t *)(v6 + 376) = 1;
    }
    int64_t v39 = g121 ^ v4; // 0x1800036fc
    g117 = v39;
    __security_check_cookie(v39);
    g114 = &g122;
    g116 = v1;
    g120 = v2;
    return &g122;
}
 
// Address range: 0x180003720 - 0x1800038c7
// Demangled:     public: virtual wxFTP::Close
int64_t _3f_Close_40_wxFTP_40__40_UEAA_NXZ(int64_t a1) {
    // 0x180003720
    g117 = a1;
    int64_t v1 = g118; // 0x180003720
    int64_t v2 = g116; // 0x180003732
    int64_t v3 = g117; // 0x18000373a
    g118 = v3;
    int64_t result;
    if (*(char *)(v3 + 448) != 0) {
        // 0x180003746
        *(int32_t *)(v3 + 376) = 9;
        result = g114 & -256;
        // 0x1800038b6
        g114 = result;
        g116 = v2;
        g118 = v1;
        return result;
    }
    // 0x180003757
    if (*(char *)(v3 + 32) != 0) {
        // 0x180003761
        g119 = (int64_t)L"QUIT";
        int64_t v4; // bp-200
        int64_t v5 = &v4; // 0x180003768
        g117 = v5;
        g114 = _3f__3f_0wxString_40__40_QEAA_40_PEB_W_40_Z(&v4, (int64_t)L"QUIT", g112);
        g119 = v5;
        int64_t v6 = g118; // 0x180003779
        g117 = v6;
        int64_t v7 = _3f_SendCommand_40_wxFTP_40__40_QEAADAEBVwxString_40__40__40_Z(v6, v5); // 0x18000377c
        g114 = v7;
        g116 = g116 & -256 | (int64_t)((char)v7 != 50);
        g117 = v5;
        g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v5, v5, g112);
        if ((char)g116 != 0) {
            // 0x180003799
            *(int32_t *)(g118 + 376) = 3;
            g116 = (int64_t)"wx";
            g119 = (int64_t)"wx";
            g117 = v5;
            int64_t v8 = _3f__3f_0wxString_40__40_QEAA_40_PEBD_40_Z(&v4, (int64_t)"wx"); // 0x1800037b2
            g114 = v8;
            g119 = v8;
            g117 = 6;
            int64_t v9 = _3f_IsLevelEnabled_40_wxLog_40__40_SA_NKVwxString_40__40__40_Z(6, v8); // 0x1800037c0
            g114 = v9;
            if ((char)v9 != 0) {
                // 0x1800037ce
                g119 = (int64_t)L"Failed to close connection gracefully.";
                g117 = v5;
                _3f__3f_0wxFormatString_40__40_QEAA_40_PEB_W_40_Z(&v4, L"Failed to close connection gracefully.");
                int32_t v10 = 6; // bp-136
                g114 = (int64_t)"wxFTP::Close";
                g117 = 0;
                g114 = _time64(NULL);
                g114 = _3f_GetCurrentId_40_wxThread_40__40_SAKXZ();
                int64_t v11; // bp-72
                int64_t v12 = &v11; // 0x18000383a
                g117 = v12;
                g114 = _3f__3f_0wxString_40__40_QEAA_40_XZ(v12);
                g117 = v5;
                int64_t v13 = _3f__3f_BwxFormatString_40__40_QEBAPEB_WXZ(v5); // 0x18000384e
                g114 = v13;
                g119 = v13;
                g117 = &v10;
                g114 = function_1800024f0(&v10, v13, g112, g113);
                g117 = v12;
                g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v12, v13, g112);
                g116 = 0;
                g117 = v5;
                g114 = _3f__3f_1wxFormatString_40__40_QEAA_40_XZ(&v4);
            }
        }
    }
    // 0x1800038ae
    g117 = g118;
    result = _3f_Close_40_wxSocketBase_40__40_UEAA_NXZ(g118);
    // 0x1800038b6
    g114 = result;
    g116 = v2;
    g118 = v1;
    return result;
}
 
// Address range: 0x1800038d0 - 0x18000394b
// Demangled:     public: virtual wxFTP::Abort
int64_t _3f_Abort_40_wxFTP_40__40_UEAA_NXZ(int64_t a1) {
    // 0x1800038d0
    g117 = a1;
    int64_t v1 = g118; // 0x1800038d0
    int64_t v2 = g116; // 0x1800038df
    int64_t v3 = g117; // 0x1800038e4
    g118 = v3;
    char * v4 = (char *)(v3 + 448); // 0x1800038e7
    if (*v4 == 0) {
        int64_t result = g114 & -256 | 1; // 0x1800038f0
        g114 = result;
        // 0x180003940
        g116 = v2;
        g118 = v1;
        return result;
    }
    // 0x1800038f4
    *v4 = 0;
    g119 = (int64_t)L"ABOR";
    int64_t v5; // bp-64
    int64_t v6 = &v5; // 0x180003902
    g117 = v6;
    g114 = _3f__3f_0wxString_40__40_QEAA_40_PEB_W_40_Z(&v5, (int64_t)L"ABOR", g112);
    g119 = v6;
    int64_t v7 = g118; // 0x180003913
    g117 = v7;
    int64_t v8 = _3f_SendCommand_40_wxFTP_40__40_QEAADAEBVwxString_40__40__40_Z(v7, v6); // 0x180003916
    g114 = v8;
    g116 = g116 & -256 | (int64_t)((char)v8 != 52);
    g117 = v6;
    int64_t v9 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v6, v6, g112); // 0x180003925
    g114 = v9;
    int64_t result2; // 0x18000393d
    if ((char)g116 == 0) {
        int64_t v10 = g118; // 0x180003933
        g117 = v10;
        int64_t v11 = _3f_GetResult_40_wxFTP_40__40_IEAADXZ(v10); // 0x180003936
        result2 = (int64_t)((char)v11 == 50) | v11 & -256;
        g114 = result2;
    } else {
        int64_t v12 = v9 & -256; // 0x18000392f
        g114 = v12;
        result2 = v12;
    }
    // 0x180003940
    g116 = v2;
    g118 = v1;
    return result2;
}
 
// Address range: 0x180003950 - 0x180003b81
// Demangled:     protected: wxFTP::DoSimpleCommand
int64_t _3f_DoSimpleCommand_40_wxFTP_40__40_IEAA_NPEB_WAEBVwxString_40__40__40_Z(int64_t a1) {
    // 0x180003950
    g117 = a1;
    int64_t v1 = g116; // 0x180003950
    int64_t v2 = g120; // 0x180003952
    int64_t v3 = g118; // 0x180003953
    int64_t v4; // bp-344
    int64_t v5 = g61 ^ (int64_t)&v4; // 0x18000396b
    g114 = v5;
    int64_t v6 = g112; // 0x180003976
    g116 = v6;
    g120 = g117;
    int64_t v7; // bp-88
    int64_t v8 = &v7; // 0x18000397c
    g117 = v8;
    g114 = _3f__3f_0wxString_40__40_QEAA_40_PEB_W_40_Z(&v7, g119, v6);
    int64_t v9 = g116; // 0x18000398b
    g117 = v9;
    int64_t v10 = _3f_empty_40_wxString_40__40_QEBA_NXZ(v9, g119); // 0x18000398e
    g114 = v10;
    if ((char)v10 == 0) {
        // 0x180003998
        g119 = 32;
        g117 = v8;
        int64_t v11 = _3f__3f_6wxString_40__40_QEAAAEAV0_40__W_40_Z(v8, 32); // 0x1800039a5
        g114 = v11;
        g117 = v11;
        int64_t v12 = g116; // 0x1800039ae
        g119 = v12;
        g114 = _3f__3f_6wxString_40__40_QEAAAEAV0_40_AEBV0_40__40_Z(v11, v12);
    }
    // 0x1800039b7
    g119 = v8;
    int64_t v13 = g120; // 0x1800039bf
    g117 = v13;
    int64_t v14 = _3f_SendCommand_40_wxFTP_40__40_QEAADAEBVwxString_40__40__40_Z(v13, v8); // 0x1800039c2
    g114 = v14;
    int64_t v15;
    if ((char)v14 == 50) {
        // 0x180003b4c
        *(int32_t *)(g120 + 376) = 0;
        g117 = v8;
        v15 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v8, v8, g112) & -256 | 1;
    } else {
        // 0x1800039cf
        g116 = (int64_t)"wx";
        g119 = (int64_t)"wx";
        int64_t v16; // bp-168
        int64_t v17 = &v16; // 0x1800039d9
        g117 = v17;
        int64_t v18 = _3f__3f_0wxString_40__40_QEAA_40_PEBD_40_Z(&v16, (int64_t)"wx"); // 0x1800039e1
        g114 = v18;
        g119 = v18;
        g117 = 6;
        int64_t v19 = _3f_IsLevelEnabled_40_wxLog_40__40_SA_NKVwxString_40__40__40_Z(6, v18); // 0x1800039ef
        g114 = v19;
        int64_t v20; // 0x180003ad2
        if ((char)v19 != 0) {
            // 0x1800039fd
            int64_t v21; // bp-112
            int64_t v22 = &v21; // 0x1800039fd
            g114 = v22;
            int64_t v23 = v22; // bp-312
            g119 = (int64_t)L"FTP command '%s' failed.";
            g117 = v17;
            g114 = _3f__3f_0wxFormatString_40__40_QEAA_40_PEB_W_40_Z(&v16, L"FTP command '%s' failed.");
            g119 = v22;
            g117 = v8;
            int64_t v24 = _3f_c_str_40_wxString_40__40_QEBA_3f_AVwxCStrData_40__40_XZ(0x100000000 * v8 / 0x100000000, &v21); // 0x180003a30
            g118 = v24;
            int32_t v25 = 6; // bp-288
            g114 = (int64_t)"wxFTP::DoSimpleCommand";
            g117 = 0;
            g114 = _time64(NULL);
            g114 = _3f_GetCurrentId_40_wxThread_40__40_SAKXZ();
            int64_t v26; // bp-224
            int64_t v27 = &v26; // 0x180003a8b
            g117 = v27;
            g114 = _3f__3f_0wxString_40__40_QEAA_40_XZ(v27);
            g112 = v17;
            g119 = g118;
            int64_t v28 = &v23; // 0x180003aa8
            g117 = v28;
            int64_t v29 = _3f__3f_0_3f__24_wxArgNormalizerWchar_40_AEBVwxCStrData_40__40__40__40_QEAA_40_AEBVwxCStrData_40__40_PEBVwxFormatString_40__40_I_40_Z(&v23, g118, &v16, 1); // 0x180003aad
            g114 = v29;
            g117 = v28;
            int64_t v30 = _3f_get_40__3f__24_wxArgNormalizerWchar_40_AEBVwxCStrData_40__40__40__40_QEBAPEB_WXZ(&v23); // 0x180003ab8
            g114 = v30;
            g116 = v30;
            g117 = v17;
            int64_t v31 = _3f__3f_BwxFormatString_40__40_QEBAPEB_WXZ(v17); // 0x180003ac9
            g114 = v31;
            g119 = v31;
            v20 = g116;
            g112 = v20;
            g117 = &v25;
            g114 = function_1800024f0(&v25, v31, v20, 1);
            g117 = g118;
            g114 = _3f__3f_1wxCStrData_40__40_QEAA_40_XZ(g118);
            g117 = v27;
            g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v27, g119, v20);
            g116 = 0;
            g117 = v17;
            g114 = _3f__3f_1wxFormatString_40__40_QEAA_40_XZ(&v16);
        } else {
            int64_t v32;
            v20 = v32;
        }
        // 0x180003b30
        *(int32_t *)(g120 + 376) = 1;
        g117 = v8;
        int64_t v33 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v8, g119, v20); // 0x180003b42
        g114 = v33;
        v15 = v33 & -256;
    }
    // 0x180003b66
    g114 = v15;
    int64_t v34 = g121 ^ v5; // 0x180003b6e
    g117 = v34;
    __security_check_cookie(v34);
    g114 = &g122;
    g118 = v3;
    g120 = v2;
    g116 = v1;
    return &g122;
}
 
// Address range: 0x180003b90 - 0x180003b9f
// Demangled:     public: wxFTP::ChDir
int64_t _3f_ChDir_40_wxFTP_40__40_QEAA_NAEBVwxString_40__40__40_Z(void) {
    // 0x180003b90
    g112 = g119;
    g119 = (int64_t)L"CWD";
    int64_t result = _3f_DoSimpleCommand_40_wxFTP_40__40_IEAA_NPEB_WAEBVwxString_40__40__40_Z(g117); // 0x180003b9a
    g114 = result;
    return result;
}
 
// Address range: 0x180003ba0 - 0x180003baf
// Demangled:     public: wxFTP::MkDir
int64_t _3f_MkDir_40_wxFTP_40__40_QEAA_NAEBVwxString_40__40__40_Z(void) {
    // 0x180003ba0
    g112 = g119;
    g119 = (int64_t)L"MKD";
    int64_t result = _3f_DoSimpleCommand_40_wxFTP_40__40_IEAA_NPEB_WAEBVwxString_40__40__40_Z(g117); // 0x180003baa
    g114 = result;
    return result;
}
 
// Address range: 0x180003bb0 - 0x180003bbf
// Demangled:     public: wxFTP::RmDir
int64_t _3f_RmDir_40_wxFTP_40__40_QEAA_NAEBVwxString_40__40__40_Z(void) {
    // 0x180003bb0
    g112 = g119;
    g119 = (int64_t)L"RMD";
    int64_t result = _3f_DoSimpleCommand_40_wxFTP_40__40_IEAA_NPEB_WAEBVwxString_40__40__40_Z(g117); // 0x180003bba
    g114 = result;
    return result;
}
 
// Address range: 0x180003bc0 - 0x18000427d
// Demangled:     public: wxFTP::Pwd
int64_t _3f_Pwd_40_wxFTP_40__40_QEAA_3f_AVwxString_40__40_XZ(int64_t a1, int64_t a2) {
    // 0x180003bc0
    g119 = a2;
    g117 = a1;
    int64_t v1;
    g114 = &v1;
    int64_t v2 = g120; // 0x180003bc3
    int64_t v3 = g116; // 0x180003bda
    int64_t v4 = g119; // 0x180003be2
    g120 = v4;
    g118 = g117;
    g108 = 0;
    g117 = v4;
    g114 = _3f__3f_0wxString_40__40_QEAA_40_XZ(v4);
    g119 = (int64_t)L"PWD";
    int64_t v5; // bp-232
    int64_t v6 = &v5; // 0x180003c0f
    g117 = v6;
    g114 = _3f__3f_0wxString_40__40_QEAA_40_PEB_W_40_Z(&v5, (int64_t)L"PWD", g112);
    g119 = v6;
    int64_t v7 = g118; // 0x180003c26
    g117 = v7;
    int64_t v8 = _3f_SendCommand_40_wxFTP_40__40_QEAADAEBVwxString_40__40__40_Z(v7, v6); // 0x180003c29
    g114 = v8;
    g116 = g116 & -256 | (int64_t)((char)v8 == 50);
    g117 = v6;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v6, v6, g112);
    int64_t v9 = g118; // 0x180004149
    int64_t v10; // bp-312
    int32_t v11; // bp-376
    int64_t v12; // bp-400
    int64_t v13; // bp-80
    int64_t result; // 0x180004262
    if ((char)g116 == 0) {
        // 0x180004149
        *(int32_t *)(v9 + 376) = 2;
        g119 = (int64_t)"wx";
        g117 = &v13;
        int64_t v14 = _3f__3f_0wxString_40__40_QEAA_40_PEBD_40_Z(&v13, (int64_t)"wx"); // 0x180004165
        g114 = v14;
        g119 = v14;
        g117 = 6;
        int64_t v15 = _3f_IsLevelEnabled_40_wxLog_40__40_SA_NKVwxString_40__40__40_Z(6, v14); // 0x180004173
        g114 = v15;
        if ((char)v15 == 0) {
            // 0x180004262
            result = g120;
            g114 = result;
        } else {
            // 0x180004181
            g119 = (int64_t)L"FTP PWD command failed.";
            g117 = v6;
            _3f__3f_0wxFormatString_40__40_QEAA_40_PEB_W_40_Z(&v5, L"FTP PWD command failed.");
            v11 = 6;
            g114 = (int64_t)"wxFTP::Pwd";
            g117 = 0;
            g114 = _time64(NULL);
            g114 = _3f_GetCurrentId_40_wxThread_40__40_SAKXZ();
            int64_t v16 = &v10; // 0x1800041e6
            g117 = v16;
            g114 = _3f__3f_0wxString_40__40_QEAA_40_XZ(v16);
            g117 = v6;
            int64_t v17 = _3f__3f_BwxFormatString_40__40_QEBAPEB_WXZ(v6); // 0x1800041fd
            g114 = v17;
            g119 = v17;
            g117 = &v11;
            g114 = function_1800024f0(&v11, v17, g112, g113);
            g117 = v16;
            g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v16, v17, g112);
            g116 = g108;
            v12 = g108;
            if (g108 != 0) {
                int64_t v18 = g108 + 32; // 0x180004232
                g117 = v18;
                g114 = _3f__3f_1wxStringToStringHashMap_40__40_QEAA_40_XZ(v18);
                g117 = g108;
                g114 = _3f__3f_1wxStringToNumHashMap_40__40_QEAA_40_XZ(g108);
                g117 = g108;
                g114 = function_18001310e(g108);
            }
            // 0x18000424f
            g117 = v6;
            _3f__3f_1wxFormatString_40__40_QEAA_40_XZ(&v5);
            int64_t v19 = g120; // 0x18000425d
            g114 = v19;
            result = v19;
        }
    } else {
        int64_t v20 = v9 + 392; // 0x180003c49
        int64_t v21 = &v12; // 0x180003c50
        g119 = v21;
        g117 = v20;
        int64_t v22 = _3f_begin_40_wxString_40__40_QEAA_3f_AViterator_40_1_40_XZ(v20, &v12); // 0x180003c58
        g114 = v22;
        g117 = v22;
        int64_t v23 = g108 + 3; // 0x180003c61
        g112 = v23;
        int64_t v24; // 0x180004005
        int64_t v25 = &v24; // 0x180003c66
        g119 = v25;
        int64_t v26 = _3f__3f_Hiterator_40_wxString_40__40_QEBA_3f_AV01_40__J_40_Z(v22, &v24, v23); // 0x180003c6e
        g114 = v26;
        g117 = v26;
        int64_t v27 = g108 + 1; // 0x180003c77
        g112 = v27;
        int64_t v28; // bp-168
        int64_t v29 = &v28; // 0x180003c7c
        g119 = v29;
        int64_t v30 = _3f__3f_Hiterator_40_wxString_40__40_QEBA_3f_AV01_40__J_40_Z(v26, &v28, v27); // 0x180003c84
        g114 = v30;
        g119 = v30;
        int64_t v31; // bp-424
        int64_t v32 = &v31; // 0x180003c8d
        g117 = v32;
        g114 = _3f__3f_0const_iterator_40_wxString_40__40_QEAA_40_AEBViterator_40_1_40__40_Z(&v31, v30);
        g116 = g108 + 34;
        int64_t v33; // bp-408
        int64_t v34 = &v33; // 0x180003c9d
        g119 = v34;
        g117 = v32;
        int64_t v35 = _3f__3f_Dconst_iterator_40_wxString_40__40_QEBA_3f_AVwxUniChar_40__40_XZ(&v31, &v33); // 0x180003ca7
        g114 = v35;
        g117 = v35;
        int64_t v36 = g116; // 0x180003cb0
        g119 = v36;
        int64_t v37 = _3f__3f_9wxUniChar_40__40_QEBA_N_W_40_Z(v35, v36); // 0x180003cb3
        g114 = v37;
        int64_t v38; // bp-104
        int64_t v39; // bp-128
        if ((char)v37 == 0) {
            // 0x180003e73
            g117 = v32;
            g114 = _3f__3f_Econst_iterator_40_wxString_40__40_QEAAAEAV01_40_XZ(&v31);
            g119 = v34;
            g117 = v32;
            int64_t v40 = _3f__3f_Dconst_iterator_40_wxString_40__40_QEBA_3f_AVwxUniChar_40__40_XZ(&v31, &v33); // 0x180003e88
            g114 = v40;
            g117 = v40;
            int64_t v41 = _3f__3f_BwxUniChar_40__40_QEBA_NXZ(v40); // 0x180003e91
            g114 = v41;
            if ((char)v41 != 0) {
                // 0x180003ea0
                while (true) {
                    // 0x180003ea0
                    int64_t v42; // bp-176
                    g119 = &v42;
                    g117 = v32;
                    int64_t v43 = _3f__3f_Dconst_iterator_40_wxString_40__40_QEBA_3f_AVwxUniChar_40__40_XZ(&v31, &v42); // 0x180003ead
                    g114 = v43;
                    g117 = v43;
                    int64_t v44 = g116; // 0x180003eb6
                    g119 = v44;
                    int64_t v45 = _3f__3f_8wxUniChar_40__40_QEBA_N_W_40_Z(v43, v44); // 0x180003eb9
                    g114 = v45;
                    if ((char)v45 != 0) {
                        // 0x180003ec3
                        g117 = v32;
                        g114 = _3f__3f_Econst_iterator_40_wxString_40__40_QEAAAEAV01_40_XZ(&v31);
                        int64_t v46; // bp-240
                        g119 = &v46;
                        g117 = v32;
                        int64_t v47 = _3f__3f_Dconst_iterator_40_wxString_40__40_QEBA_3f_AVwxUniChar_40__40_XZ(&v31, &v46); // 0x180003edb
                        g114 = v47;
                        g117 = v47;
                        int64_t v48 = _3f__3f_7wxUniChar_40__40_QEBA_NXZ(v47); // 0x180003ee4
                        g114 = v48;
                        if ((char)v48 != 0) {
                            // break -> 0x180003f58
                            break;
                        }
                        // 0x180003eee
                        g119 = v25;
                        g117 = v32;
                        int64_t v49 = _3f__3f_Dconst_iterator_40_wxString_40__40_QEBA_3f_AVwxUniChar_40__40_XZ(&v31, &v24); // 0x180003efb
                        g114 = v49;
                        g117 = v49;
                        int64_t v50 = g116; // 0x180003f04
                        g119 = v50;
                        int64_t v51 = _3f__3f_9wxUniChar_40__40_QEBA_N_W_40_Z(v49, v50); // 0x180003f07
                        g114 = v51;
                        if ((char)v51 != 0) {
                            // break -> 0x180003f58
                            break;
                        }
                    }
                    // 0x180003f11
                    g119 = v21;
                    g117 = v32;
                    int64_t v52 = _3f__3f_Dconst_iterator_40_wxString_40__40_QEBA_3f_AVwxUniChar_40__40_XZ(&v31, &v12); // 0x180003f1b
                    g114 = v52;
                    uint32_t v53 = *(int32_t *)v52; // 0x180003f21
                    g119 = v53;
                    int64_t v54 = g120; // 0x180003f23
                    g117 = v54;
                    g114 = _3f__3f_YwxString_40__40_QEAAAEAV0_40_VwxUniChar_40__40__40_Z(v54, v53);
                    g117 = v32;
                    g114 = _3f__3f_Econst_iterator_40_wxString_40__40_QEAAAEAV01_40_XZ(&v31);
                    g119 = v34;
                    g117 = v32;
                    int64_t v55 = _3f__3f_Dconst_iterator_40_wxString_40__40_QEBA_3f_AVwxUniChar_40__40_XZ(&v31, &v33); // 0x180003f41
                    g114 = v55;
                    g117 = v55;
                    int64_t v56 = _3f__3f_BwxUniChar_40__40_QEBA_NXZ(v55); // 0x180003f4a
                    g114 = v56;
                    if ((char)v56 == 0) {
                        // break -> 0x180003f58
                        break;
                    }
                }
            }
            // 0x180003f58
            g119 = v21;
            g117 = v32;
            int64_t v57 = _3f__3f_Dconst_iterator_40_wxString_40__40_QEBA_3f_AVwxUniChar_40__40_XZ(&v31, &v12); // 0x180003f62
            g114 = v57;
            g117 = v57;
            int64_t v58 = _3f__3f_7wxUniChar_40__40_QEBA_NXZ(v57); // 0x180003f6b
            g114 = v58;
            if ((char)v58 == 0) {
                int64_t v59 = g120; // 0x180004141
                g114 = v59;
                result = v59;
            } else {
                // 0x180003f79
                g119 = (int64_t)"wx";
                g117 = &v13;
                int64_t v60 = _3f__3f_0wxString_40__40_QEAA_40_PEBD_40_Z(&v13, (int64_t)"wx"); // 0x180003f8b
                g114 = v60;
                g119 = v60;
                g117 = 6;
                int64_t v61 = _3f_IsLevelEnabled_40_wxLog_40__40_SA_NKVwxString_40__40__40_Z(6, v60); // 0x180003f99
                g114 = v61;
                if ((char)v61 == 0) {
                    int64_t v62 = g120; // 0x180004139
                    g114 = v62;
                    result = v62;
                } else {
                    int64_t v63 = &v38; // 0x180003fa7
                    g114 = v63;
                    v12 = v63;
                    g119 = (int64_t)L"Missing ending quote in reply for PWD: %s";
                    g117 = v6;
                    int64_t v64 = _3f__3f_0wxFormatString_40__40_QEAA_40_PEB_W_40_Z(&v5, L"Missing ending quote in reply for PWD: %s"); // 0x180003fc3
                    g114 = v64;
                    g119 = v29;
                    g117 = v20;
                    int64_t v65 = _3f_c_str_40_wxString_40__40_QEBA_3f_AVwxCStrData_40__40_XZ(v20, &v28); // 0x180003fd5
                    g114 = v65;
                    g112 = 3;
                    int64_t v66 = &v39; // 0x180003fe2
                    g119 = v66;
                    g117 = v65;
                    int64_t v67 = _3f__3f_HwxCStrData_40__40_QEBA_3f_AV0_40__K_40_Z(v65, &v39, 3); // 0x180003fed
                    g114 = v67;
                    g112 = 1;
                    g119 = v63;
                    g117 = v67;
                    v24 = _3f__3f_HwxCStrData_40__40_QEBA_3f_AV0_40_H_40_Z(0x100000000 * v67 / 0x100000000, &v38, 1);
                    g118 = v24;
                    v11 = 6;
                    g114 = (int64_t)"wxFTP::Pwd";
                    g117 = 0;
                    g114 = _time64(NULL);
                    g114 = _3f_GetCurrentId_40_wxThread_40__40_SAKXZ();
                    int64_t v68 = &v10; // 0x180004065
                    g117 = v68;
                    g114 = _3f__3f_0wxString_40__40_QEAA_40_XZ(v68);
                    g112 = v6;
                    g119 = g118;
                    g117 = v21;
                    int64_t v69 = _3f__3f_0_3f__24_wxArgNormalizerWchar_40_AEBVwxCStrData_40__40__40__40_QEAA_40_AEBVwxCStrData_40__40_PEBVwxFormatString_40__40_I_40_Z(&v12, g118, &v5, 1); // 0x18000408a
                    g114 = v69;
                    g117 = v21;
                    int64_t v70 = _3f_get_40__3f__24_wxArgNormalizerWchar_40_AEBVwxCStrData_40__40__40__40_QEBAPEB_WXZ(&v12); // 0x180004095
                    g114 = v70;
                    g116 = v70;
                    g117 = v6;
                    int64_t v71 = _3f__3f_BwxFormatString_40__40_QEBAPEB_WXZ(v6); // 0x1800040a6
                    g114 = v71;
                    g119 = v71;
                    int64_t v72 = g116; // 0x1800040af
                    g112 = v72;
                    g117 = &v11;
                    g114 = function_1800024f0(&v11, v71, v72, 1);
                    g117 = g118;
                    g114 = _3f__3f_1wxCStrData_40__40_QEAA_40_XZ(g118);
                    g117 = v68;
                    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v68, v71, v72);
                    g116 = g108;
                    v12 = g108;
                    if (g108 != 0) {
                        int64_t v73 = g108 + 32; // 0x1800040e8
                        g117 = v73;
                        g114 = _3f__3f_1wxStringToStringHashMap_40__40_QEAA_40_XZ(v73);
                        g117 = g108;
                        g114 = _3f__3f_1wxStringToNumHashMap_40__40_QEAA_40_XZ(g108);
                        g117 = g108;
                        g114 = function_18001310e(g108);
                    }
                    // 0x180004105
                    g117 = v66;
                    g114 = _3f__3f_1wxCStrData_40__40_QEAA_40_XZ(v66);
                    g117 = v29;
                    g114 = _3f__3f_1wxCStrData_40__40_QEAA_40_XZ(v29);
                    g117 = v6;
                    _3f__3f_1wxFormatString_40__40_QEAA_40_XZ(&v5);
                    int64_t v74 = g120; // 0x180004131
                    g114 = v74;
                    result = v74;
                }
            }
        } else {
            // 0x180003cc1
            g119 = (int64_t)"wx";
            int64_t v75 = &v13; // 0x180003ccb
            g117 = v75;
            int64_t v76 = _3f__3f_0wxString_40__40_QEAA_40_PEBD_40_Z(&v13, (int64_t)"wx"); // 0x180003cd3
            g114 = v76;
            g119 = v76;
            int64_t v77 = g116 - 28; // 0x180003cdc
            g117 = v77;
            int64_t v78 = _3f_IsLevelEnabled_40_wxLog_40__40_SA_NKVwxString_40__40__40_Z(v77, v76); // 0x180003cdf
            g114 = v78;
            if ((char)v78 == 0) {
                int64_t v79 = g120; // 0x180003e6b
                g114 = v79;
                result = v79;
            } else {
                // 0x180003ced
                g114 = v75;
                v12 = v75;
                g119 = (int64_t)L"Missing starting quote in reply for PWD: %s";
                g117 = v6;
                int64_t v80 = _3f__3f_0wxFormatString_40__40_QEAA_40_PEB_W_40_Z(&v5, L"Missing starting quote in reply for PWD: %s"); // 0x180003d09
                g114 = v80;
                g119 = v29;
                g117 = v20;
                int64_t v81 = _3f_end_40_wxString_40__40_QEAA_3f_AViterator_40_1_40_XZ(v20, &v28); // 0x180003d1b
                g114 = v81;
                g119 = v81;
                g117 = &v39;
                int64_t v82 = _3f__3f_0const_iterator_40_wxString_40__40_QEAA_40_AEBViterator_40_1_40__40_Z(&v39, v81); // 0x180003d2c
                g114 = v82;
                g116 = v82;
                g119 = v32;
                g117 = &v38;
                int64_t v83 = _3f__3f_0const_iterator_40_wxString_40__40_QEAA_40_AEBV01_40__40_Z(&v38, &v31); // 0x180003d42
                g114 = v83;
                g119 = v83;
                int64_t v84 = g116; // 0x180003d4b
                g112 = v84;
                g117 = v75;
                int64_t v85 = _3f__3f_0wxString_40__40_QEAA_40_Vconst_iterator_40_0_40_0_40_Z(&v13, v83, v84); // 0x180003d56
                g118 = v85;
                v24 = v85;
                v11 = 6;
                g114 = (int64_t)"wxFTP::Pwd";
                g117 = 0;
                g114 = _time64(NULL);
                g114 = _3f_GetCurrentId_40_wxThread_40__40_SAKXZ();
                int64_t v86 = &v10; // 0x180003db6
                g117 = v86;
                g114 = _3f__3f_0wxString_40__40_QEAA_40_XZ(v86);
                int64_t v87 = g108 + 1; // 0x180003dc5
                g112 = v6;
                g119 = g118;
                g117 = v21;
                int64_t v88 = _3f__3f_0_3f__24_wxArgNormalizerWchar_40_AEBVwxString_40__40__40__40_QEAA_40_AEBVwxString_40__40_PEBVwxFormatString_40__40_I_40_Z(&v12, g118, &v5, v87); // 0x180003dda
                g114 = v88;
                g117 = v21;
                int64_t v89 = _3f_get_40__3f__24_wxArgNormalizerWchar_40_AEBVwxString_40__40__40__40_QEBAPEB_WXZ(&v12); // 0x180003de5
                g114 = v89;
                g116 = v89;
                g117 = v6;
                int64_t v90 = _3f__3f_BwxFormatString_40__40_QEBAPEB_WXZ(v6); // 0x180003df6
                g114 = v90;
                g119 = v90;
                int64_t v91 = g116; // 0x180003dff
                g112 = v91;
                g117 = &v11;
                g114 = function_1800024f0(&v11, v90, v91, v87);
                g117 = g118;
                g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(g118, v90, v91);
                g117 = v86;
                g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v86, v90, v91);
                g116 = g108;
                v12 = g108;
                if (g108 != 0) {
                    int64_t v92 = g108 + 32; // 0x180003e38
                    g117 = v92;
                    g114 = _3f__3f_1wxStringToStringHashMap_40__40_QEAA_40_XZ(v92);
                    g117 = g108;
                    g114 = _3f__3f_1wxStringToNumHashMap_40__40_QEAA_40_XZ(g108);
                    g117 = g108;
                    g114 = function_18001310e(g108);
                }
                // 0x180003e55
                g117 = v6;
                _3f__3f_1wxFormatString_40__40_QEAA_40_XZ(&v5);
                int64_t v93 = g120; // 0x180003e63
                g114 = v93;
                result = v93;
            }
        }
    }
    // 0x180004265
    g116 = v3;
    g120 = v2;
    return result;
}
 
// Address range: 0x180004280 - 0x180004375
// Demangled:     public: wxFTP::Rename
int64_t _3f_Rename_40_wxFTP_40__40_QEAA_NAEBVwxString_40__40_0_40_Z(int64_t a1, int64_t a2, int64_t a3) {
    // 0x180004280
    g112 = a3;
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x180004280
    int64_t v2 = g120; // 0x180004282
    int64_t v3; // bp-184
    int64_t v4 = g61 ^ (int64_t)&v3; // 0x18000429b
    g114 = v4;
    g120 = g112;
    g116 = g119;
    g118 = g117;
    int64_t v5; // bp-88
    int64_t v6 = &v5; // 0x1800042af
    g117 = v6;
    g114 = _3f__3f_0wxString_40__40_QEAA_40_XZ(v6);
    int64_t v7 = g116; // 0x1800042bb
    g112 = v7;
    g119 = (int64_t)L"RNFR ";
    int64_t v8; // bp-144
    int64_t v9 = &v8; // 0x1800042c5
    g117 = v9;
    int64_t v10 = _3f__3f_H_40_YA_3f_AVwxString_40__40_PEB_WAEBV0_40__40_Z(&v8, L"RNFR ", v7); // 0x1800042ca
    g114 = v10;
    g119 = v10;
    g117 = v6;
    g114 = _3f__3f_4wxString_40__40_QEAAAEAV0_40_AEBV0_40__40_Z(v6, v10);
    g117 = v9;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v9, v10, v7);
    g119 = v6;
    int64_t v11 = g118; // 0x1800042f0
    g117 = v11;
    int64_t v12 = _3f_SendCommand_40_wxFTP_40__40_QEAADAEBVwxString_40__40__40_Z(v11, v6); // 0x1800042f3
    g114 = v12;
    int64_t v13;
    if ((char)v12 == 51) {
        int64_t v14 = g120; // 0x18000430b
        g112 = v14;
        g119 = (int64_t)L"RNTO ";
        g117 = v9;
        int64_t v15 = _3f__3f_H_40_YA_3f_AVwxString_40__40_PEB_WAEBV0_40__40_Z(&v8, L"RNTO ", v14); // 0x18000431a
        g114 = v15;
        g119 = v15;
        g117 = v6;
        g114 = _3f__3f_4wxString_40__40_QEAAAEAV0_40_AEBV0_40__40_Z(v6, v15);
        g117 = v9;
        g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v9, v15, v14);
        g119 = v6;
        int64_t v16 = g118; // 0x180004340
        g117 = v16;
        int64_t v17 = _3f_SendCommand_40_wxFTP_40__40_QEAADAEBVwxString_40__40__40_Z(v16, v6); // 0x180004343
        g114 = v17;
        g116 = g116 & -256 | (int64_t)((char)v17 == 50);
        g117 = v6;
        int64_t v18 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v6, v6, v14); // 0x180004352
        g114 = v18;
        v13 = g116 | v18 & -256;
    } else {
        // 0x1800042fc
        g117 = v6;
        int64_t v19 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v6, v6, v7); // 0x180004301
        g114 = v19;
        v13 = v19 & -256;
    }
    // 0x18000435a
    g114 = v13;
    int64_t v20 = g121 ^ v4; // 0x180004362
    g117 = v20;
    __security_check_cookie(v20);
    g114 = &g122;
    g120 = v2;
    g116 = v1;
    return &g122;
}
 
// Address range: 0x180004380 - 0x18000442e
// Demangled:     public: wxFTP::RmFile
int64_t _3f_RmFile_40_wxFTP_40__40_QEAA_NAEBVwxString_40__40__40_Z(int64_t a1, int64_t a2) {
    // 0x180004380
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x180004392
    int64_t v2; // bp-168
    int64_t v3 = g61 ^ (int64_t)&v2; // 0x1800043a1
    g114 = v3;
    g116 = g119;
    g118 = g117;
    int64_t v4; // bp-72
    int64_t v5 = &v4; // 0x1800043b2
    g117 = v5;
    g114 = _3f__3f_0wxString_40__40_QEAA_40_XZ(v5);
    int64_t v6 = g116; // 0x1800043be
    g112 = v6;
    g119 = (int64_t)L"DELE ";
    int64_t v7; // bp-128
    int64_t v8 = &v7; // 0x1800043c8
    g117 = v8;
    int64_t v9 = _3f__3f_H_40_YA_3f_AVwxString_40__40_PEB_WAEBV0_40__40_Z(&v7, L"DELE ", v6); // 0x1800043cd
    g114 = v9;
    g119 = v9;
    g117 = v5;
    g114 = _3f__3f_4wxString_40__40_QEAAAEAV0_40_AEBV0_40__40_Z(v5, v9);
    g117 = v8;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v8, v9, v6);
    g119 = v5;
    int64_t v10 = g118; // 0x1800043f3
    g117 = v10;
    int64_t v11 = _3f_SendCommand_40_wxFTP_40__40_QEAADAEBVwxString_40__40__40_Z(v10, v5); // 0x1800043f6
    g114 = v11;
    g116 = g116 & -256 | (int64_t)((char)v11 == 50);
    g117 = v5;
    g114 = g116 | _3f__3f_1wxString_40__40_QEAA_40_XZ(v5, v5, v6) & -256;
    int64_t v12 = g121 ^ v3; // 0x180004415
    g117 = v12;
    __security_check_cookie(v12);
    g114 = &g122;
    g116 = v1;
    return &g122;
}
 
// Address range: 0x180004430 - 0x18000482b
// Demangled:     protected: wxFTP::GetActivePort
int64_t _3f_GetActivePort_40_wxFTP_40__40_IEAAPEAVwxSocketBase_40__40_XZ(int64_t a1) {
    // 0x180004430
    g117 = a1;
    int64_t v1 = g116; // 0x180004444
    int64_t v2 = g120; // 0x180004448
    int64_t v3; // bp-552
    int64_t v4 = g61 ^ (int64_t)&v3; // 0x180004453
    g114 = v4;
    g118 = g117;
    int32_t v5; // bp-232
    int64_t v6 = &v5; // 0x180004461
    g117 = v6;
    g114 = _3f__3f_0wxSockAddress_40__40_QEAA_40_XZ(v6);
    g120 = &g6;
    v5 = &g6;
    int64_t v7; // bp-208
    int64_t v8 = &v7; // 0x18000447d
    g117 = v8;
    g114 = _3f__3f_0wxString_40__40_QEAA_40_XZ(v8);
    g116 = &g7;
    v5 = &g7;
    int32_t v9; // bp-152
    int64_t v10 = &v9; // 0x18000449b
    g117 = v10;
    g114 = _3f__3f_0wxSockAddress_40__40_QEAA_40_XZ(v10);
    v9 = g120;
    int64_t v11; // bp-128
    int64_t v12 = &v11; // 0x1800044b1
    g117 = v12;
    _3f__3f_0wxString_40__40_QEAA_40_XZ(v12);
    v9 = g116;
    g114 = v12;
    g119 = v10;
    g117 = v6;
    int64_t v13 = _3f_AnyAddress_40_wxIPaddress_40__40_QEAA_NXZ((int64_t *)&v5, (int64_t *)&v9); // 0x1800044e1
    g114 = v13;
    g119 = 0;
    g117 = v6;
    g114 = _3f_Service_40_wxIPaddress_40__40_QEAA_NG_40_Z((int64_t *)&v5, 0);
    g117 = 248;
    int64_t v14 = function_18001323c(248, 0); // 0x1800044fa
    g114 = v14;
    g120 = 0;
    int64_t v15;
    int64_t v16; // 0x180004586
    if (v14 == 0) {
        // 0x180004523
        int32_t v17;
        v15 = v17;
        v16 = 0;
    } else {
        // 0x18000450b
        g112 = 0;
        g119 = v6;
        g117 = v14;
        int64_t v18 = _3f__3f_0wxSocketServer_40__40_QEAA_40_AEBVwxSockAddress_40__40_H_40_Z(v14, (int64_t *)&v5, 0); // 0x180004519
        g114 = v18;
        v15 = 0;
        v16 = v18;
    }
    // 0x180004526
    g116 = v16;
    int64_t v19; // bp-344
    int64_t v20; // 0x1800045a7
    int64_t v21; // 0x1800045f9
    int64_t v22; // 0x180004624
    int64_t v23; // 0x18000465d
    if (*(int64_t *)(v16 + 16) != 0) {
        // 0x180004586
        g114 = *(int64_t *)v16;
        g112 = v10;
        int64_t v24; // bp-72
        v20 = &v24;
        g119 = v20;
        int64_t v25 = g118; // 0x1800045af
        g117 = v25;
        int64_t v26 = _3f_GetPortCmdArgument_40_wxFTP_40__40_IEAA_3f_AVwxString_40__40_AEBVwxIPV4address_40__40_0_40_Z(v25, &v24, (int64_t *)&v9, (int64_t *)&v5); // 0x1800045b2
        g114 = v26;
        g112 = v20;
        g119 = (int64_t)L"PORT";
        int64_t v27 = g118; // 0x1800045c7
        g117 = v27;
        int64_t v28 = _3f_DoSimpleCommand_40_wxFTP_40__40_IEAA_NPEB_WAEBVwxString_40__40__40_Z(v27); // 0x1800045ca
        g114 = v28;
        if ((char)v28 != 0) {
            // 0x1800047aa
            *(int32_t *)(g118 + 376) = (int32_t)g120;
            g119 = 0;
            int64_t v29 = g116; // 0x1800047b2
            g117 = v29;
            g114 = _3f_Notify_40_wxSocketBase_40__40_QEAAX_N_40_Z(v29, 0);
            g117 = v20;
            g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v20, 0, g112);
            g117 = v12;
            g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v12, 0, g112);
            g117 = v10;
            g114 = _3f__3f_1wxSockAddress_40__40_UEAA_40_XZ(v10);
            g117 = v8;
            g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v8, 0, g112);
            g117 = v6;
            _3f__3f_1wxSockAddress_40__40_UEAA_40_XZ(v6);
            g114 = g116;
            goto lab_0x180004806;
        } else {
            // 0x1800045d7
            *(int32_t *)(g118 + 376) = 2;
            g114 = *(int64_t *)g116;
            g119 = (int64_t)"wx";
            int64_t v30; // bp-288
            v21 = &v30;
            g117 = v21;
            int64_t v31 = _3f__3f_0wxString_40__40_QEAA_40_PEBD_40_Z(&v30, (int64_t)"wx"); // 0x180004601
            g114 = v31;
            g119 = v31;
            g117 = 1;
            int64_t v32 = _3f_IsLevelEnabled_40_wxLog_40__40_SA_NKVwxString_40__40__40_Z(1, v31); // 0x18000460f
            g114 = v32;
            if ((char)v32 == 0) {
                goto lab_0x18000475e;
            } else {
                // 0x18000461d
                g119 = (int64_t)"The FTP server doesn't support the PORT command.";
                v22 = &v19;
                g117 = v22;
                int64_t v33 = _3f__3f_0wxString_40__40_QEAA_40_PEBD_40_Z(&v19, (int64_t)"The FTP server doesn't support the PORT command."); // 0x18000462c
                g114 = v33;
                g117 = v21;
                int64_t v34 = _3f__3f_0wxString_40__40_QEAA_40_XZ(v21); // 0x18000463b
                g114 = v34;
                g116 = v34;
                int64_t v35 = _3f_Get_40_wxTranslations_40__40_SAPEAV1_40_XZ(); // 0x180004644
                g114 = v35;
                if (v35 == 0) {
                    goto lab_0x180004668;
                } else {
                    int64_t v36 = g116; // 0x18000464f
                    g112 = v36;
                    g119 = v22;
                    g117 = v35;
                    v23 = _3f_GetTranslatedString_40_wxTranslations_40__40_QEBAPEBVwxString_40__40_AEBV2_40_0_40_Z(v35, &v19, v36);
                    g114 = v23;
                    if (v23 != 0) {
                        goto lab_0x180004676;
                    } else {
                        goto lab_0x180004668;
                    }
                }
            }
        }
    } else {
        // 0x18000452d
        *(int32_t *)(g118 + 376) = 2;
        g114 = *(int64_t *)g116;
        g119 = 1;
        g117 = v12;
        g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v12, 1, v15);
        g117 = v10;
        g114 = _3f__3f_1wxSockAddress_40__40_UEAA_40_XZ(v10);
        g117 = v8;
        g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v8, 1, v15);
        g117 = v6;
        _3f__3f_1wxSockAddress_40__40_UEAA_40_XZ(v6);
        g114 = 0;
        goto lab_0x180004806;
    }
  lab_0x180004806:;
    int64_t v37 = g121 ^ v4; // 0x18000480e
    g117 = v37;
    __security_check_cookie(v37);
    g114 = &g122;
    g116 = v1;
    g120 = v2;
    return &g122;
  lab_0x18000475e:
    // 0x18000475e
    g117 = v20;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v20, g119, g112);
    g117 = v12;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v12, g119, g112);
    g117 = v10;
    g114 = _3f__3f_1wxSockAddress_40__40_UEAA_40_XZ(v10);
    g117 = v8;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v8, g119, g112);
    g117 = v6;
    _3f__3f_1wxSockAddress_40__40_UEAA_40_XZ(v6);
    g114 = 0;
    goto lab_0x180004806;
  lab_0x180004668:
    // 0x180004668
    g117 = v22;
    int64_t v38 = _3f_GetUntranslatedString_40_wxTranslations_40__40_SAAEBVwxString_40__40_AEBV2_40__40_Z(&v19); // 0x180004670
    g114 = v38;
    v23 = v38;
    goto lab_0x180004676;
  lab_0x180004676:
    // 0x180004676
    g119 = v23;
    int64_t v39; // bp-384
    int64_t v40 = &v39; // 0x180004679
    g117 = v40;
    _3f__3f_0wxFormatString_40__40_QEAA_40_AEBVwxString_40__40__40_Z(&v39, v23);
    int32_t v41 = 1; // bp-504
    g114 = (int64_t)"wxFTP::GetActivePort";
    g117 = 0;
    g114 = _time64(NULL);
    g114 = _3f_GetCurrentId_40_wxThread_40__40_SAKXZ();
    int64_t v42 = g120; // 0x1800046cc
    int64_t v43; // bp-440
    int64_t v44 = &v43; // 0x1800046d1
    g117 = v44;
    g114 = _3f__3f_0wxString_40__40_QEAA_40_XZ(v44);
    g117 = v40;
    int64_t v45 = _3f__3f_BwxFormatString_40__40_QEBAPEB_WXZ(v40); // 0x1800046e5
    g114 = v45;
    g119 = v45;
    g117 = &v41;
    g114 = function_1800024f0(&v41, v45, g112, v6);
    g117 = v44;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v44, g119, g112);
    g116 = v42;
    if (v42 != 0) {
        int64_t v46 = v42 + 32; // 0x180004714
        g117 = v46;
        g114 = _3f__3f_1wxStringToStringHashMap_40__40_QEAA_40_XZ(v46);
        g117 = v42;
        g114 = _3f__3f_1wxStringToNumHashMap_40__40_QEAA_40_XZ(v42);
        g117 = v42;
        g114 = function_18001310e(v42);
    }
    // 0x180004731
    g117 = v40;
    g114 = _3f__3f_1wxFormatString_40__40_QEAA_40_XZ(&v39);
    g117 = v21;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v21, g119, g112);
    g117 = v22;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v22, g119, g112);
    goto lab_0x18000475e;
}
 
// Address range: 0x180004830 - 0x180004c7f
// Demangled:     protected: wxFTP::GetPassivePort
int64_t _3f_GetPassivePort_40_wxFTP_40__40_IEAAPEAVwxSocketBase_40__40_XZ(int64_t a1) {
    // 0x180004830
    g117 = a1;
    int64_t v1 = g116; // 0x180004847
    int64_t v2 = g120; // 0x18000484b
    int64_t v3; // bp-536
    int64_t v4 = g61 ^ (int64_t)&v3; // 0x180004856
    g114 = v4;
    g120 = g117;
    int64_t v5 = *(int64_t *)0x180019b50; // 0x180004864
    g119 = v5;
    int64_t v6 = *(int64_t *)v5; // 0x18000486b
    g119 = v6;
    int64_t v7; // bp-440
    int64_t v8 = &v7; // 0x18000486e
    g117 = v8;
    g114 = _3f__3f_0wxString_40__40_QEAA_40_PEB_W_40_Z(&v7, v6, g112);
    g112 = v8;
    g119 = (int64_t)L"PASV";
    int64_t v9 = g120; // 0x180004886
    g117 = v9;
    int64_t v10 = _3f_DoSimpleCommand_40_wxFTP_40__40_IEAA_NPEB_WAEBVwxString_40__40__40_Z(v9); // 0x180004889
    g114 = v10;
    g116 = g116 & -256 | (int64_t)((char)v10 == 0);
    g117 = v8;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v8, (int64_t)L"PASV", g112);
    int64_t v11; // 0x1800048ba
    int64_t v12; // 0x180004918
    if ((char)g116 == 0) {
        // 0x180004a41
        g119 = 40;
        g112 = 0;
        int64_t v13 = g120 + 392; // 0x180004a49
        g117 = v13;
        int64_t v14 = _3f_find_40_wxString_40__40_QEBA_K_W_K_40_Z(v13, 40, 0); // 0x180004a50
        g114 = v14;
        g116 = v14;
        int64_t v15 = *(int64_t *)0x180019bf8; // 0x180004a59
        g117 = v15;
        int64_t v16 = *(int64_t *)v15; // 0x180004a60
        g114 = v16;
        int64_t v17; // 0x180004a7d
        int64_t v18; // 0x180004a77
        if (v14 != v16) {
            // 0x180004a68
            g119 = 41;
            g112 = v14;
            int64_t v19 = g120 + 392; // 0x180004a70
            g117 = v19;
            v18 = _3f_find_40_wxString_40__40_QEBA_K_W_K_40_Z(v19, 41, (int32_t)v14);
            g114 = v18;
            v17 = *(int64_t *)0x180019bf8;
            g117 = v17;
        } else {
            v17 = v15;
            v18 = v14;
        }
        // 0x180004a84
        if (v18 != *(int64_t *)v17) {
            int64_t v20 = g116; // 0x180004a9a
            int64_t v21 = v18 - v20; // 0x180004a9a
            g114 = v21;
            int64_t v22 = v20 + 1; // 0x180004a9d
            g112 = v22;
            int64_t v23 = g120 + 392; // 0x180004aa5
            g119 = v23;
            int64_t v24; // bp-72
            int64_t v25 = &v24; // 0x180004aac
            g117 = v25;
            int64_t v26 = _3f__3f_0wxString_40__40_QEAA_40_AEBV0_40__K1_40_Z(&v24, v23, v22, v21 - 1); // 0x180004ab4
            g114 = v26;
            g117 = v25;
            int64_t wstr = _3f_wc_str_40_wxString_40__40_QEBAPEB_WXZ(&v24); // 0x180004ac3
            g117 = wstr;
            int32_t v27; // bp-456
            g114 = &v27;
            int32_t v28; // bp-460
            g113 = &v28;
            int32_t v29; // bp-464
            g112 = &v29;
            g119 = (int64_t)L"%d,%d,%d,%d,%d,%d";
            swscanf((int16_t *)wstr, L"%d,%d,%d,%d,%d,%d");
            g114 = v27;
            int32_t v30;
            g118 = 256 * (256 * (256 * v29 | v28) | v27) | v30;
            int16_t v31;
            int16_t v32;
            g116 = (int64_t)(v32 | 256 * v31) | (int64_t)v31 & -0x10000;
            int32_t v33; // bp-152
            int64_t v34 = &v33; // 0x180004b39
            g117 = v34;
            _3f__3f_0wxSockAddress_40__40_QEAA_40_XZ(v34);
            g114 = &g6;
            v33 = &g6;
            int64_t v35; // bp-128
            int64_t v36 = &v35; // 0x180004b56
            g117 = v36;
            _3f__3f_0wxString_40__40_QEAA_40_XZ(v36);
            g114 = &g7;
            v33 = &g7;
            int64_t v37 = g118; // 0x180004b74
            g119 = v37;
            g117 = v34;
            g114 = _3f_Hostname_40_wxIPV4address_40__40_QEAA_NK_40_Z((int64_t *)&v33, v37);
            int64_t v38 = g116; // 0x180004b83
            g119 = v38;
            g117 = v34;
            int64_t v39 = 0x100000000 * v38 / 0x100000000; // 0x180004b8e
            g114 = _3f_Service_40_wxIPaddress_40__40_QEAA_NG_40_Z((int64_t *)&v33, v39);
            g117 = 256;
            int64_t v40 = function_18001323c(256, v39); // 0x180004b98
            g114 = v40;
            int64_t v41; // 0x180004bac
            if (v40 != 0) {
                // 0x180004ba7
                g119 = 0;
                g117 = v40;
                v41 = _3f__3f_0wxSocketClient_40__40_QEAA_40_H_40_Z(v40);
                g114 = v41;
            } else {
                v41 = 0;
            }
            // 0x180004bb8
            g116 = v41;
            int64_t v42 = *(int64_t *)v41; // 0x180004bb8
            g114 = v42;
            int64_t v43; // bp-511
            int64_t v44 = &v43; // 0x180004bbb
            g112 = v44;
            g119 = v34;
            g117 = v41;
            if ((char)v42 != 0) {
                // 0x180004c18
                g119 = 0;
                g117 = v41;
                g114 = _3f_Notify_40_wxSocketBase_40__40_QEAAX_N_40_Z(v41, 0);
                *(int32_t *)(g120 + 376) = 0;
                g117 = v36;
                g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v36, 0, v44);
                g117 = v34;
                g114 = _3f__3f_1wxSockAddress_40__40_UEAA_40_XZ(v34);
                g117 = v25;
                _3f__3f_1wxString_40__40_QEAA_40_XZ(v25, 0, v44);
                g114 = g116;
            } else {
                // 0x180004bd0
                *(int32_t *)(g120 + 376) = 3;
                g114 = *(int64_t *)g116;
                g119 = 1;
                g117 = v36;
                g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v36, 1, v44);
                g117 = v34;
                g114 = _3f__3f_1wxSockAddress_40__40_UEAA_40_XZ(v34);
                g117 = v25;
                _3f__3f_1wxString_40__40_QEAA_40_XZ(v25, 1, v44);
                g114 = 0;
            }
        } else {
            // 0x180004a89
            *(int32_t *)(g120 + 376) = 2;
            g114 = 0;
        }
        goto lab_0x180004c5a;
    } else {
        // 0x1800048a6
        *(int32_t *)(g120 + 376) = 2;
        g119 = (int64_t)"wx";
        int64_t v45; // bp-216
        v11 = &v45;
        g117 = v11;
        int64_t v46 = _3f__3f_0wxString_40__40_QEAA_40_PEBD_40_Z(&v45, (int64_t)"wx"); // 0x1800048c2
        g114 = v46;
        g119 = v46;
        g117 = 1;
        int64_t v47 = _3f_IsLevelEnabled_40_wxLog_40__40_SA_NKVwxString_40__40__40_Z(1, v46); // 0x1800048d0
        g114 = v47;
        if ((char)v47 == 0) {
            // 0x180004a3a
            g114 = 0;
            goto lab_0x180004c5a;
        } else {
            // 0x1800048de
            g119 = (int64_t)"The FTP server doesn't support passive mode.";
            g117 = v8;
            int64_t v48 = _3f__3f_0wxString_40__40_QEAA_40_PEBD_40_Z(&v7, (int64_t)"The FTP server doesn't support passive mode."); // 0x1800048ea
            g114 = v48;
            g117 = v11;
            int64_t v49 = _3f__3f_0wxString_40__40_QEAA_40_XZ(v11); // 0x1800048f9
            g114 = v49;
            g116 = v49;
            int64_t v50 = _3f_Get_40_wxTranslations_40__40_SAPEAV1_40_XZ(); // 0x180004902
            g114 = v50;
            if (v50 == 0) {
                goto lab_0x180004923;
            } else {
                int64_t v51 = g116; // 0x18000490d
                g112 = v51;
                g119 = v8;
                g117 = v50;
                v12 = _3f_GetTranslatedString_40_wxTranslations_40__40_QEBAPEBVwxString_40__40_AEBV2_40_0_40_Z(v50, &v7, v51);
                g114 = v12;
                if (v12 != 0) {
                    goto lab_0x18000492e;
                } else {
                    goto lab_0x180004923;
                }
            }
        }
    }
  lab_0x180004c5a:;
    int64_t v52 = g121 ^ v4; // 0x180004c62
    g117 = v52;
    __security_check_cookie(v52);
    g114 = &g122;
    g116 = v1;
    g120 = v2;
    return &g122;
  lab_0x180004923:
    // 0x180004923
    g117 = v8;
    int64_t v53 = _3f_GetUntranslatedString_40_wxTranslations_40__40_SAAEBVwxString_40__40_AEBV2_40__40_Z(&v7); // 0x180004928
    g114 = v53;
    v12 = v53;
    goto lab_0x18000492e;
  lab_0x18000492e:
    // 0x18000492e
    g119 = v12;
    int64_t v54; // bp-256
    int64_t v55 = &v54; // 0x180004931
    g117 = v55;
    _3f__3f_0wxFormatString_40__40_QEAA_40_AEBVwxString_40__40__40_Z(&v54, v12);
    int32_t v56 = 1; // bp-376
    g114 = (int64_t)"wxFTP::GetPassivePort";
    g117 = 0;
    g114 = _time64(NULL);
    g114 = _3f_GetCurrentId_40_wxThread_40__40_SAKXZ();
    int64_t v57; // bp-312
    int64_t v58 = &v57; // 0x1800049a5
    g117 = v58;
    g114 = _3f__3f_0wxString_40__40_QEAA_40_XZ(v58);
    g117 = v55;
    int64_t v59 = _3f__3f_BwxFormatString_40__40_QEBAPEB_WXZ(v55); // 0x1800049bc
    g114 = v59;
    g119 = v59;
    g117 = &v56;
    g114 = function_1800024f0(&v56, v59, g112, g113);
    g117 = v58;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v58, v59, g112);
    g116 = 0;
    g117 = v55;
    g114 = _3f__3f_1wxFormatString_40__40_QEAA_40_XZ(&v54);
    g117 = v11;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v11, v59, g112);
    g117 = v8;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v8, v59, g112);
    // 0x180004a3a
    g114 = 0;
    goto lab_0x180004c5a;
}
 
// Address range: 0x180004c80 - 0x180004cd2
// Demangled:     public: virtual wxFTP::~wxFTP
int64_t _3f__3f_1wxFTP_40__40_UEAA_40_XZ(int64_t a1) {
    // 0x180004c80
    g117 = a1;
    int64_t v1 = g116; // 0x180004c85
    g116 = a1;
    g114 = &g15;
    *(int64_t *)a1 = (int64_t)&g15;
    if (*(char *)(a1 + 448) != 0) {
        // 0x180004ca9
        g114 = _3f_Abort_40_wxFTP_40__40_UEAA_NXZ(a1);
    }
    int64_t v2 = g116; // 0x180004cae
    g117 = v2;
    g114 = _3f_Close_40_wxFTP_40__40_UEAA_NXZ(v2);
    int64_t v3 = g116 + 392; // 0x180004cb7
    g117 = v3;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v3, g119, g112);
    int64_t v4 = g116; // 0x180004cc5
    g117 = v4;
    g116 = v1;
    int64_t result = _3f__3f_1wxProtocol_40__40_UEAA_40_XZ(v4); // 0x180004ccd
    g114 = result;
    return result;
}
 
// Address range: 0x180004ce0 - 0x180005160
// Demangled:     public: wxFTP::SetTransferMode
int64_t _3f_SetTransferMode_40_wxFTP_40__40_QEAA_NW4TransferMode_40_1_40__40_Z(int64_t a1, int64_t a2) {
    // 0x180004ce0
    g119 = a2;
    g117 = a1;
    int64_t v1 = g109; // 0x180004ce5
    int64_t v2 = g110; // 0x180004ce7
    int64_t v3 = g116; // 0x180004cf9
    int64_t v4 = g120; // 0x180004cfd
    int64_t v5 = g118; // 0x180004d01
    int64_t v6; // bp-728
    int64_t v7 = g61 ^ (int64_t)&v6; // 0x180004d0c
    g114 = v7;
    int64_t v8 = g119; // 0x180004d17
    g116 = v8;
    int64_t v9 = g117; // 0x180004d19
    g118 = v9;
    int64_t v10; // bp-152
    int64_t v11; // bp-376
    int64_t v12; // bp-432
    int64_t v13; // bp-672
    int64_t v14; // 0x180004d33
    int64_t v15; // 0x180004df0
    int64_t v16; // 0x180004e14
    int64_t v17; // 0x180004e2d
    int64_t v18; // 0x180004e9f
    if ((int32_t)v8 != *(int32_t *)(v9 + 452)) {
        // 0x180004d33
        int64_t v19; // bp-96
        v14 = &v19;
        g117 = v14;
        g114 = _3f__3f_0wxString_40__40_QEAA_40_XZ(v14);
        g109 = (int64_t)"wxFTP::SetTransferMode";
        g110 = (int64_t)"..\\..\\src\\common\\ftp.cpp";
        int32_t v20 = g116; // 0x180004d52
        uint32_t v21 = v20 - 1; // 0x180004d52
        g117 = v21;
        int64_t v22;
        if (v21 == 0) {
            // 0x180004db4
            g119 = 65;
            g117 = v14;
            v22 = _3f__3f_4wxString_40__40_QEAAAEAV0_40__W_40_Z(&v19, 65);
        } else {
            if (v20 != 2) {
                int64_t v23 = *(int64_t *)0x180019440; // 0x180004d5c
                g114 = v23;
                if (*(int64_t *)v23 != 0) {
                    // 0x180004d69
                    g114 = (int64_t)L"unknown FTP transfer mode";
                    g113 = (int64_t)"Assert failure";
                    g112 = (int64_t)"wxFTP::SetTransferMode";
                    g119 = 390;
                    g117 = (int64_t)"..\\..\\src\\common\\ftp.cpp";
                    g114 = _3f_wxOnAssert_40__40_YAXPEBDH00PEB_W_40_Z((int64_t)"..\\..\\src\\common\\ftp.cpp", 390, (int64_t)"wxFTP::SetTransferMode", "Assert failure", (int64_t)L"unknown FTP transfer mode");
                    char * v24 = (char *)*(int64_t *)0x180019430; // 0x180004d94
                    if (*v24 != 0) {
                        // 0x180004d9a
                        *v24 = 0;
                        g114 = __asm_int3();
                    }
                }
            }
            // 0x180004d9f
            g119 = 73;
            g117 = v14;
            v22 = _3f__3f_4wxString_40__40_QEAAAEAV0_40__W_40_Z(&v19, 73);
        }
        // 0x180004dc7
        g114 = v22;
        g112 = v14;
        g119 = (int64_t)L"TYPE";
        int64_t v25 = g118; // 0x180004dd6
        g117 = v25;
        int64_t v26 = _3f_DoSimpleCommand_40_wxFTP_40__40_IEAA_NPEB_WAEBVwxString_40__40__40_Z(v25); // 0x180004dd9
        g114 = v26;
        if ((char)v26 != 0) {
            // 0x18000511c
            *(int32_t *)(g118 + 452) = (int32_t)g116;
            g117 = v14;
            g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v14, (int64_t)L"TYPE", g112) & -256 | 1;
            goto lab_0x180005132;
        } else {
            // 0x180004de6
            g119 = (int64_t)"wx";
            int64_t v27; // bp-320
            v15 = &v27;
            g117 = v15;
            int64_t v28 = _3f__3f_0wxString_40__40_QEAA_40_PEBD_40_Z(&v27, (int64_t)"wx"); // 0x180004df8
            g114 = v28;
            g119 = v28;
            g117 = 1;
            int64_t v29 = _3f_IsLevelEnabled_40_wxLog_40__40_SA_NKVwxString_40__40__40_Z(1, v28); // 0x180004e06
            g114 = v29;
            if ((char)v29 == 0) {
                goto lab_0x18000510a;
            } else {
                // 0x180004e14
                int64_t v30; // bp-208
                v16 = &v30;
                g114 = v16;
                v13 = v16;
                if ((int32_t)g116 != 1) {
                    // 0x180004e98
                    g119 = (int64_t)"binary";
                    v18 = &v11;
                    g117 = v18;
                    g114 = _3f__3f_0wxString_40__40_QEAA_40_PEBD_40_Z(&v11, (int64_t)"binary");
                    int64_t v31 = &v10; // 0x180004eb6
                    g117 = v31;
                    int64_t v32 = _3f__3f_0wxString_40__40_QEAA_40_XZ(v31); // 0x180004ebe
                    g114 = v32;
                    g116 = v32;
                    g120 = 12;
                    int64_t v33 = _3f_Get_40_wxTranslations_40__40_SAPEAV1_40_XZ(); // 0x180004ed0
                    g114 = v33;
                    if (v33 == 0) {
                        goto lab_0x180004ef7;
                    } else {
                        int64_t v34 = g116; // 0x180004edb
                        g112 = v34;
                        g119 = v18;
                        g117 = v33;
                        int64_t v35 = _3f_GetTranslatedString_40_wxTranslations_40__40_QEBAPEBVwxString_40__40_AEBV2_40_0_40_Z(v33, &v11, v34); // 0x180004ee9
                        g114 = v35;
                        g116 = v35;
                        if (v35 != 0) {
                            goto lab_0x180004f08;
                        } else {
                            goto lab_0x180004ef7;
                        }
                    }
                } else {
                    // 0x180004e26
                    g119 = (int64_t)"ASCII";
                    v17 = &v12;
                    g117 = v17;
                    g114 = _3f__3f_0wxString_40__40_QEAA_40_PEBD_40_Z(&v12, (int64_t)"ASCII");
                    g117 = v15;
                    int64_t v36 = _3f__3f_0wxString_40__40_QEAA_40_XZ(v15); // 0x180004e48
                    g114 = v36;
                    g116 = v36;
                    g120 = 3;
                    int64_t v37 = _3f_Get_40_wxTranslations_40__40_SAPEAV1_40_XZ(); // 0x180004e5a
                    g114 = v37;
                    if (v37 == 0) {
                        goto lab_0x180004e85;
                    } else {
                        int64_t v38 = g116; // 0x180004e65
                        g112 = v38;
                        g119 = v17;
                        g117 = v37;
                        int64_t v39 = _3f_GetTranslatedString_40_wxTranslations_40__40_QEBAPEBVwxString_40__40_AEBV2_40_0_40_Z(v37, &v12, v38); // 0x180004e73
                        g114 = v39;
                        g116 = v39;
                        if (v39 != 0) {
                            goto lab_0x180004f08;
                        } else {
                            goto lab_0x180004e85;
                        }
                    }
                }
            }
        }
    } else {
        // 0x180004d2c
        g114 = v7 & -256 | 1;
        goto lab_0x180005132;
    }
  lab_0x180005132:;
    int64_t v40 = g121 ^ v7; // 0x18000513a
    g117 = v40;
    __security_check_cookie(v40);
    g114 = &g122;
    g116 = v3;
    g120 = v4;
    g118 = v5;
    g110 = v2;
    g109 = v1;
    return &g122;
  lab_0x18000510a:
    // 0x18000510a
    g117 = v14;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v14, g119, g112) & -256;
    goto lab_0x180005132;
  lab_0x180004ef7:
    // 0x180004ef7
    g117 = v18;
    int64_t v41 = _3f_GetUntranslatedString_40_wxTranslations_40__40_SAAEBVwxString_40__40_AEBV2_40__40_Z(&v11); // 0x180004eff
    g114 = v41;
    g116 = v41;
    goto lab_0x180004f08;
  lab_0x180004e85:
    // 0x180004e85
    g117 = v17;
    int64_t v70 = _3f_GetUntranslatedString_40_wxTranslations_40__40_SAAEBVwxString_40__40_AEBV2_40__40_Z(&v12); // 0x180004e8d
    g114 = v70;
    g116 = v70;
    goto lab_0x180004f08;
  lab_0x180004f08:
    // 0x180004f08
    g119 = (int64_t)"Failed to set FTP transfer mode to %s.";
    int64_t v42; // bp-488
    int64_t v43 = &v42; // 0x180004f0f
    g117 = v43;
    int64_t v44 = _3f__3f_0wxString_40__40_QEAA_40_PEBD_40_Z(&v42, (int64_t)"Failed to set FTP transfer mode to %s."); // 0x180004f17
    g114 = v44;
    int64_t v45; // bp-264
    int64_t v46 = &v45; // 0x180004f1e
    g117 = v46;
    int64_t v47 = _3f__3f_0wxString_40__40_QEAA_40_XZ(v46); // 0x180004f26
    g114 = v47;
    int64_t v48 = _3f_Get_40_wxTranslations_40__40_SAPEAV1_40_XZ(); // 0x180004f2f
    g114 = v48;
    int64_t v49; // 0x180004f48
    if (v48 == 0) {
        goto lab_0x180004f53;
    } else {
        // 0x180004f3a
        g112 = v47;
        g119 = v43;
        g117 = v48;
        v49 = _3f_GetTranslatedString_40_wxTranslations_40__40_QEBAPEBVwxString_40__40_AEBV2_40_0_40_Z(v48, &v42, v47);
        g114 = v49;
        if (v49 != 0) {
            goto lab_0x180004f61;
        } else {
            goto lab_0x180004f53;
        }
    }
  lab_0x180004f53:
    // 0x180004f53
    g117 = v43;
    int64_t v50 = _3f_GetUntranslatedString_40_wxTranslations_40__40_SAAEBVwxString_40__40_AEBV2_40__40_Z(&v42); // 0x180004f5b
    g114 = v50;
    v49 = v50;
    goto lab_0x180004f61;
  lab_0x180004f61:
    // 0x180004f61
    g119 = v49;
    int64_t v51; // bp-648
    int64_t v52 = &v51; // 0x180004f64
    g117 = v52;
    g114 = _3f__3f_0wxFormatString_40__40_QEAA_40_AEBVwxString_40__40__40_Z(&v51, v49);
    int64_t v53 = g116; // 0x180004f70
    g119 = v53;
    g117 = v16;
    int64_t v54 = _3f__3f_0wxString_40__40_QEAA_40_AEBV0_40__40_Z(0x100000000 * v16 / 0x100000000, v53); // 0x180004f7b
    g114 = v54;
    g118 = v54;
    int32_t v55 = 1; // bp-608
    g117 = 0;
    g114 = _time64(NULL);
    g114 = _3f_GetCurrentId_40_wxThread_40__40_SAKXZ();
    int64_t v56; // bp-544
    int64_t v57 = &v56; // 0x180004fdd
    g117 = v57;
    g114 = _3f__3f_0wxString_40__40_QEAA_40_XZ(v57);
    g112 = v52;
    g119 = g118;
    int64_t v58 = &v13; // 0x180004ffa
    g117 = v58;
    int64_t v59 = _3f__3f_0_3f__24_wxArgNormalizerWchar_40_AEBVwxString_40__40__40__40_QEAA_40_AEBVwxString_40__40_PEBVwxFormatString_40__40_I_40_Z(&v13, g118, &v51, 1); // 0x180004fff
    g114 = v59;
    g117 = v58;
    int64_t v60 = _3f_get_40__3f__24_wxArgNormalizerWchar_40_AEBVwxString_40__40__40__40_QEBAPEB_WXZ(&v13); // 0x18000500a
    g114 = v60;
    g116 = v60;
    g117 = v52;
    int64_t v61 = _3f__3f_BwxFormatString_40__40_QEBAPEB_WXZ(v52); // 0x180005018
    g114 = v61;
    g119 = v61;
    int64_t v62 = g116; // 0x180005021
    g112 = v62;
    g117 = &v55;
    g114 = function_1800024f0(&v55, v61, v62, 1);
    g117 = g118;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(g118, g119, g112);
    g117 = v57;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v57, g119, g112);
    g116 = 0;
    g117 = v52;
    g114 = _3f__3f_1wxFormatString_40__40_QEAA_40_XZ(&v51);
    g117 = v46;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v46, g119, g112);
    g117 = v43;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v43, g119, g112);
    int64_t v63 = g120; // 0x1800050a1
    int64_t v64; // 0x1800050c3
    if ((v63 & 8) != 0) {
        // 0x1800050a7
        g120 = v63 & 0xfffffff7;
        int64_t v65 = &v10; // 0x1800050ae
        g117 = v65;
        g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v65, g119, g112);
        v64 = g120;
    } else {
        v64 = v63;
    }
    int64_t v66; // 0x1800050df
    if ((v64 & 4) != 0) {
        // 0x1800050c3
        g120 = v64 & 0xfffffffb;
        int64_t v67 = &v11; // 0x1800050ca
        g117 = v67;
        g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v67, g119, g112);
        v66 = g120;
    } else {
        v66 = v64;
    }
    int64_t v68; // 0x1800050f5
    if ((v66 & 2) != 0) {
        // 0x1800050df
        g120 = v66 & 0xfffffffd;
        g117 = v15;
        g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v15, g119, g112);
        v68 = g120;
    } else {
        v68 = v66;
    }
    if ((v68 & 1) != 0) {
        int64_t v69 = &v12; // 0x1800050fb
        g117 = v69;
        g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v69, g119, g112);
    }
    goto lab_0x18000510a;
}
 
// Address range: 0x180005160 - 0x1800051b9
// Demangled:     protected: wxFTP::GetPort
int64_t _3f_GetPort_40_wxFTP_40__40_IEAAPEAVwxSocketBase_40__40_XZ(int64_t a1) {
    // 0x180005160
    g117 = a1;
    int64_t v1 = g116; // 0x180005160
    g116 = a1;
    int64_t result; // 0x1800051a5
    if (*(char *)(a1 + 456) == 0) {
        // 0x18000517d
        result = _3f_GetActivePort_40_wxFTP_40__40_IEAAPEAVwxSocketBase_40__40_XZ(a1);
    } else {
        // 0x180005176
        result = _3f_GetPassivePort_40_wxFTP_40__40_IEAAPEAVwxSocketBase_40__40_XZ(a1);
    }
    // 0x180005182
    g114 = result;
    if (result == 0) {
        // 0x18000518a
        *(char *)(g116 + 457) = 1;
        g116 = v1;
        return g114;
    }
    // 0x18000519c
    g114 = *(int64_t *)result;
    g119 = (int64_t)*(int32_t *)(g116 + 256);
    g117 = result;
    g116 = v1;
    g114 = result;
    return result;
}
 
// Address range: 0x1800051c0 - 0x180005371
// Demangled:     public: virtual wxFTP::GetInputStream
int64_t _3f_GetInputStream_40_wxFTP_40__40_UEAAPEAVwxInputStream_40__40_AEBVwxString_40__40__40_Z(int64_t a1, int64_t a2) {
    // 0x1800051c0
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x1800051d4
    int64_t v2 = g120; // 0x1800051d8
    int64_t v3; // bp-184
    int64_t v4 = g61 ^ (int64_t)&v3; // 0x1800051e3
    g114 = v4;
    g120 = g119;
    g116 = a1;
    int64_t v5; // 0x180005232
    if (*(int32_t *)(a1 + 452) != 0) {
        v5 = a1;
        goto lab_0x18000521c;
    } else {
        // 0x1800051fd
        g119 = 2;
        int64_t v6 = _3f_SetTransferMode_40_wxFTP_40__40_QEAA_NW4TransferMode_40_1_40__40_Z(a1, 2); // 0x180005202
        g114 = v6;
        int64_t v7 = g116;
        if ((char)v6 != 0) {
            v5 = v7;
            goto lab_0x18000521c;
        } else {
            // 0x18000520b
            *(int32_t *)(v7 + 376) = 3;
            g114 = 0;
            goto lab_0x18000534c;
        }
    }
  lab_0x18000521c:
    // 0x18000521c
    g117 = v5;
    int64_t v8; // 0x180005263
    if (*(char *)(v5 + 456) == 0) {
        // 0x180005232
        v8 = _3f_GetActivePort_40_wxFTP_40__40_IEAAPEAVwxSocketBase_40__40_XZ(v5);
    } else {
        // 0x180005225
        v8 = _3f_GetPassivePort_40_wxFTP_40__40_IEAAPEAVwxSocketBase_40__40_XZ(v5);
    }
    // 0x18000523d
    g114 = v8;
    g118 = v8;
    if (v8 != 0) {
        // 0x18000525a
        g114 = *(int64_t *)v8;
        int64_t v9 = g120; // 0x180005269
        g119 = v9;
        int64_t v10; // bp-136
        int64_t v11 = &v10; // 0x18000526c
        g117 = v11;
        int64_t v12 = _3f_Unescape_40_wxURI_40__40_SA_3f_AVwxString_40__40_AEBV2_40__40_Z(&v10, v9); // 0x180005271
        g114 = v12;
        g112 = v12;
        g119 = (int64_t)L"RETR ";
        int64_t v13; // bp-80
        int64_t v14 = &v13; // 0x180005282
        g117 = v14;
        g114 = _3f__3f_H_40_YA_3f_AVwxString_40__40_PEB_WAEBV0_40__40_Z(&v13, L"RETR ", v12);
        g117 = v11;
        g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v11, (int64_t)L"RETR ", g112);
        g119 = v14;
        int64_t v15 = g116; // 0x18000529e
        g117 = v15;
        int64_t v16 = _3f_SendCommand_40_wxFTP_40__40_QEAADAEBVwxString_40__40__40_Z(v15, v14); // 0x1800052a1
        g114 = v16;
        int64_t v17 = g118; // 0x1800052cb
        if ((char)v16 == 49) {
            // 0x1800052cb
            g119 = v17;
            int64_t v18 = g116; // 0x1800052ce
            g117 = v18;
            int64_t v19 = _3f_AcceptIfActive_40_wxFTP_40__40_IEAAPEAVwxSocketBase_40__40_PEAV2_40__40_Z(v18, v17, g112); // 0x1800052d1
            g114 = v19;
            int64_t v20 = 0x100000000 * v19;
            int64_t v21 = v20 / 0x100000000; // 0x1800052d6
            g118 = v21;
            if (v20 != 0) {
                // 0x1800052f7
                g119 = 12;
                g117 = v21;
                g114 = _3f_SetFlags_40_wxSocketBase_40__40_QEAAXH_40_Z(v21, 12);
                *(char *)(g116 + 448) = 1;
                g117 = 72;
                int64_t v22 = function_18001323c(72, g119); // 0x180005310
                g114 = v22;
                int64_t v23;
                if (v22 == 0) {
                    v23 = 0;
                } else {
                    int64_t v24 = g118; // 0x18000531f
                    g112 = v24;
                    int64_t v25 = g116; // 0x180005322
                    g119 = v25;
                    g117 = v22;
                    int64_t v26 = function_180002420(v22, v25, v24); // 0x180005328
                    g114 = v26;
                    v23 = v26;
                }
                // 0x180005334
                *(int32_t *)(g116 + 376) = 0;
                g117 = v14;
                _3f__3f_1wxString_40__40_QEAA_40_XZ(v14, g119, g112);
                g114 = v23;
            } else {
                // 0x1800052de
                *(int32_t *)(g116 + 376) = 3;
                g117 = v14;
                _3f__3f_1wxString_40__40_QEAA_40_XZ(v14, v17, g112);
                g114 = 0;
            }
        } else {
            // 0x1800052aa
            g114 = *(int64_t *)v17;
            g119 = 1;
            g117 = v14;
            _3f__3f_1wxString_40__40_QEAA_40_XZ(v14, 1, g112);
            g114 = 0;
        }
    } else {
        // 0x180005242
        *(char *)(g116 + 457) = 1;
        *(int32_t *)(g116 + 376) = 1;
        g114 = 0;
    }
    goto lab_0x18000534c;
  lab_0x18000534c:;
    int64_t v27 = g121 ^ v4; // 0x180005354
    g117 = v27;
    __security_check_cookie(v27);
    g114 = &g122;
    g116 = v1;
    g120 = v2;
    return &g122;
}
 
// Address range: 0x180005380 - 0x1800054de
// Demangled:     public: virtual wxFTP::GetOutputStream
int64_t _3f_GetOutputStream_40_wxFTP_40__40_UEAAPEAVwxOutputStream_40__40_AEBVwxString_40__40__40_Z(int64_t a1, int64_t a2) {
    // 0x180005380
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x180005391
    int64_t v2 = g120; // 0x180005395
    int64_t v3; // bp-120
    int64_t v4 = g61 ^ (int64_t)&v3; // 0x1800053a0
    g114 = v4;
    g120 = g119;
    g116 = a1;
    int64_t v5; // 0x1800053ec
    if (*(int32_t *)(a1 + 452) != 0) {
        v5 = a1;
        goto lab_0x1800053d6;
    } else {
        // 0x1800053b7
        g119 = 2;
        int64_t v6 = _3f_SetTransferMode_40_wxFTP_40__40_QEAA_NW4TransferMode_40_1_40__40_Z(a1, 2); // 0x1800053bc
        g114 = v6;
        int64_t v7 = g116;
        if ((char)v6 != 0) {
            v5 = v7;
            goto lab_0x1800053d6;
        } else {
            // 0x1800053c5
            *(int32_t *)(v7 + 376) = 3;
            g114 = 0;
            goto lab_0x1800054bf;
        }
    }
  lab_0x1800053d6:
    // 0x1800053d6
    g117 = v5;
    int64_t v8; // 0x18000540e
    if (*(char *)(v5 + 456) == 0) {
        // 0x1800053ec
        v8 = _3f_GetActivePort_40_wxFTP_40__40_IEAAPEAVwxSocketBase_40__40_XZ(v5);
    } else {
        // 0x1800053df
        v8 = _3f_GetPassivePort_40_wxFTP_40__40_IEAAPEAVwxSocketBase_40__40_XZ(v5);
    }
    // 0x1800053f7
    g114 = v8;
    g118 = v8;
    if (v8 != 0) {
        // 0x180005405
        g114 = *(int64_t *)v8;
        g119 = (int64_t)*(int32_t *)(g116 + 256);
        g117 = v8;
    } else {
        // 0x1800053fc
        *(char *)(g116 + 457) = 1;
    }
    int64_t v9 = g120; // 0x180005414
    g112 = v9;
    g119 = (int64_t)L"STOR ";
    int64_t v10; // bp-72
    int64_t v11 = &v10; // 0x18000541e
    g117 = v11;
    g114 = _3f__3f_H_40_YA_3f_AVwxString_40__40_PEB_WAEBV0_40__40_Z(&v10, L"STOR ", v9);
    g119 = v11;
    int64_t v12 = g116; // 0x18000542f
    g117 = v12;
    int64_t v13 = _3f_SendCommand_40_wxFTP_40__40_QEAADAEBVwxString_40__40__40_Z(v12, v11); // 0x180005432
    g114 = v13;
    int64_t v14 = g118; // 0x18000545e
    if ((char)v13 == 49) {
        // 0x18000545e
        g119 = v14;
        int64_t v15 = g116; // 0x180005461
        g117 = v15;
        int64_t v16 = _3f_AcceptIfActive_40_wxFTP_40__40_IEAAPEAVwxSocketBase_40__40_PEAV2_40__40_Z(v15, v14, v9); // 0x180005464
        g114 = v16;
        g120 = v16;
        *(char *)(g116 + 448) = 1;
        *(int32_t *)(g116 + 376) = 0;
        g117 = 48;
        int64_t v17 = function_18001323c(48, g119); // 0x180005482
        g114 = v17;
        g118 = v17;
        if (v17 == 0) {
            // 0x1800054af
            g118 = 0;
        } else {
            int64_t v18 = g120; // 0x180005494
            g119 = v18;
            g117 = v17;
            g114 = _3f__3f_0wxSocketOutputStream_40__40_QEAA_40_AEAVwxSocketBase_40__40__40_Z(v17, v18);
            *(int64_t *)g118 = (int64_t)&g17;
            *(int64_t *)(g118 + 40) = g116;
        }
        // 0x1800054b1
        g117 = v11;
        _3f__3f_1wxString_40__40_QEAA_40_XZ(v11, g119, v9);
        g114 = g118;
    } else {
        int64_t v19; // 0x180005454
        if (v14 == 0) {
            // 0x18000543b
            v19 = g119;
        } else {
            // 0x180005440
            g114 = *(int64_t *)v14;
            g119 = 1;
            g117 = v14;
            v19 = 1;
        }
        // 0x18000544f
        g117 = v11;
        _3f__3f_1wxString_40__40_QEAA_40_XZ(v11, v19, v9);
        g114 = 0;
    }
    goto lab_0x1800054bf;
  lab_0x1800054bf:;
    int64_t v20 = g121 ^ v4; // 0x1800054c4
    g117 = v20;
    __security_check_cookie(v20);
    g114 = &g122;
    g116 = v1;
    g120 = v2;
    return &g122;
}
 
// Address range: 0x1800054e0 - 0x1800057be
// Demangled:     public: wxFTP::GetList
int64_t _3f_GetList_40_wxFTP_40__40_QEAA_NAEAVwxArrayString_40__40_AEBVwxString_40__40__N_40_Z(int64_t a1, int64_t * a2, int64_t a3, int32_t a4) {
    int64_t v1 = a4;
    g113 = v1;
    g112 = a3;
    g119 = (int64_t)a2;
    g117 = a1;
    int64_t v2 = g116; // 0x1800054e0
    int64_t v3 = g120; // 0x1800054e3
    int64_t v4 = g108; // 0x1800054e5
    int64_t v5; // bp-328
    int64_t v6 = g61 ^ (int64_t)&v5; // 0x1800054fe
    g114 = v6;
    g108 = v1;
    g115 = g112;
    g120 = g119;
    g116 = a1;
    int64_t v7; // 0x180005557
    if (*(char *)(a1 + 456) == 0) {
        // 0x180005529
        v7 = _3f_GetActivePort_40_wxFTP_40__40_IEAAPEAVwxSocketBase_40__40_XZ(a1);
    } else {
        // 0x18000551f
        v7 = _3f_GetPassivePort_40_wxFTP_40__40_IEAAPEAVwxSocketBase_40__40_XZ(a1);
    }
    // 0x180005531
    g114 = v7;
    g118 = v7;
    if (v7 != 0) {
        // 0x18000554e
        g114 = (int64_t)L"LIST";
        int64_t v8 = (char)g108 != 0 ? (int64_t)L"LIST" : (int64_t)L"NLST"; // 0x18000556e
        g119 = v8;
        int64_t v9; // bp-104
        int64_t v10 = &v9; // 0x180005572
        g117 = v10;
        g114 = _3f__3f_0wxString_40__40_QEAA_40_PEB_W_40_Z(&v9, v8, g112);
        int64_t v11 = g115; // 0x180005581
        g117 = v11;
        int64_t v12 = _3f_empty_40_wxString_40__40_QEBA_NXZ(v11, v8); // 0x180005584
        g114 = v12;
        if ((char)v12 == 0) {
            // 0x18000558e
            g119 = 32;
            g117 = v10;
            int64_t v13 = _3f__3f_6wxString_40__40_QEAAAEAV0_40__W_40_Z(v10, 32); // 0x18000559b
            g114 = v13;
            g117 = v13;
            int64_t v14 = g115; // 0x1800055a4
            g119 = v14;
            g114 = _3f__3f_6wxString_40__40_QEAAAEAV0_40_AEBV0_40__40_Z(v13, v14);
        }
        // 0x1800055ad
        g119 = v10;
        int64_t v15 = g116; // 0x1800055b5
        g117 = v15;
        int64_t v16 = _3f_SendCommand_40_wxFTP_40__40_QEAADAEBVwxString_40__40__40_Z(v15, v10); // 0x1800055b8
        g114 = v16;
        if ((char)v16 == 49) {
            int64_t v17 = g118; // 0x1800056f2
            g119 = v17;
            int64_t v18 = g116; // 0x1800056f5
            g117 = v18;
            int64_t v19 = _3f_AcceptIfActive_40_wxFTP_40__40_IEAAPEAVwxSocketBase_40__40_PEAV2_40__40_Z(v18, v17, g112); // 0x1800056f8
            g114 = v19;
            g118 = v19;
            if (v19 != 0) {
                int64_t v20 = g120; // 0x180005721
                g117 = v20;
                g114 = _3f_Empty_40_wxArrayString_40__40_QEAAXXZ(v20);
                g119 = v10;
                int64_t v21 = g118; // 0x180005732
                g117 = v21;
                int64_t v22 = _3f_ReadLine_40_wxProtocol_40__40_SA_3f_AW4wxProtocolError_40__40_PEAVwxSocketBase_40__40_AEAVwxString_40__40__40_Z(v21, &v9, g112); // 0x180005735
                g114 = v22;
                if ((int32_t)v22 == 0) {
                    g112 = 1;
                    g119 = v10;
                    int64_t v23 = g120; // 0x18000574e
                    g117 = v23;
                    g114 = _3f_Add_40_wxArrayString_40__40_QEAA_KAEBVwxString_40__40__K_40_Z(v23, &v9, 1);
                    g119 = v10;
                    int64_t v24 = g118; // 0x18000575f
                    g117 = v24;
                    int64_t v25 = _3f_ReadLine_40_wxProtocol_40__40_SA_3f_AW4wxProtocolError_40__40_PEAVwxSocketBase_40__40_AEAVwxString_40__40__40_Z(v24, &v9, g112); // 0x180005762
                    g114 = v25;
                    while ((int32_t)v25 == 0) {
                        // 0x180005740
                        g112 = 1;
                        g119 = v10;
                        v23 = g120;
                        g117 = v23;
                        g114 = _3f_Add_40_wxArrayString_40__40_QEAA_KAEBVwxString_40__40__K_40_Z(v23, &v9, 1);
                        g119 = v10;
                        v24 = g118;
                        g117 = v24;
                        v25 = _3f_ReadLine_40_wxProtocol_40__40_SA_3f_AW4wxProtocolError_40__40_PEAVwxSocketBase_40__40_AEAVwxString_40__40__40_Z(v24, &v9, g112);
                        g114 = v25;
                    }
                }
                // 0x18000576b
                g114 = *(int64_t *)g118;
                g119 = 1;
                *(int32_t *)(g116 + 376) = 0;
                int64_t v26 = g116; // 0x180005783
                g117 = v26;
                int64_t v27 = _3f_GetResult_40_wxFTP_40__40_IEAADXZ(v26); // 0x180005786
                g114 = v27;
                g116 = g116 & -256 | (int64_t)((char)v27 == 50);
                g117 = v10;
                g114 = g116 | _3f__3f_1wxString_40__40_QEAA_40_XZ(v10, 1, g112) & -256;
            } else {
                // 0x180005705
                *(int32_t *)(g116 + 376) = 3;
                g117 = v10;
                g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v10, v17, g112) & -256;
            }
        } else {
            // 0x1800055c5
            *(int32_t *)(g116 + 376) = 2;
            g116 = (int64_t)"wx";
            g119 = (int64_t)"wx";
            int64_t v28; // bp-160
            int64_t v29 = &v28; // 0x1800055d9
            g117 = v29;
            int64_t v30 = _3f__3f_0wxString_40__40_QEAA_40_PEBD_40_Z(&v28, (int64_t)"wx"); // 0x1800055e1
            g114 = v30;
            g119 = v30;
            g117 = 6;
            int64_t v31 = _3f_IsLevelEnabled_40_wxLog_40__40_SA_NKVwxString_40__40__40_Z(6, v30); // 0x1800055ef
            g114 = v31;
            if ((char)v31 != 0) {
                // 0x1800055fd
                g119 = (int64_t)L"FTP 'LIST' command returned unexpected result from server";
                g117 = v29;
                _3f__3f_0wxFormatString_40__40_QEAA_40_PEB_W_40_Z(&v28, L"FTP 'LIST' command returned unexpected result from server");
                int32_t v32 = 6; // bp-280
                g114 = (int64_t)"wxFTP::GetList";
                g117 = 0;
                g114 = _time64(NULL);
                g114 = _3f_GetCurrentId_40_wxThread_40__40_SAKXZ();
                int64_t v33; // bp-216
                int64_t v34 = &v33; // 0x180005660
                g117 = v34;
                g114 = _3f__3f_0wxString_40__40_QEAA_40_XZ(v34);
                g117 = v29;
                int64_t v35 = _3f__3f_BwxFormatString_40__40_QEBAPEB_WXZ(v29); // 0x180005674
                g114 = v35;
                g119 = v35;
                g117 = &v32;
                g114 = function_1800024f0(&v32, v35, g112, v1);
                g117 = v34;
                g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v34, v35, g112);
                g116 = 0;
                g117 = v29;
                g114 = _3f__3f_1wxFormatString_40__40_QEAA_40_XZ(&v28);
            }
            // 0x1800056ce
            g114 = *(int64_t *)g118;
            g119 = 1;
            g117 = v10;
            g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v10, 1, g112) & -256;
        }
    } else {
        // 0x180005536
        *(char *)(g116 + 457) = 1;
        *(int32_t *)(g116 + 376) = 1;
        g114 &= -256;
    }
    int64_t v36 = g121 ^ v6; // 0x1800057a8
    g117 = v36;
    __security_check_cookie(v36);
    g114 = &g122;
    g108 = v4;
    g120 = v3;
    g116 = v2;
    return &g122;
}
 
// Address range: 0x1800057c0 - 0x180005834
// Demangled:     public: wxFTP::FileExists
int64_t _3f_FileExists_40_wxFTP_40__40_QEAA_NAEBVwxString_40__40__40_Z(int64_t a1, int64_t a2) {
    // 0x1800057c0
    g119 = a2;
    g117 = a1;
    int64_t v1 = g118; // 0x1800057c0
    int64_t v2 = g116; // 0x1800057cf
    int64_t v3 = g120; // 0x1800057d4
    g116 = g119;
    g118 = g117;
    g120 = v3 & -256;
    int64_t v4; // bp-48
    int64_t v5 = &v4; // 0x1800057e2
    g117 = v5;
    g114 = _3f__3f_0wxArrayString_40__40_QEAA_40_XZ(&v4);
    int64_t v6 = g116; // 0x1800057f1
    g112 = v6;
    g119 = v5;
    int64_t v7 = g118; // 0x1800057f9
    g117 = v7;
    int64_t v8 = _3f_GetList_40_wxFTP_40__40_QEAA_NAEAVwxArrayString_40__40_AEBVwxString_40__40__N_40_Z(v7, &v4, v6, 0); // 0x1800057fc
    g114 = v8;
    if ((char)v8 != 0) {
        // 0x180005805
        g117 = v5;
        int64_t v9 = _3f_IsEmpty_40_wxArrayString_40__40_QEBA_NXZ(&v4); // 0x18000580a
        g114 = v9;
        g120 = g120 & -256 | (int64_t)((char)v9 == 0);
    }
    // 0x180005816
    g117 = v5;
    int64_t result = g120 | _3f__3f_1wxArrayString_40__40_QEAA_40_XZ(&v4) & -256; // 0x180005821
    g114 = result;
    g116 = v2;
    g120 = v3;
    g118 = v1;
    return result;
}
 
// Address range: 0x180005840 - 0x180005e86
// Demangled:     public: wxFTP::GetFileSize
int64_t _3f_GetFileSize_40_wxFTP_40__40_QEAAHAEBVwxString_40__40__40_Z(int64_t a1, int64_t a2) {
    // 0x180005840
    g119 = a2;
    g117 = a1;
    int64_t v1 = g120; // 0x180005842
    int64_t v2 = g116; // 0x18000585b
    int64_t v3; // bp-440
    int64_t v4 = g61 ^ (int64_t)&v3; // 0x18000586a
    g114 = v4;
    g120 = a2;
    g118 = a1;
    int32_t v5 = -1; // bp-408
    int64_t v6 = _3f_FileExists_40_wxFTP_40__40_QEAA_NAEBVwxString_40__40__40_Z(a1, a2); // 0x180005883
    g114 = v6;
    int64_t v7;
    if ((char)v6 != 0) {
        // 0x180005890
        int64_t v8; // bp-112
        int64_t v9 = &v8; // 0x180005890
        g117 = v9;
        g114 = _3f__3f_0wxString_40__40_QEAA_40_XZ(v9);
        int64_t v10 = g118; // 0x18000589f
        g115 = (int64_t)*(int32_t *)(v10 + 452);
        g119 = 2;
        g117 = v10;
        g114 = _3f_SetTransferMode_40_wxFTP_40__40_QEAA_NW4TransferMode_40_1_40__40_Z(v10, 2);
        g119 = (int64_t)L"SIZE ";
        g117 = v9;
        int64_t v11 = _3f__3f_6wxString_40__40_QEAAAEAV0_40_PEB_W_40_Z(&v8, L"SIZE "); // 0x1800058c1
        g114 = v11;
        g117 = v11;
        int64_t v12 = g120; // 0x1800058ca
        g119 = v12;
        g114 = _3f__3f_6wxString_40__40_QEAAAEAV0_40_AEBV0_40__40_Z(v11, v12);
        g119 = v9;
        int64_t v13 = g118; // 0x1800058db
        g117 = v13;
        int64_t v14 = _3f_SendCommand_40_wxFTP_40__40_QEAADAEBVwxString_40__40__40_Z(v13, v9); // 0x1800058de
        g114 = v14;
        int64_t v15 = g116 & -256 | (int64_t)((char)v14 == 50); // 0x1800058e5
        g116 = v15;
        g109 = 0xffff;
        int64_t v16; // bp-360
        int64_t v17; // bp-400
        int64_t v18; // 0x18000598c
        if ((char)v14 == 50) {
            int64_t v19 = g118 + 392; // 0x1800058f6
            g117 = v19;
            int64_t v20 = &v16; // 0x1800058fd
            g119 = v20;
            int64_t v21 = _3f_c_str_40_wxString_40__40_QEBA_3f_AVwxCStrData_40__40_XZ(v19, &v16); // 0x180005902
            g114 = v21;
            g119 = &v17;
            g117 = v21;
            int64_t v22 = _3f_AsWCharBuf_40_wxCStrData_40__40_QEBA_3f_BV_3f__24_wxScopedCharTypeBuffer_40__W_40__40_XZ(v21, &v17); // 0x180005911
            g114 = v22;
            int64_t v23 = *(int64_t *)v22; // 0x180005917
            g117 = v23;
            int64_t v24; // bp-304
            g112 = &v24;
            g119 = (int64_t)L"%i %i";
            int64_t wstr = *(int64_t *)v23; // 0x18000592e
            g117 = wstr;
            int64_t v25 = swscanf((int16_t *)wstr, L"%i %i"); // 0x180005931
            g114 = v25;
            g108 = v25;
            int64_t v26 = _3f_GetUntypedNullData_40_wxPrivate_40__40_YAPEAUUntypedBufferData_40_1_40_XZ(wstr); // 0x18000593a
            g114 = v26;
            int64_t v27 = v17; // 0x180005940
            g117 = v27;
            if (v27 != v26) {
                int16_t * v28 = (int16_t *)(v27 + 16); // 0x18000594a
                *v28 = (int16_t)g109 + *v28;
                int64_t v29 = v17; // 0x18000594f
                g116 = v29;
                if (*(int16_t *)(v29 + 16) == 0) {
                    // 0x18000595b
                    int64_t v30; // 0x18000596a
                    if (*(char *)(v29 + 18) != 0) {
                        int64_t v31 = *(int64_t *)v29; // 0x180005961
                        g117 = v31;
                        free((int64_t *)v31);
                        g114 = &g122;
                        v30 = g116;
                    } else {
                        v30 = v29;
                    }
                    // 0x18000596a
                    g117 = v30;
                    g114 = function_18001310e(v30);
                }
                // 0x180005972
                g114 = _3f_GetUntypedNullData_40_wxPrivate_40__40_YAPEAUUntypedBufferData_40_1_40_XZ(g117);
            }
            // 0x180005978
            g116 = g116 & -256 | (int64_t)((int32_t)g108 == 2);
            g117 = v20;
            g114 = _3f__3f_1wxCStrData_40__40_QEAA_40_XZ(v20);
            int64_t v32 = g116; // 0x18000598a
            v18 = (int64_t)((char)v32 != 0) | v32 & -256;
            g116 = v18;
        } else {
            v18 = v15;
        }
        int64_t v33 = g115; // 0x18000598f
        int64_t v34; // 0x18000599d
        if ((int32_t)v33 != 0) {
            // 0x180005993
            g119 = v33;
            int64_t v35 = g118; // 0x180005995
            g117 = v35;
            g114 = _3f_SetTransferMode_40_wxFTP_40__40_QEAA_NW4TransferMode_40_1_40__40_Z(v35, v33);
            v34 = g116;
        } else {
            v34 = v18;
        }
        if ((char)v34 == 0) {
            // 0x1800059a5
            int64_t v36; // bp-392
            int64_t v37 = &v36; // 0x1800059a5
            g117 = v37;
            g114 = _3f__3f_0wxArrayString_40__40_QEAA_40_XZ(&v36);
            int64_t v38 = g120; // 0x1800059b4
            g112 = v38;
            g119 = v37;
            int64_t v39 = g118; // 0x1800059bc
            g117 = v39;
            int64_t v40; // bp-511
            int64_t v41 = _3f_GetList_40_wxFTP_40__40_QEAA_NAEAVwxArrayString_40__40_AEBVwxString_40__40__N_40_Z(v39, &v36, v38, (int32_t)(int64_t)&v40); // 0x1800059bf
            g114 = v41;
            if ((char)v41 != 0) {
                // 0x1800059cc
                g117 = v37;
                int64_t v42 = _3f_IsEmpty_40_wxArrayString_40__40_QEBA_NXZ(&v36); // 0x1800059d1
                g114 = v42;
                if ((char)v42 == 0) {
                    // 0x1800059df
                    g117 = v37;
                    int64_t v43 = _3f_size_40_wxArrayString_40__40_QEBA_KXZ(&v36); // 0x1800059e4
                    g114 = v43;
                    int64_t v44 = 0; // r12
                    int64_t v45 = 0; // rdi
                    g117 = v37;
                    int64_t v46 = _3f_GetCount_40_wxArrayString_40__40_QEBA_KXZ(&v36); // 0x1800059f8
                    g114 = v46;
                    int64_t v47; // bp-168
                    if (v46 != 0) {
                        int64_t v48 = &v47; // 0x180005a03
                        int64_t v49 = &v16; // 0x180005a28
                        while (true) {
                            // 0x180005a03
                            g119 = v48;
                            int64_t v50 = g120; // 0x180005a0b
                            g117 = v50;
                            int64_t v51 = _3f_Upper_40_wxString_40__40_QEBA_3f_AV1_40_XZ(v50, &v47); // 0x180005a0e
                            g114 = v51;
                            g116 = v51;
                            int64_t v52 = v45; // 0x180005a17
                            g119 = v52;
                            g117 = v37;
                            int64_t v53 = _3f__3f_AwxArrayString_40__40_QEAAAEAVwxString_40__40__K_40_Z(&v36, v52); // 0x180005a1f
                            g114 = v53;
                            g117 = v53;
                            g119 = v49;
                            int64_t v54 = _3f_Upper_40_wxString_40__40_QEBA_3f_AV1_40_XZ(v53, &v16); // 0x180005a2d
                            g114 = v54;
                            int64_t v55 = g116; // 0x180005a34
                            g119 = v55;
                            g117 = v54;
                            int64_t v56 = _3f_Contains_40_wxString_40__40_QEBA_NAEBV1_40__40_Z(v54, v55); // 0x180005a3a
                            g114 = v56;
                            g116 = v56;
                            g117 = v49;
                            g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v49, g119, g112);
                            g117 = v48;
                            g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v48, g119, g112);
                            if ((char)g116 != 0) {
                                // break -> 0x180005a74
                                break;
                            }
                            int64_t v57 = v45 + 1; // 0x180005a61
                            v45 = v57;
                            g117 = v37;
                            int64_t v58 = _3f_GetCount_40_wxArrayString_40__40_QEBA_KXZ(&v36); // 0x180005a69
                            g114 = v58;
                            if (v57 >= v58) {
                                // break -> 0x180005a74
                                break;
                            }
                        }
                    }
                    // 0x180005a74
                    if (v45 != v43) {
                        // 0x180005a7d
                        g119 = v45;
                        g117 = v37;
                        int64_t v59 = _3f__3f_AwxArrayString_40__40_QEAAAEAVwxString_40__40__K_40_Z(&v36, v45); // 0x180005a85
                        g114 = v59;
                        g117 = v59;
                        g112 = 0;
                        int64_t v60 = &v47; // 0x180005a97
                        g119 = v60;
                        int64_t v61 = _3f_Mid_40_wxString_40__40_QEBA_3f_AV1_40__K0_40_Z(v59, &v47, 0, 1); // 0x180005a9f
                        g114 = v61;
                        g119 = (int64_t)&g20;
                        g117 = v61;
                        int64_t v62 = _3f_Cmp_40_wxString_40__40_QEBAHPEB_W_40_Z((int64_t *)v61, (int16_t *)&g20); // 0x180005ab0
                        g114 = v62;
                        g116 = g116 & -256 | (int64_t)((int32_t)v62 == 0);
                        g117 = v60;
                        g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v60, (int64_t)&g20, 0);
                        g119 = v45;
                        g117 = v37;
                        int64_t v63 = _3f__3f_AwxArrayString_40__40_QEAAAEAVwxString_40__40__K_40_Z(&v36, v45); // 0x180005c90
                        g114 = v63;
                        g117 = v63;
                        int64_t v64 = &v16; // 0x180005c99
                        g119 = v64;
                        int64_t v65 = _3f_c_str_40_wxString_40__40_QEBA_3f_AVwxCStrData_40__40_XZ(v63, &v16); // 0x180005c9e
                        g114 = v65;
                        g119 = &v17;
                        g117 = v65;
                        int64_t v66 = _3f_AsWCharBuf_40_wxCStrData_40__40_QEBA_3f_BV_3f__24_wxScopedCharTypeBuffer_40__W_40__40_XZ(v65, &v17); // 0x180005cad
                        g114 = v66;
                        int64_t v67 = *(int64_t *)v66; // 0x180005cb3
                        g117 = v67;
                        g112 = &v5;
                        int64_t v68; // bp-232
                        int32_t v69; // bp-296
                        if ((char)g116 == 0) {
                            // 0x180005c88
                            g119 = (int64_t)L"%*s %*s %i %*s";
                            int64_t wstr2 = *(int64_t *)v67; // 0x180005cc2
                            g117 = wstr2;
                            int64_t v70 = swscanf((int16_t *)wstr2, L"%*s %*s %i %*s"); // 0x180005cc5
                            g114 = v70;
                            g118 = v70;
                            int64_t v71 = _3f_GetUntypedNullData_40_wxPrivate_40__40_YAPEAUUntypedBufferData_40_1_40_XZ(wstr2); // 0x180005ccd
                            g114 = v71;
                            int64_t v72 = v17; // 0x180005cd3
                            g117 = v72;
                            if (v72 != v71) {
                                int16_t * v73 = (int16_t *)(v72 + 16); // 0x180005cdd
                                *v73 = (int16_t)g109 + *v73;
                                int64_t v74 = v17; // 0x180005ce2
                                g116 = v74;
                                if (*(int16_t *)(v74 + 16) == 0) {
                                    // 0x180005cee
                                    int64_t v75; // 0x180005cfd
                                    if (*(char *)(v74 + 18) != 0) {
                                        int64_t v76 = *(int64_t *)v74; // 0x180005cf4
                                        g117 = v76;
                                        free((int64_t *)v76);
                                        g114 = &g122;
                                        v75 = g116;
                                    } else {
                                        v75 = v74;
                                    }
                                    // 0x180005cfd
                                    g117 = v75;
                                    g114 = function_18001310e(v75);
                                }
                                // 0x180005d05
                                g114 = _3f_GetUntypedNullData_40_wxPrivate_40__40_YAPEAUUntypedBufferData_40_1_40_XZ(g117);
                            }
                            // 0x180005d0b
                            g116 = (int64_t)((int32_t)g118 != 4) | g116 & -256;
                            g117 = v64;
                            g114 = _3f__3f_1wxCStrData_40__40_QEAA_40_XZ(v64);
                            if ((char)g116 != 0) {
                                // 0x180005d24
                                g116 = (int64_t)"wx";
                                g119 = (int64_t)"wx";
                                g117 = v60;
                                int64_t v77 = _3f__3f_0wxString_40__40_QEAA_40_PEBD_40_Z(&v47, (int64_t)"wx"); // 0x180005d36
                                g114 = v77;
                                g119 = v77;
                                g117 = 6;
                                int64_t v78 = _3f_IsLevelEnabled_40_wxLog_40__40_SA_NKVwxString_40__40__40_Z(6, v77); // 0x180005d44
                                g114 = v78;
                                if ((char)v78 != 0) {
                                    // 0x180005d52
                                    g119 = (int64_t)L"Invalid or unknown LIST response";
                                    g117 = v64;
                                    _3f__3f_0wxFormatString_40__40_QEAA_40_PEB_W_40_Z(&v16, L"Invalid or unknown LIST response");
                                    v69 = 6;
                                    g114 = (int64_t)"wxFTP::GetFileSize";
                                    g117 = 0;
                                    g114 = _time64(NULL);
                                    g114 = _3f_GetCurrentId_40_wxThread_40__40_SAKXZ();
                                    int64_t v79 = &v68; // 0x180005dc6
                                    g117 = v79;
                                    g114 = _3f__3f_0wxString_40__40_QEAA_40_XZ(v79);
                                    g117 = v64;
                                    int64_t v80 = _3f__3f_BwxFormatString_40__40_QEBAPEB_WXZ(v64); // 0x180005dda
                                    g114 = v80;
                                    g119 = v80;
                                    g117 = &v69;
                                    g114 = function_1800024f0(&v69, v80, g112, 1);
                                    g117 = v79;
                                    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v79, g119, g112);
                                    g116 = v44;
                                    v17 = v44;
                                    if (v44 != 0) {
                                        int64_t v81 = v44 + 32; // 0x180005e12
                                        g117 = v81;
                                        g114 = _3f__3f_1wxStringToStringHashMap_40__40_QEAA_40_XZ(v81);
                                        g117 = v44;
                                        g114 = _3f__3f_1wxStringToNumHashMap_40__40_QEAA_40_XZ(v44);
                                        g117 = v44;
                                        g114 = function_18001310e(v44);
                                    }
                                    // 0x180005e2f
                                    g117 = v64;
                                    g114 = _3f__3f_1wxFormatString_40__40_QEAA_40_XZ(&v16);
                                }
                            }
                        } else {
                            // 0x180005ad1
                            g119 = (int64_t)L"%*s %*s %*s %*s %i %*s %*s %*s %*s";
                            int64_t wstr3 = *(int64_t *)v67; // 0x180005b0b
                            g117 = wstr3;
                            int64_t v82 = swscanf((int16_t *)wstr3, L"%*s %*s %*s %*s %i %*s %*s %*s %*s"); // 0x180005b0e
                            g114 = v82;
                            g118 = v82;
                            int64_t v83 = _3f_GetUntypedNullData_40_wxPrivate_40__40_YAPEAUUntypedBufferData_40_1_40_XZ(wstr3); // 0x180005b16
                            g114 = v83;
                            int64_t v84 = v17; // 0x180005b1c
                            g117 = v84;
                            if (v84 != v83) {
                                int16_t * v85 = (int16_t *)(v84 + 16); // 0x180005b26
                                *v85 = (int16_t)g109 + *v85;
                                int64_t v86 = v17; // 0x180005b2b
                                g116 = v86;
                                if (*(int16_t *)(v86 + 16) == 0) {
                                    // 0x180005b37
                                    int64_t v87; // 0x180005b46
                                    if (*(char *)(v86 + 18) != 0) {
                                        int64_t v88 = *(int64_t *)v86; // 0x180005b3d
                                        g117 = v88;
                                        free((int64_t *)v88);
                                        g114 = &g122;
                                        v87 = g116;
                                    } else {
                                        v87 = v86;
                                    }
                                    // 0x180005b46
                                    g117 = v87;
                                    g114 = function_18001310e(v87);
                                }
                                // 0x180005b4e
                                g114 = _3f_GetUntypedNullData_40_wxPrivate_40__40_YAPEAUUntypedBufferData_40_1_40_XZ(g117);
                            }
                            // 0x180005b54
                            g116 = (int64_t)((int32_t)g118 != 9) | g116 & -256;
                            g117 = v64;
                            g114 = _3f__3f_1wxCStrData_40__40_QEAA_40_XZ(v64);
                            if ((char)g116 != 0) {
                                // 0x180005b6d
                                g116 = (int64_t)"wx";
                                g119 = (int64_t)"wx";
                                g117 = v60;
                                int64_t v89 = _3f__3f_0wxString_40__40_QEAA_40_PEBD_40_Z(&v47, (int64_t)"wx"); // 0x180005b7f
                                g114 = v89;
                                g119 = v89;
                                g117 = 6;
                                int64_t v90 = _3f_IsLevelEnabled_40_wxLog_40__40_SA_NKVwxString_40__40__40_Z(6, v89); // 0x180005b8d
                                g114 = v90;
                                if ((char)v90 != 0) {
                                    // 0x180005b9b
                                    g119 = (int64_t)L"Invalid LIST response";
                                    g117 = v64;
                                    _3f__3f_0wxFormatString_40__40_QEAA_40_PEB_W_40_Z(&v16, L"Invalid LIST response");
                                    v69 = 6;
                                    g114 = (int64_t)"wxFTP::GetFileSize";
                                    g117 = 0;
                                    g114 = _time64(NULL);
                                    g114 = _3f_GetCurrentId_40_wxThread_40__40_SAKXZ();
                                    int64_t v91 = &v68; // 0x180005c0f
                                    g117 = v91;
                                    g114 = _3f__3f_0wxString_40__40_QEAA_40_XZ(v91);
                                    g117 = v64;
                                    int64_t v92 = _3f__3f_BwxFormatString_40__40_QEBAPEB_WXZ(v64); // 0x180005c23
                                    g114 = v92;
                                    g119 = v92;
                                    g117 = &v69;
                                    g114 = function_1800024f0(&v69, v92, g112, 1);
                                    g117 = v91;
                                    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v91, g119, g112);
                                    g116 = v44;
                                    v17 = v44;
                                    if (v44 != 0) {
                                        int64_t v93 = v44 + 32; // 0x180005c5b
                                        g117 = v93;
                                        g114 = _3f__3f_1wxStringToStringHashMap_40__40_QEAA_40_XZ(v93);
                                        g117 = v44;
                                        g114 = _3f__3f_1wxStringToNumHashMap_40__40_QEAA_40_XZ(v44);
                                        g117 = v44;
                                        g114 = function_18001310e(v44);
                                    }
                                    // 0x180005c78
                                    g117 = v64;
                                    g114 = _3f__3f_1wxFormatString_40__40_QEAA_40_XZ(&v16);
                                }
                            }
                        }
                    }
                }
            }
            // 0x180005e3b
            g117 = v37;
            g114 = _3f__3f_1wxArrayString_40__40_QEAA_40_XZ(&v36);
        }
        // 0x180005e47
        g117 = v9;
        g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v9, g119, g112);
        v7 = v5;
    } else {
        v7 = 0xffffffff;
    }
    // 0x180005e5f
    g114 = v7;
    int64_t v94 = g121 ^ v4; // 0x180005e67
    g117 = v94;
    __security_check_cookie(v94);
    g114 = &g122;
    g116 = v2;
    g120 = v1;
    return &g122;
}
 
// Address range: 0x180005e90 - 0x180005e9a
// Demangled:     public: wxFTP::SetBinary
int64_t _3f_SetBinary_40_wxFTP_40__40_QEAA_NXZ(void) {
    // 0x180005e90
    g119 = 2;
    int64_t result = _3f_SetTransferMode_40_wxFTP_40__40_QEAA_NW4TransferMode_40_1_40__40_Z(g117, 2); // 0x180005e95
    g114 = result;
    return result;
}
 
// Address range: 0x180005ea0 - 0x180005eaa
// Demangled:     public: wxFTP::SetAscii
int64_t _3f_SetAscii_40_wxFTP_40__40_QEAA_NXZ(void) {
    // 0x180005ea0
    g119 = 1;
    int64_t result = _3f_SetTransferMode_40_wxFTP_40__40_QEAA_NW4TransferMode_40_1_40__40_Z(g117, 1); // 0x180005ea5
    g114 = result;
    return result;
}
 
// Address range: 0x180005eb0 - 0x180005eb8
// Demangled:     public: wxFTP::GetFilesList
int64_t _3f_GetFilesList_40_wxFTP_40__40_QEAA_NAEAVwxArrayString_40__40_AEBVwxString_40__40__40_Z(void) {
    int64_t result = _3f_GetList_40_wxFTP_40__40_QEAA_NAEAVwxArrayString_40__40_AEBVwxString_40__40__N_40_Z(g117, (int64_t *)g119, g112, 0); // 0x180005eb3
    g114 = result;
    return result;
}
 
// Address range: 0x180005ec0 - 0x180005ec8
// Demangled:     public: wxFTP::GetDirList
int64_t _3f_GetDirList_40_wxFTP_40__40_QEAA_NAEAVwxArrayString_40__40_AEBVwxString_40__40__40_Z(void) {
    // 0x180005ec0
    int64_t v1; // r9
    int64_t v2 = v1 & -256 | 1; // 0x180005ec0
    int64_t result = _3f_GetList_40_wxFTP_40__40_QEAA_NAEAVwxArrayString_40__40_AEBVwxString_40__40__N_40_Z(g117, (int64_t *)g119, g112, (int32_t)v2); // 0x180005ec3
    g114 = result;
    return result;
}
 
// Address range: 0x180005ed0 - 0x180005f79
int64_t function_180005ed0(int64_t a1, int64_t a2) {
    // 0x180005ed0
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x180005ee3
    int64_t v2 = g120; // 0x180005ee8
    g120 = a2;
    g116 = a1;
    int64_t result;
    if ((a2 & 2) != 0) {
        uint32_t v3 = *(int32_t *)(a1 - 8); // 0x180005efe
        g112 = v3;
        g119 = 464;
        g114 = function_180013168(a1, 464, v3, 0x180004c80);
        if ((g120 & 1) != 0) {
            int64_t v4 = g116 - 8; // 0x180005f12
            g117 = v4;
            g114 = function_180013114(v4);
        }
        // 0x180005f1b
        result = g116 - 8;
        // 0x180005f69
        g114 = result;
        g116 = v1;
        g120 = v2;
        return result;
    }
    // 0x180005f21
    g114 = &g15;
    *(int64_t *)a1 = (int64_t)&g15;
    if (*(char *)(a1 + 448) != 0) {
        // 0x180005f34
        g114 = _3f_Abort_40_wxFTP_40__40_UEAA_NXZ(a1);
    }
    int64_t v5 = g116; // 0x180005f39
    g117 = v5;
    g114 = _3f_Close_40_wxFTP_40__40_UEAA_NXZ(v5);
    int64_t v6 = g116 + 392; // 0x180005f42
    g117 = v6;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v6, a2, g112);
    int64_t v7 = g116; // 0x180005f50
    g117 = v7;
    g114 = _3f__3f_1wxProtocol_40__40_UEAA_40_XZ(v7);
    if ((g120 & 1) != 0) {
        int64_t v8 = g116; // 0x180005f5e
        g117 = v8;
        g114 = function_18001310e(v8);
    }
    // 0x180005f66
    result = g116;
    // 0x180005f69
    g114 = result;
    g116 = v1;
    g120 = v2;
    return result;
}
 
// Address range: 0x180005f80 - 0x180005f88
// Demangled:     public: virtual wxHTTP::GetClassInfo
int64_t _3f_GetClassInfo_40_wxHTTP_40__40_UEBAPEAVwxClassInfo_40__40_XZ(void) {
    // 0x180005f80
    g114 = 0x18002ea90;
    return 0x18002ea90;
}
 
// Address range: 0x180005f90 - 0x180005f9e
// Demangled:     protected: wxHTTP::ClearHeaders
int64_t _3f_ClearHeaders_40_wxHTTP_40__40_IEAAXXZ(int64_t a1) {
    int64_t v1 = a1 + 480; // 0x180005f90
    g117 = v1;
    int64_t result = _3f_clear_40_wxStringToStringHashMap_wxImplementation_HashTable_40__40_QEAAXXZ(v1); // 0x180005f97
    g114 = result;
    return result;
}
 
// Address range: 0x180005fa0 - 0x180005fae
// Demangled:     protected: wxHTTP::ClearCookies
int64_t _3f_ClearCookies_40_wxHTTP_40__40_IEAAXXZ(int64_t a1) {
    int64_t v1 = a1 + 448; // 0x180005fa0
    g117 = v1;
    int64_t result = _3f_clear_40_wxStringToStringHashMap_wxImplementation_HashTable_40__40_QEAAXXZ(v1); // 0x180005fa7
    g114 = result;
    return result;
}
 
// Address range: 0x180005fb0 - 0x180005fb7
// Demangled:     public: wxHTTP::SetProxyMode
int64_t _3f_SetProxyMode_40_wxHTTP_40__40_QEAAX_N_40_Z(int64_t a1, int64_t a2) {
    // 0x180005fb0
    g119 = a2;
    g117 = a1;
    *(char *)(a1 + 513) = (char)a2;
    return g114;
}
 
// Address range: 0x180005fc0 - 0x18000604c
// Demangled:     protected: wxHTTP::FindHeader
int64_t _3f_FindHeader_40_wxHTTP_40__40_IEAA_3f_AViterator_40_wxStringToStringHashMap_wxImplementation_HashTable_40__40_AEBVwxString_40__40__40_Z(int64_t a1, int64_t result, int64_t a3) {
    // 0x180005fc0
    g112 = a3;
    g119 = result;
    g117 = a1;
    int64_t v1 = g116; // 0x180005fc0
    int64_t v2 = g120; // 0x180005fc5
    int64_t v3 = g117 + 480; // 0x180005fcf
    g116 = v3;
    g120 = g112;
    g117 = v3;
    g114 = _3f_begin_40_wxStringToStringHashMap_wxImplementation_HashTable_40__40_QEAA_3f_AViterator_40_1_40_XZ(v3, result);
    int64_t v4; // bp-24
    int64_t v5 = &v4; // 0x180005fe5
    g119 = v5;
    int64_t v6 = g116; // 0x180005fea
    g117 = v6;
    int64_t v7 = _3f_end_40_wxStringToStringHashMap_wxImplementation_HashTable_40__40_QEAA_3f_AViterator_40_1_40_XZ(v6, &v4); // 0x180005fed
    g114 = v7;
    g119 = v5;
    g117 = result;
    int64_t v8 = _3f__3f_9Iterator_40_wxStringToStringHashMap_wxImplementation_HashTable_40__40_QEBA_NAEBV01_40__40_Z(result, &v4); // 0x180005ffb
    g114 = v8;
    if ((char)v8 != 0) {
        while (true) {
            // 0x180006005
            g117 = result;
            int64_t v9 = _3f__3f_Citerator_40_wxStringToStringHashMap_wxImplementation_HashTable_40__40_QEBAPEAVwxStringToStringHashMap_(result); // 0x180006008
            g114 = v9;
            int64_t v10 = g120; // 0x18000600e
            g117 = v10;
            g119 = v9;
            int64_t v11 = _3f_CmpNoCase_40_wxString_40__40_QEBAHAEBV1_40__40_Z(v10, v9); // 0x180006014
            g114 = v11;
            if ((int32_t)v11 == 0) {
                // break -> 0x180006039
                break;
            }
            g117 = result;
            g114 = _3f__3f_Eiterator_40_wxStringToStringHashMap_wxImplementation_HashTable_40__40_QEAAAEAV01_40_XZ(result);
            g119 = v5;
            g117 = result;
            int64_t v12 = _3f__3f_9Iterator_40_wxStringToStringHashMap_wxImplementation_HashTable_40__40_QEBA_NAEBV01_40__40_Z(result, &v4); // 0x18000602f
            g114 = v12;
            if ((char)v12 == 0) {
                // break -> 0x180006039
                break;
            }
        }
    }
    // 0x180006039
    g116 = v1;
    g120 = v2;
    g114 = result;
    return result;
}
 
// Address range: 0x180006050 - 0x1800060dc
// Demangled:     protected: wxHTTP::FindHeader
int64_t _3f_FindHeader_40_wxHTTP_40__40_IEBA_3f_AVconst_iterator_40_wxStringToStringHashMap_wxImplementation_HashTable_40__40_AEBVwxString_40__40__40_Z(int64_t a1, int64_t result, int64_t a3) {
    // 0x180006050
    g112 = a3;
    g119 = result;
    g117 = a1;
    int64_t v1 = g116; // 0x180006050
    int64_t v2 = g120; // 0x180006055
    int64_t v3 = g117 + 480; // 0x18000605f
    g116 = v3;
    g120 = g112;
    g117 = v3;
    g114 = _3f_begin_40_wxStringToStringHashMap_wxImplementation_HashTable_40__40_QEBA_3f_AVconst_iterator_40_1_40_XZ(v3, result);
    int64_t v4; // bp-24
    int64_t v5 = &v4; // 0x180006075
    g119 = v5;
    int64_t v6 = g116; // 0x18000607a
    g117 = v6;
    int64_t v7 = _3f_end_40_wxStringToStringHashMap_wxImplementation_HashTable_40__40_QEBA_3f_AVconst_iterator_40_1_40_XZ(v6, &v4); // 0x18000607d
    g114 = v7;
    g119 = v5;
    g117 = result;
    int64_t v8 = _3f__3f_9Iterator_40_wxStringToStringHashMap_wxImplementation_HashTable_40__40_QEBA_NAEBV01_40__40_Z(result, &v4); // 0x18000608b
    g114 = v8;
    if ((char)v8 != 0) {
        while (true) {
            // 0x180006095
            g117 = result;
            int64_t v9 = _3f__3f_Cconst_iterator_40_wxStringToStringHashMap_wxImplementation_HashTable_40__40_QEBAPEBVwxStringToStringHa(result); // 0x180006098
            g114 = v9;
            int64_t v10 = g120; // 0x18000609e
            g117 = v10;
            g119 = v9;
            int64_t v11 = _3f_CmpNoCase_40_wxString_40__40_QEBAHAEBV1_40__40_Z(v10, v9); // 0x1800060a4
            g114 = v11;
            if ((int32_t)v11 == 0) {
                // break -> 0x1800060c9
                break;
            }
            g117 = result;
            g114 = _3f__3f_Econst_iterator_40_wxStringToStringHashMap_wxImplementation_HashTable_40__40_QEAAAEAV01_40_XZ(result);
            g119 = v5;
            g117 = result;
            int64_t v12 = _3f__3f_9Iterator_40_wxStringToStringHashMap_wxImplementation_HashTable_40__40_QEBA_NAEBV01_40__40_Z(result, &v4); // 0x1800060bf
            g114 = v12;
            if ((char)v12 == 0) {
                // break -> 0x1800060c9
                break;
            }
        }
    }
    // 0x1800060c9
    g116 = v1;
    g120 = v2;
    g114 = result;
    return result;
}
 
// Address range: 0x1800060e0 - 0x18000616c
// Demangled:     protected: wxHTTP::FindCookie
int64_t _3f_FindCookie_40_wxHTTP_40__40_IEAA_3f_AViterator_40_wxStringToStringHashMap_wxImplementation_HashTable_40__40_AEBVwxString_40__40__40_Z(int64_t a1, int64_t result, int64_t a3) {
    // 0x1800060e0
    g112 = a3;
    g119 = result;
    g117 = a1;
    int64_t v1 = g116; // 0x1800060e0
    int64_t v2 = g120; // 0x1800060e5
    int64_t v3 = g117 + 448; // 0x1800060ef
    g116 = v3;
    g120 = g112;
    g117 = v3;
    g114 = _3f_begin_40_wxStringToStringHashMap_wxImplementation_HashTable_40__40_QEAA_3f_AViterator_40_1_40_XZ(v3, result);
    int64_t v4; // bp-24
    int64_t v5 = &v4; // 0x180006105
    g119 = v5;
    int64_t v6 = g116; // 0x18000610a
    g117 = v6;
    int64_t v7 = _3f_end_40_wxStringToStringHashMap_wxImplementation_HashTable_40__40_QEAA_3f_AViterator_40_1_40_XZ(v6, &v4); // 0x18000610d
    g114 = v7;
    g119 = v5;
    g117 = result;
    int64_t v8 = _3f__3f_9Iterator_40_wxStringToStringHashMap_wxImplementation_HashTable_40__40_QEBA_NAEBV01_40__40_Z(result, &v4); // 0x18000611b
    g114 = v8;
    if ((char)v8 != 0) {
        while (true) {
            // 0x180006125
            g117 = result;
            int64_t v9 = _3f__3f_Citerator_40_wxStringToStringHashMap_wxImplementation_HashTable_40__40_QEBAPEAVwxStringToStringHashMap_(result); // 0x180006128
            g114 = v9;
            int64_t v10 = g120; // 0x18000612e
            g117 = v10;
            g119 = v9;
            int64_t v11 = _3f_CmpNoCase_40_wxString_40__40_QEBAHAEBV1_40__40_Z(v10, v9); // 0x180006134
            g114 = v11;
            if ((int32_t)v11 == 0) {
                // break -> 0x180006159
                break;
            }
            g117 = result;
            g114 = _3f__3f_Eiterator_40_wxStringToStringHashMap_wxImplementation_HashTable_40__40_QEAAAEAV01_40_XZ(result);
            g119 = v5;
            g117 = result;
            int64_t v12 = _3f__3f_9Iterator_40_wxStringToStringHashMap_wxImplementation_HashTable_40__40_QEBA_NAEBV01_40__40_Z(result, &v4); // 0x18000614f
            g114 = v12;
            if ((char)v12 == 0) {
                // break -> 0x180006159
                break;
            }
        }
    }
    // 0x180006159
    g116 = v1;
    g120 = v2;
    g114 = result;
    return result;
}
 
// Address range: 0x180006170 - 0x1800061fc
// Demangled:     protected: wxHTTP::FindCookie
int64_t _3f_FindCookie_40_wxHTTP_40__40_IEBA_3f_AVconst_iterator_40_wxStringToStringHashMap_wxImplementation_HashTable_40__40_AEBVwxString_40__40__40_Z(int64_t a1, int64_t result, int64_t a3) {
    // 0x180006170
    g112 = a3;
    g119 = result;
    g117 = a1;
    int64_t v1 = g116; // 0x180006170
    int64_t v2 = g120; // 0x180006175
    int64_t v3 = g117 + 448; // 0x18000617f
    g116 = v3;
    g120 = g112;
    g117 = v3;
    g114 = _3f_begin_40_wxStringToStringHashMap_wxImplementation_HashTable_40__40_QEBA_3f_AVconst_iterator_40_1_40_XZ(v3, result);
    int64_t v4; // bp-24
    int64_t v5 = &v4; // 0x180006195
    g119 = v5;
    int64_t v6 = g116; // 0x18000619a
    g117 = v6;
    int64_t v7 = _3f_end_40_wxStringToStringHashMap_wxImplementation_HashTable_40__40_QEBA_3f_AVconst_iterator_40_1_40_XZ(v6, &v4); // 0x18000619d
    g114 = v7;
    g119 = v5;
    g117 = result;
    int64_t v8 = _3f__3f_9Iterator_40_wxStringToStringHashMap_wxImplementation_HashTable_40__40_QEBA_NAEBV01_40__40_Z(result, &v4); // 0x1800061ab
    g114 = v8;
    if ((char)v8 != 0) {
        while (true) {
            // 0x1800061b5
            g117 = result;
            int64_t v9 = _3f__3f_Cconst_iterator_40_wxStringToStringHashMap_wxImplementation_HashTable_40__40_QEBAPEBVwxStringToStringHa(result); // 0x1800061b8
            g114 = v9;
            int64_t v10 = g120; // 0x1800061be
            g117 = v10;
            g119 = v9;
            int64_t v11 = _3f_CmpNoCase_40_wxString_40__40_QEBAHAEBV1_40__40_Z(v10, v9); // 0x1800061c4
            g114 = v11;
            if ((int32_t)v11 == 0) {
                // break -> 0x1800061e9
                break;
            }
            g117 = result;
            g114 = _3f__3f_Econst_iterator_40_wxStringToStringHashMap_wxImplementation_HashTable_40__40_QEAAAEAV01_40_XZ(result);
            g119 = v5;
            g117 = result;
            int64_t v12 = _3f__3f_9Iterator_40_wxStringToStringHashMap_wxImplementation_HashTable_40__40_QEBA_NAEBV01_40__40_Z(result, &v4); // 0x1800061df
            g114 = v12;
            if ((char)v12 == 0) {
                // break -> 0x1800061e9
                break;
            }
        }
    }
    // 0x1800061e9
    g116 = v1;
    g120 = v2;
    g114 = result;
    return result;
}
 
// Address range: 0x180006200 - 0x180006282
int64_t function_180006200(int64_t a1, int32_t a2) {
    // 0x180006200
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x180006200
    int64_t v2 = *(int64_t *)0x180019440; // 0x18000620a
    g114 = v2;
    int64_t v3 = g119; // 0x180006211
    g116 = v3;
    int64_t v4 = g117; // 0x180006214
    g114 = v4;
    if (*(int64_t *)v2 == 0 || v3 <= *(int64_t *)(v4 + 8)) {
        // 0x180006273
        *(int64_t *)(v4 + 16) = v3;
        g116 = v1;
        return g114;
    }
    // 0x180006226
    g112 = (int64_t)"wxMemoryBuffer::SetDataLen";
    g117 = (int64_t)"C:\\BUILD\\wxPython-src-3.0.2.0\\include\\wx/buffer.h";
    g119 = 560;
    g114 = _3f_wxOnAssert_40__40_YAXPEBDH000_40_Z("C:\\BUILD\\wxPython-src-3.0.2.0\\include\\wx/buffer.h", 560, "wxMemoryBuffer::SetDataLen", "len <= m_bufdata->m_size");
    char * v5 = (char *)*(int64_t *)0x180019430; // 0x180006256
    if (*v5 != 0) {
        // 0x18000625c
        *v5 = 0;
        g114 = __asm_int3();
    }
    // 0x180006261
    g114 = (int64_t)"C:\\BUILD\\wxPython-src-3.0.2.0\\include\\wx/buffer.h";
    *(int64_t *)((int64_t)"C:\\BUILD\\wxPython-src-3.0.2.0\\include\\wx/buffer.h" + 16) = g116;
    g116 = v1;
    return g114;
}
 
// Address range: 0x180006290 - 0x180006393
// Demangled:     public: wxHTTP::SetHeader
int64_t _3f_SetHeader_40_wxHTTP_40__40_QEAAXAEBVwxString_40__40_0_40_Z(int64_t a1, int64_t * a2, int64_t * a3) {
    // 0x180006290
    g112 = (int64_t)a3;
    g119 = (int64_t)a2;
    g117 = a1;
    int64_t v1 = g116; // 0x180006290
    int64_t v2 = g120; // 0x180006295
    int64_t v3 = g117; // 0x18000629f
    g120 = g112;
    int64_t v4 = g119; // rdi
    g116 = v3;
    int64_t v5; // 0x1800062c5
    if (*(char *)(v3 + 512) != 0) {
        int64_t v6 = v3 + 480; // 0x1800062b1
        g117 = v6;
        g114 = _3f_clear_40_wxStringToStringHashMap_wxImplementation_HashTable_40__40_QEAAXXZ(v6);
        *(char *)(g116 + 512) = 0;
        v5 = g116;
    } else {
        v5 = v3;
    }
    int64_t v7 = v5 + 480; // 0x1800062c5
    g116 = v7;
    int64_t v8; // bp-40
    int64_t v9 = &v8; // 0x1800062cc
    g119 = v9;
    g117 = v7;
    g114 = _3f_begin_40_wxStringToStringHashMap_wxImplementation_HashTable_40__40_QEAA_3f_AViterator_40_1_40_XZ(v7, v9);
    int64_t v10; // bp-24
    int64_t v11 = &v10; // 0x1800062da
    g119 = v11;
    int64_t v12 = g116; // 0x1800062df
    g117 = v12;
    int64_t v13 = _3f_end_40_wxStringToStringHashMap_wxImplementation_HashTable_40__40_QEAA_3f_AViterator_40_1_40_XZ(v12, &v10); // 0x1800062e2
    g114 = v13;
    g119 = v11;
    g117 = v9;
    int64_t v14 = _3f__3f_9Iterator_40_wxStringToStringHashMap_wxImplementation_HashTable_40__40_QEBA_NAEBV01_40__40_Z(v9, &v10); // 0x1800062f2
    g114 = v14;
    if ((char)v14 != 0) {
        while (true) {
            // 0x180006300
            g117 = v9;
            int64_t v15 = _3f__3f_Citerator_40_wxStringToStringHashMap_wxImplementation_HashTable_40__40_QEBAPEAVwxStringToStringHashMap_(v9); // 0x180006305
            g114 = v15;
            g117 = v4;
            g119 = v15;
            int64_t v16 = _3f_CmpNoCase_40_wxString_40__40_QEBAHAEBV1_40__40_Z(v4, v15); // 0x180006311
            g114 = v16;
            if ((int32_t)v16 == 0) {
                // break -> 0x18000633a
                break;
            }
            // 0x18000631b
            g117 = v9;
            g114 = _3f__3f_Eiterator_40_wxStringToStringHashMap_wxImplementation_HashTable_40__40_QEAAAEAV01_40_XZ(v9);
            g119 = v11;
            g117 = v9;
            int64_t v17 = _3f__3f_9Iterator_40_wxStringToStringHashMap_wxImplementation_HashTable_40__40_QEBA_NAEBV01_40__40_Z(v9, &v10); // 0x180006330
            g114 = v17;
            if ((char)v17 == 0) {
                // break -> 0x18000633a
                break;
            }
        }
    }
    // 0x18000633a
    g119 = v11;
    int64_t v18 = g116; // 0x18000633f
    g117 = v18;
    int64_t v19 = _3f_end_40_wxStringToStringHashMap_wxImplementation_HashTable_40__40_QEAA_3f_AViterator_40_1_40_XZ(v18, &v10); // 0x180006342
    g114 = v19;
    g117 = v9;
    g119 = v19;
    int64_t v20 = _3f__3f_9Iterator_40_wxStringToStringHashMap_wxImplementation_HashTable_40__40_QEBA_NAEBV01_40__40_Z(v9, (int64_t *)v19); // 0x180006350
    g114 = v20;
    int64_t v21; // 0x180006371
    if ((char)v20 == 0) {
        // 0x18000636b
        g119 = v4;
        int64_t v22 = g116; // 0x18000636e
        g117 = v22;
        v21 = _3f__3f_AwxStringToStringHashMap_40__40_QEAAAEAVwxString_40__40_AEBV1_40__40_Z(v22, v4);
        g114 = v21;
    } else {
        // 0x18000635a
        g117 = v9;
        int64_t v23 = _3f__3f_Citerator_40_wxStringToStringHashMap_wxImplementation_HashTable_40__40_QEBAPEAVwxStringToStringHashMap_(v9); // 0x18000635f
        g114 = v23;
        v21 = v23 + 56;
    }
    // 0x18000637a
    g117 = v21;
    int64_t v24 = g120; // 0x18000637a
    g119 = v24;
    int64_t result = _3f__3f_4wxString_40__40_QEAAAEAV0_40_AEBV0_40__40_Z(v21, v24); // 0x18000637d
    g114 = result;
    g116 = v1;
    g120 = v2;
    return result;
}
 
// Address range: 0x1800063a0 - 0x180006412
int64_t function_1800063a0(int64_t a1, int64_t a2) {
    // 0x1800063a0
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x1800063a0
    int64_t v2 = g120; // 0x1800063a5
    int64_t v3 = g117; // 0x1800063af
    g116 = v3;
    int64_t v4 = *(int64_t *)(v3 + 16); // 0x1800063b5
    g114 = v4;
    int64_t v5 = g119 + v4; // 0x1800063b9
    g120 = v5;
    int64_t v6; // 0x180006405
    if (v5 > *(int64_t *)(v3 + 8)) {
        int64_t v7 = v5 + 1024; // 0x1800063cb
        g120 = v7;
        g119 = v7;
        int64_t * mem = realloc((int64_t *)v3, (int32_t)v7); // 0x1800063d8
        int64_t v8 = (int64_t)mem; // 0x1800063d8
        g114 = v8;
        *(int64_t *)g116 = v8;
        if (mem == NULL) {
            // 0x1800063e6
            g117 = v3;
            free((int64_t *)v3);
            g114 = &g122;
        }
        // 0x1800063ef
        *(int64_t *)(g116 + 8) = g120;
        v6 = g117;
    } else {
        v6 = v3;
    }
    // 0x1800063f8
    g116 = v1;
    g120 = v2;
    int64_t result = *(int64_t *)(v6 + 16) + v6; // 0x180006409
    g114 = result;
    return result;
}
 
// Address range: 0x180006420 - 0x180006547
// Demangled:     public: wxHTTP::GetHeader
int64_t _3f_GetHeader_40_wxHTTP_40__40_QEBA_3f_AVwxString_40__40_AEBV2_40__40_Z(int64_t a1, int64_t a2, int64_t * a3) {
    int64_t v1 = (int64_t)a3;
    g112 = v1;
    g119 = a2;
    g117 = a1;
    int64_t v2;
    g114 = &v2;
    int64_t v3 = g120; // 0x180006428
    int64_t v4 = g116; // 0x18000643a
    g120 = v1;
    int64_t v5 = g119; // 0x180006441
    g116 = 0;
    int64_t v6 = g117 + 480; // 0x180006449
    int64_t v7; // bp-128
    int64_t v8 = &v7; // 0x180006450
    g119 = v8;
    g117 = v6;
    g114 = _3f_begin_40_wxStringToStringHashMap_wxImplementation_HashTable_40__40_QEBA_3f_AVconst_iterator_40_1_40_XZ(v6, v8);
    int64_t v9; // bp-112
    int64_t v10 = &v9; // 0x18000645d
    g119 = v10;
    g117 = v6;
    int64_t v11 = _3f_end_40_wxStringToStringHashMap_wxImplementation_HashTable_40__40_QEBA_3f_AVconst_iterator_40_1_40_XZ(v6, &v9); // 0x180006465
    g114 = v11;
    g119 = v10;
    g117 = v8;
    int64_t v12 = _3f__3f_9Iterator_40_wxStringToStringHashMap_wxImplementation_HashTable_40__40_QEBA_NAEBV01_40__40_Z(v8, &v9); // 0x180006475
    g114 = v12;
    if ((char)v12 != 0) {
        while (true) {
            // 0x180006480
            g117 = v8;
            int64_t v13 = _3f__3f_Cconst_iterator_40_wxStringToStringHashMap_wxImplementation_HashTable_40__40_QEBAPEBVwxStringToStringHa(v8); // 0x180006485
            g114 = v13;
            g119 = v13;
            int64_t v14 = g120; // 0x18000648e
            g117 = v14;
            int64_t v15 = _3f_CmpNoCase_40_wxString_40__40_QEBAHAEBV1_40__40_Z(v14, v13); // 0x180006491
            g114 = v15;
            if ((int32_t)v15 == 0) {
                // break -> 0x1800064ba
                break;
            }
            // 0x18000649b
            g117 = v8;
            g114 = _3f__3f_Econst_iterator_40_wxStringToStringHashMap_wxImplementation_HashTable_40__40_QEAAAEAV01_40_XZ(v8);
            g119 = v10;
            g117 = v8;
            int64_t v16 = _3f__3f_9Iterator_40_wxStringToStringHashMap_wxImplementation_HashTable_40__40_QEBA_NAEBV01_40__40_Z(v8, &v9); // 0x1800064b0
            g114 = v16;
            if ((char)v16 == 0) {
                // break -> 0x1800064ba
                break;
            }
        }
    }
    // 0x1800064ba
    int64_t v17; // bp-96
    g119 = &v17;
    g117 = v6;
    int64_t v18 = _3f_end_40_wxStringToStringHashMap_wxImplementation_HashTable_40__40_QEBA_3f_AVconst_iterator_40_1_40_XZ(v6, &v17); // 0x1800064c2
    g114 = v18;
    g119 = v18;
    g117 = v8;
    int64_t v19 = _3f__3f_8Iterator_40_wxStringToStringHashMap_wxImplementation_HashTable_40__40_QEBA_NAEBV01_40__40_Z(&v7, v18); // 0x1800064d0
    g114 = v19;
    int64_t v20; // bp-80
    int64_t v21; // 0x1800064ff
    if ((char)v19 == 0) {
        // 0x1800064f4
        g117 = v8;
        v21 = _3f__3f_Cconst_iterator_40_wxStringToStringHashMap_wxImplementation_HashTable_40__40_QEBAPEBVwxStringToStringHa(v8) + 56;
        g114 = v21;
    } else {
        int64_t v22 = &v20; // 0x1800064da
        g117 = v22;
        int64_t v23 = _3f__3f_0wxString_40__40_QEAA_40_XZ(v22); // 0x1800064df
        g114 = v23;
        g116 = 1;
        v21 = v23;
    }
    // 0x180006503
    g119 = v21;
    g117 = v5;
    g114 = _3f__3f_0wxString_40__40_QEAA_40_AEBV0_40__40_Z(v5, v21);
    int64_t v24 = g116; // 0x18000650f
    uint32_t v25 = (int32_t)v24 | 2; // 0x18000650f
    g116 = v25;
    int64_t result;
    if ((v24 & 1) == 0) {
        // 0x180006534
        result = v5;
        g114 = result;
        g116 = v4;
        g120 = v3;
        return result;
    }
    // 0x180006517
    g116 = v25 & -2;
    int64_t v26 = &v20; // 0x180006521
    g117 = v26;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v26, v21, v1);
    // 0x180006534
    result = v5;
    g114 = result;
    g116 = v4;
    g120 = v3;
    return result;
}
 
// Address range: 0x180006550 - 0x180006677
// Demangled:     public: wxHTTP::GetCookie
int64_t _3f_GetCookie_40_wxHTTP_40__40_QEBA_3f_AVwxString_40__40_AEBV2_40__40_Z(int64_t a1, int64_t a2, int64_t a3) {
    // 0x180006550
    g112 = a3;
    g119 = a2;
    g117 = a1;
    int64_t v1;
    g114 = &v1;
    int64_t v2 = g120; // 0x180006558
    int64_t v3 = g116; // 0x18000656a
    g120 = a3;
    int64_t result = g119; // rdi
    g116 = 0;
    int64_t v4 = g117 + 448; // 0x180006579
    int64_t v5; // bp-128
    int64_t v6 = &v5; // 0x180006580
    g119 = v6;
    g117 = v4;
    g114 = _3f_begin_40_wxStringToStringHashMap_wxImplementation_HashTable_40__40_QEBA_3f_AVconst_iterator_40_1_40_XZ(v4, v6);
    int64_t v7; // bp-112
    int64_t v8 = &v7; // 0x18000658d
    g119 = v8;
    g117 = v4;
    int64_t v9 = _3f_end_40_wxStringToStringHashMap_wxImplementation_HashTable_40__40_QEBA_3f_AVconst_iterator_40_1_40_XZ(v4, &v7); // 0x180006595
    g114 = v9;
    g119 = v8;
    g117 = v6;
    int64_t v10 = _3f__3f_9Iterator_40_wxStringToStringHashMap_wxImplementation_HashTable_40__40_QEBA_NAEBV01_40__40_Z(v6, &v7); // 0x1800065a5
    g114 = v10;
    if ((char)v10 != 0) {
        while (true) {
            // 0x1800065b0
            g117 = v6;
            int64_t v11 = _3f__3f_Cconst_iterator_40_wxStringToStringHashMap_wxImplementation_HashTable_40__40_QEBAPEBVwxStringToStringHa(v6); // 0x1800065b5
            g114 = v11;
            g119 = v11;
            int64_t v12 = g120; // 0x1800065be
            g117 = v12;
            int64_t v13 = _3f_CmpNoCase_40_wxString_40__40_QEBAHAEBV1_40__40_Z(v12, v11); // 0x1800065c1
            g114 = v13;
            if ((int32_t)v13 == 0) {
                // break -> 0x1800065ea
                break;
            }
            // 0x1800065cb
            g117 = v6;
            g114 = _3f__3f_Econst_iterator_40_wxStringToStringHashMap_wxImplementation_HashTable_40__40_QEAAAEAV01_40_XZ(v6);
            g119 = v8;
            g117 = v6;
            int64_t v14 = _3f__3f_9Iterator_40_wxStringToStringHashMap_wxImplementation_HashTable_40__40_QEBA_NAEBV01_40__40_Z(v6, &v7); // 0x1800065e0
            g114 = v14;
            if ((char)v14 == 0) {
                // break -> 0x1800065ea
                break;
            }
        }
    }
    // 0x1800065ea
    int64_t v15; // bp-96
    g119 = &v15;
    g117 = v4;
    int64_t v16 = _3f_end_40_wxStringToStringHashMap_wxImplementation_HashTable_40__40_QEBA_3f_AVconst_iterator_40_1_40_XZ(v4, &v15); // 0x1800065f2
    g114 = v16;
    g119 = v16;
    g117 = v6;
    int64_t v17 = _3f__3f_8Iterator_40_wxStringToStringHashMap_wxImplementation_HashTable_40__40_QEBA_NAEBV01_40__40_Z(&v5, v16); // 0x180006600
    g114 = v17;
    int64_t v18; // bp-80
    int64_t v19; // 0x18000662f
    if ((char)v17 == 0) {
        // 0x180006624
        g117 = v6;
        v19 = _3f__3f_Cconst_iterator_40_wxStringToStringHashMap_wxImplementation_HashTable_40__40_QEBAPEBVwxStringToStringHa(v6) + 56;
        g114 = v19;
    } else {
        int64_t v20 = &v18; // 0x18000660a
        g117 = v20;
        int64_t v21 = _3f__3f_0wxString_40__40_QEAA_40_XZ(v20); // 0x18000660f
        g114 = v21;
        g116 = 1;
        v19 = v21;
    }
    // 0x180006633
    g119 = v19;
    g117 = result;
    g114 = _3f__3f_0wxString_40__40_QEAA_40_AEBV0_40__40_Z(result, v19);
    int64_t v22 = g116; // 0x18000663f
    uint32_t v23 = (int32_t)v22 | 2; // 0x18000663f
    g116 = v23;
    if ((v22 & 1) != 0) {
        // 0x180006647
        g116 = v23 & -2;
        int64_t v24 = &v18; // 0x180006651
        g117 = v24;
        g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v24, v19, a3);
    }
    g114 = result;
    g116 = v3;
    g120 = v2;
    return result;
}
 
// Address range: 0x180006680 - 0x180006aa3
// Demangled:     protected: wxHTTP::ParseHeaders
int64_t _3f_ParseHeaders_40_wxHTTP_40__40_IEAA_NXZ(int64_t a1) {
    // 0x180006680
    g117 = a1;
    int64_t v1 = g116; // 0x180006694
    int64_t v2; // bp-856
    int64_t v3 = g61 ^ (int64_t)&v2; // 0x1800066a7
    g114 = v3;
    g118 = g117;
    int64_t v4; // bp-392
    int64_t v5 = &v4; // 0x1800066b5
    g117 = v5;
    g114 = _3f__3f_0wxString_40__40_QEAA_40_XZ(v5);
    int64_t v6; // bp-168
    int64_t v7 = &v6; // 0x1800066c3
    g117 = v7;
    g114 = _3f__3f_0wxStringTokenizer_40__40_QEAA_40_XZ(&v6);
    int64_t v8 = g118 + 480; // 0x1800066d2
    g117 = v8;
    g114 = _3f_clear_40_wxStringToStringHashMap_wxImplementation_HashTable_40__40_QEAAXXZ(v8);
    int64_t v9 = g118 + 448; // 0x1800066df
    g117 = v9;
    g114 = _3f_clear_40_wxStringToStringHashMap_wxImplementation_HashTable_40__40_QEAAXXZ(v9);
    *(char *)(g118 + 512) = 1;
    g119 = v5;
    int64_t v10 = g118; // 0x1800066fb
    g117 = v10;
    int64_t v11 = _3f_ReadLine_40_wxProtocol_40__40_SA_3f_AW4wxProtocolError_40__40_PEAVwxSocketBase_40__40_AEAVwxString_40__40__40_Z(v10, &v4, g112); // 0x1800066fe
    g114 = v11;
    *(int32_t *)(g118 + 376) = (int32_t)v11;
    int64_t v12;
    if ((int32_t)g114 != 0) {
      lab_0x180006a5b:
        // 0x180006a5b
        g117 = v7;
        g114 = _3f__3f_1wxStringTokenizer_40__40_UEAA_40_XZ(&v6);
        g117 = v5;
        int64_t v13 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v5, g119, g112); // 0x180006a72
        g114 = v13;
        v12 = v13 & -256;
    } else {
        // 0x180006711
        int64_t v14; // bp-454
        int64_t v15 = &v14; // 0x180006727
        int64_t v16; // bp-280
        int64_t v17 = &v16; // 0x18000673a
        int64_t v18; // bp-336
        int64_t v19 = &v18; // 0x180006758
        int64_t v20; // bp-784
        int64_t v21 = &v20; // 0x1800069a1
        int64_t v22; // bp-728
        int64_t v23 = &v22; // 0x1800069bb
        int64_t v24; // bp-672
        int64_t v25 = &v24; // 0x1800067a8
        int64_t v26; // bp-448
        int64_t v27 = &v26; // 0x1800067c5
        int64_t v28; // bp-224
        int64_t v29 = &v28; // 0x1800067ec
        int64_t v30; // bp-504
        int64_t v31 = &v30; // 0x18000682b
        int64_t v32; // bp-560
        int64_t v33 = &v32; // 0x180006848
        int64_t v34; // bp-616
        int64_t v35 = &v34; // 0x18000686c
        while (true) {
            // 0x180006711
            g117 = v5;
            int64_t v36 = _3f_empty_40_wxString_40__40_QEBA_NXZ(v5, g119); // 0x180006719
            g114 = v36;
            if ((char)v36 != 0) {
                // break -> 0x180006a3a
                break;
            }
            // 0x180006727
            g119 = v15;
            int64_t v37; // bp-808
            g117 = &v37;
            int64_t v38 = _3f__3f_0wxUniChar_40__40_QEAA_40_D_40_Z(&v37, &v14); // 0x18000672e
            g114 = v38;
            uint32_t v39 = *(int32_t *)v38; // 0x180006737
            g112 = v39;
            g119 = v17;
            g117 = v5;
            int64_t v40 = _3f_BeforeFirst_40_wxString_40__40_QEBA_3f_AV1_40_VwxUniChar_40__40_PEAV1_40__40_Z(&v4, &v16, v39, 0); // 0x18000674a
            g114 = v40;
            g119 = (int64_t)"Set-Cookie";
            g117 = v19;
            g114 = _3f__3f_0wxString_40__40_QEAA_40_PEBD_40_Z(&v18, (int64_t)"Set-Cookie");
            g119 = v19;
            g117 = v17;
            int64_t v41 = _3f_CmpNoCase_40_wxString_40__40_QEBAHAEBV1_40__40_Z(v17, v19); // 0x180006777
            g114 = v41;
            g116 = g116 & -256 | (int64_t)((int32_t)v41 == 0);
            g117 = v19;
            g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v19, v19, (int64_t)v39);
            g119 = v15;
            int64_t v42;
            if ((char)g116 == 0) {
                // 0x180006991
                int64_t v43; // bp-796
                g117 = &v43;
                int64_t v44 = _3f__3f_0wxUniChar_40__40_QEAA_40_D_40_Z(&v43, &v14); // 0x180006998
                g114 = v44;
                uint32_t v45 = *(int32_t *)v44; // 0x18000699e
                g112 = v45;
                g119 = v21;
                g117 = v5;
                int64_t v46 = _3f_AfterFirst_40_wxString_40__40_QEBA_3f_AV1_40_VwxUniChar_40__40__40_Z(v5, &v20, v45); // 0x1800069ae
                g114 = v46;
                g112 = 3;
                g119 = v23;
                g117 = v46;
                int64_t v47 = _3f_Strip_40_wxString_40__40_QEBA_3f_AV1_40_W4stripType_40_1_40__40_Z(v46, &v22, 3); // 0x1800069c6
                g114 = v47;
                g116 = v47;
                g119 = v17;
                int64_t v48 = g118 + 480; // 0x1800069d7
                g117 = v48;
                int64_t v49 = _3f__3f_AwxStringToStringHashMap_40__40_QEAAAEAVwxString_40__40_AEBV1_40__40_Z(v48, v17); // 0x1800069de
                g114 = v49;
                g117 = v49;
                int64_t v50 = g116; // 0x1800069e7
                g119 = v50;
                g114 = _3f__3f_4wxString_40__40_QEAAAEAV0_40_AEBV0_40__40_Z(v49, v50);
                g117 = v23;
                g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v23, g119, g112);
                g117 = v21;
                v42 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v21, g119, g112);
            } else {
                // 0x180006798
                int64_t v51; // bp-816
                g117 = &v51;
                int64_t v52 = _3f__3f_0wxUniChar_40__40_QEAA_40_D_40_Z(&v51, &v14); // 0x18000679f
                g114 = v52;
                uint32_t v53 = *(int32_t *)v52; // 0x1800067a5
                g112 = v53;
                g119 = v25;
                g117 = v5;
                int64_t v54 = _3f_AfterFirst_40_wxString_40__40_QEBA_3f_AV1_40_VwxUniChar_40__40__40_Z(v5, &v24, v53); // 0x1800067b8
                g114 = v54;
                g112 = 3;
                g119 = v27;
                g117 = v54;
                int64_t v55 = _3f_Strip_40_wxString_40__40_QEBA_3f_AV1_40_W4stripType_40_1_40__40_Z(v54, &v26, 3); // 0x1800067d0
                g114 = v55;
                g116 = v55;
                int64_t v56; // bp-451
                g119 = &v56;
                int64_t v57; // bp-800
                g117 = &v57;
                int64_t v58 = _3f__3f_0wxUniChar_40__40_QEAA_40_D_40_Z(&v57, &v56); // 0x1800067e0
                g114 = v58;
                uint32_t v59 = *(int32_t *)v58; // 0x1800067e9
                g112 = v59;
                g119 = v29;
                int64_t v60 = g116; // 0x1800067f4
                g117 = v60;
                int64_t v61 = _3f_BeforeFirst_40_wxString_40__40_QEBA_3f_AV1_40_VwxUniChar_40__40_PEAV1_40__40_Z((int64_t *)v60, &v28, v59, 0); // 0x1800067f7
                g114 = v61;
                g117 = v27;
                int64_t v62 = v59; // 0x180006806
                g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v27, v29, v62);
                g117 = v25;
                g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v25, v29, v62);
                int64_t v63; // bp-198
                g119 = &v63;
                int64_t v64; // bp-824
                g117 = &v64;
                int64_t v65 = _3f__3f_0wxUniChar_40__40_QEAA_40_D_40_Z(&v64, &v63); // 0x180006822
                g114 = v65;
                uint32_t v66 = *(int32_t *)v65; // 0x180006828
                g112 = v66;
                g119 = v31;
                g117 = v5;
                int64_t v67 = _3f_AfterFirst_40_wxString_40__40_QEBA_3f_AV1_40_VwxUniChar_40__40__40_Z(v5, &v30, v66); // 0x18000683b
                g114 = v67;
                g112 = 3;
                g119 = v33;
                g117 = v67;
                int64_t v68 = _3f_Strip_40_wxString_40__40_QEBA_3f_AV1_40_W4stripType_40_1_40__40_Z(v67, &v32, 3); // 0x180006853
                g114 = v68;
                g116 = v68;
                int64_t v69; // bp-707
                g119 = &v69;
                int64_t v70; // bp-820
                g117 = &v70;
                int64_t v71 = _3f__3f_0wxUniChar_40__40_QEAA_40_D_40_Z(&v70, &v69); // 0x180006863
                g114 = v71;
                uint32_t v72 = *(int32_t *)v71; // 0x180006869
                g112 = v72;
                g119 = v35;
                int64_t v73 = g116; // 0x180006874
                g117 = v73;
                int64_t v74 = _3f_AfterFirst_40_wxString_40__40_QEBA_3f_AV1_40_VwxUniChar_40__40__40_Z(v73, &v34, v72); // 0x180006877
                g114 = v74;
                g116 = v74;
                int64_t v75; // bp-709
                g119 = &v75;
                int64_t v76; // bp-812
                g117 = &v76;
                int64_t v77 = _3f__3f_0wxUniChar_40__40_QEAA_40_D_40_Z(&v76, &v75); // 0x180006887
                g114 = v77;
                uint32_t v78 = *(int32_t *)v77; // 0x180006890
                g112 = v78;
                g119 = v19;
                int64_t v79 = g116; // 0x18000689b
                g117 = v79;
                int64_t v80 = _3f_BeforeFirst_40_wxString_40__40_QEBA_3f_AV1_40_VwxUniChar_40__40_PEAV1_40__40_Z((int64_t *)v79, &v18, v78, 0); // 0x18000689e
                g114 = v80;
                g117 = v35;
                int64_t v81 = v78; // 0x1800068ad
                g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v35, v19, v81);
                g117 = v33;
                g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v33, v19, v81);
                g117 = v31;
                g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v31, v19, v81);
                g119 = v29;
                int64_t v82 = g118 + 448; // 0x1800068d9
                g117 = v82;
                int64_t v83 = _3f__3f_AwxStringToStringHashMap_40__40_QEAAAEAVwxString_40__40_AEBV1_40__40_Z(v82, v29); // 0x1800068e0
                g114 = v83;
                g117 = v83;
                g119 = v19;
                g114 = _3f__3f_4wxString_40__40_QEAAAEAV0_40_AEBV0_40__40_Z(v83, v19);
                g119 = v15;
                int64_t v84; // bp-804
                g117 = &v84;
                int64_t v85 = _3f__3f_0wxUniChar_40__40_QEAA_40_D_40_Z(&v84, &v14); // 0x1800068fe
                g114 = v85;
                uint32_t v86 = *(int32_t *)v85; // 0x180006904
                g112 = v86;
                g119 = v23;
                g117 = v5;
                int64_t v87 = _3f_AfterFirst_40_wxString_40__40_QEBA_3f_AV1_40_VwxUniChar_40__40__40_Z(v5, &v22, v86); // 0x180006917
                g114 = v87;
                g112 = 3;
                g119 = v21;
                g117 = v87;
                int64_t v88 = _3f_Strip_40_wxString_40__40_QEBA_3f_AV1_40_W4stripType_40_1_40__40_Z(v87, &v20, 3); // 0x18000692c
                g114 = v88;
                g116 = v88;
                g119 = v17;
                int64_t v89 = g118 + 480; // 0x18000693d
                g117 = v89;
                int64_t v90 = _3f__3f_AwxStringToStringHashMap_40__40_QEAAAEAVwxString_40__40_AEBV1_40__40_Z(v89, v17); // 0x180006944
                g114 = v90;
                g117 = v90;
                int64_t v91 = g116; // 0x18000694d
                g119 = v91;
                g114 = _3f__3f_4wxString_40__40_QEAAAEAV0_40_AEBV0_40__40_Z(v90, v91);
                g117 = v21;
                g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v21, g119, g112);
                g117 = v23;
                g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v23, g119, g112);
                g117 = v19;
                g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v19, g119, g112);
                g117 = v29;
                v42 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v29, g119, g112);
            }
            // 0x180006a0c
            g114 = v42;
            g117 = v17;
            g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v17, g119, g112);
            g119 = v5;
            int64_t v92 = g118; // 0x180006a22
            g117 = v92;
            int64_t v93 = _3f_ReadLine_40_wxProtocol_40__40_SA_3f_AW4wxProtocolError_40__40_PEAVwxSocketBase_40__40_AEAVwxString_40__40__40_Z(v92, &v4, g112); // 0x180006a25
            g114 = v93;
            *(int32_t *)(g118 + 376) = (int32_t)v93;
            if ((int32_t)g114 != 0) {
                goto lab_0x180006a5b;
            }
        }
        // 0x180006a3a
        g117 = v7;
        g114 = _3f__3f_1wxStringTokenizer_40__40_UEAA_40_XZ(&v6);
        g117 = v5;
        v12 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v5, g119, g112) & -256 | 1;
    }
    // 0x180006a7a
    g114 = v12;
    int64_t v94 = g121 ^ v3; // 0x180006a82
    g117 = v94;
    __security_check_cookie(v94);
    g114 = &g122;
    g116 = v1;
    return &g122;
}
 
// Address range: 0x180006ab0 - 0x180006ab5
// Demangled:     public: virtual wxHTTP::Abort
int64_t _3f_Abort_40_wxHTTP_40__40_UEAA_NXZ(void) {
    int64_t result = _3f_Close_40_wxSocketBase_40__40_UEAA_NXZ(g117); // 0x180006ab0
    g114 = result;
    return result;
}
 
// Address range: 0x180006ac0 - 0x180006afa
int64_t function_180006ac0(int64_t a1, int64_t a2) {
    // 0x180006ac0
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x180006ac0
    int64_t v2 = g118; // 0x180006ac5
    g116 = a2;
    g118 = a1;
    _3f__3f_0wxSocketInputStream_40__40_QEAA_40_AEAVwxSocketBase_40__40__40_Z(a1, a2);
    g114 = 0;
    *(int64_t *)(g118 + 64) = g116;
    g116 = v1;
    *(int64_t *)(g118 + 72) = g114;
    *(int32_t *)(g118 + 80) = (int32_t)g114;
    *(int64_t *)g118 = (int64_t)&g21;
    int64_t result = g118; // 0x180006af1
    g114 = result;
    g118 = v2;
    return result;
}
 
// Address range: 0x180006b00 - 0x180006b05
int64_t function_180006b00(int64_t a1) {
    // 0x180006b00
    g117 = a1;
    int64_t result = *(int64_t *)(a1 + 72); // 0x180006b00
    g114 = result;
    return result;
}
 
// Address range: 0x180006b10 - 0x180006b6a
int64_t function_180006b10(int64_t a1, int64_t a2) {
    // 0x180006b10
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x180006b23
    g116 = g119;
    int64_t result = g117; // 0x180006b2a
    g114 = &g21;
    *(int64_t *)result = (int64_t)&g21;
    int64_t v2 = *(int64_t *)(g117 + 64); // 0x180006b37
    g117 = v2;
    g114 = *(int64_t *)v2;
    g117 = result;
    g114 = _3f__3f_1wxSocketInputStream_40__40_UEAA_40_XZ(result);
    if ((g116 & 1) != 0) {
        g117 = result;
        g114 = function_18001310e(result);
    }
    g114 = result;
    g116 = v1;
    return result;
}
 
// Address range: 0x180006b70 - 0x180006bb3
int64_t function_180006b70(int64_t a1) {
    // 0x180006b70
    g117 = a1;
    int64_t v1 = g116; // 0x180006b70
    int64_t v2 = (int64_t)*(int32_t *)(a1 + 80); // 0x180006b76
    g114 = v2;
    g116 = a1;
    if (v2 >= *(int64_t *)(a1 + 72)) {
        // 0x180006b82
        *(int32_t *)(a1 + 24) = 1;
        g114 = 0;
        g116 = v1;
        return 0;
    }
    int64_t v3 = _3f_OnSysRead_40_wxSocketInputStream_40__40_MEAA_KPEAX_K_40_Z(a1); // 0x180006b91
    g114 = v3;
    int32_t * v4 = (int32_t *)(g116 + 80); // 0x180006b96
    *v4 = *v4 + (int32_t)v3;
    int64_t v5 = g116; // 0x180006b99
    if (*(int64_t *)(v5 + 72) != -1) {
        // 0x180006bad
        g116 = v1;
        return g114;
    }
    int32_t * v6 = (int32_t *)(v5 + 24); // 0x180006ba0
    if (*v6 == 3) {
        // 0x180006ba6
        *v6 = 1;
    }
    // 0x180006bad
    g116 = v1;
    return g114;
}
 
// Address range: 0x180006bc0 - 0x180006c2c
// Demangled:     public: virtual wxHTTP::GetContentType
int64_t _3f_GetContentType_40_wxHTTP_40__40_UEBA_3f_AVwxString_40__40_XZ(int64_t a1, int64_t a2) {
    // 0x180006bc0
    g119 = a2;
    g117 = a1;
    int64_t v1;
    g114 = &v1;
    int64_t v2 = g116; // 0x180006bd5
    g118 = g119;
    g116 = g117;
    g119 = (int64_t)L"Content-Type";
    int64_t v3; // bp-64
    int64_t v4 = &v3; // 0x180006bed
    g117 = v4;
    g114 = _3f__3f_0wxString_40__40_QEAA_40_PEB_W_40_Z(&v3, (int64_t)L"Content-Type", g112);
    g112 = v4;
    g119 = g118;
    int64_t v5 = g116; // 0x180006c00
    g117 = v5;
    g114 = _3f_GetHeader_40_wxHTTP_40__40_QEBA_3f_AVwxString_40__40_AEBV2_40__40_Z(v5, g118, &v3);
    g117 = v4;
    _3f__3f_1wxString_40__40_QEAA_40_XZ(v4, g118, v4);
    g114 = g118;
    g116 = v2;
    return g118;
}
 
// Address range: 0x180006c30 - 0x180006c57
int64_t function_180006c30(int64_t a1) {
    // 0x180006c30
    g117 = a1;
    int64_t v1 = g116; // 0x180006c30
    int64_t v2 = g117; // 0x180006c36
    g116 = v2;
    int64_t * v3 = (int64_t *)(v2 + 24); // 0x180006c39
    int64_t v4 = *v3 - 1; // 0x180006c39
    *v3 = v4;
    int64_t result; // 0x180006c56
    if (v4 != 0) {
        // 0x180006c30
        result = g114;
    } else {
        // 0x180006c40
        free((int64_t *)g117);
        g114 = &g122;
        int64_t v5 = g116; // 0x180006c49
        g117 = v5;
        int64_t v6 = function_18001310e(v5); // 0x180006c4c
        g114 = v6;
        result = v6;
    }
    // 0x180006c51
    g116 = v1;
    return result;
}
 
// Address range: 0x180006c60 - 0x180006ceb
// Demangled:     public: wxHTTP::SetPostBuffer
int64_t _3f_SetPostBuffer_40_wxHTTP_40__40_QEAA_NAEBVwxString_40__40_AEBVwxMemoryBuffer_40__40__40_Z(int64_t a1, int64_t a2, int64_t a3) {
    // 0x180006c60
    g112 = a3;
    g119 = a2;
    g117 = a1;
    int64_t v1 = g120; // 0x180006c65
    int64_t v2 = g117; // 0x180006c75
    int64_t v3 = v2 + 528; // 0x180006c75
    int64_t v4 = g112; // 0x180006c7c
    g120 = v4;
    int64_t v5 = g119; // 0x180006c7f
    int64_t v6; // 0x180006cc0
    if (v4 != v3) {
        int64_t v7 = g116; // 0x180006c8a
        int64_t v8 = *(int64_t *)v3; // 0x180006c8f
        g116 = v8;
        int64_t * v9 = (int64_t *)(v8 + 24); // 0x180006c92
        int64_t v10 = *v9 - 1; // 0x180006c92
        *v9 = v10;
        if (v10 == 0) {
            int64_t v11 = *(int64_t *)g116; // 0x180006c99
            g117 = v11;
            free((int64_t *)v11);
            g114 = &g122;
            int64_t v12 = g116; // 0x180006ca2
            g117 = v12;
            g114 = function_18001310e(v12);
        }
        int64_t v13 = g112; // 0x180006caa
        g114 = v13;
        g116 = v7;
        *(int64_t *)v3 = v13;
        int64_t * v14 = (int64_t *)(g114 + 24); // 0x180006cb5
        *v14 = *v14 + 1;
        v6 = v5;
    } else {
        v6 = v5;
    }
    int64_t v15 = v2 + 536; // 0x180006cb9
    g117 = v15;
    g119 = v6;
    g114 = _3f__3f_4wxString_40__40_QEAAAEAV0_40_AEBV0_40__40_Z(v15, v6);
    g120 = v1;
    g114 = 0;
    int64_t result = *(int64_t *)(*(int64_t *)v3 + 16) != 0; // 0x180006ce1
    g114 = result;
    return result;
}
 
// Address range: 0x180006cf0 - 0x180006ed7
// Demangled:     public: virtual wxHTTP::Connect
int64_t _3f_Connect_40_wxHTTP_40__40_UEAA_NAEBVwxString_40__40_G_40_Z(int64_t a1, int64_t a2, int64_t a3) {
    // 0x180006cf0
    g112 = a3;
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x180006cf0
    int64_t v2 = g120; // 0x180006cf3
    int64_t v3; // bp-216
    int64_t v4 = g61 ^ (int64_t)&v3; // 0x180006d0e
    g114 = v4;
    g115 = a3;
    int64_t v5 = g119; // 0x180006d1d
    g108 = v5;
    int64_t v6 = g117; // 0x180006d20
    g118 = v6;
    int64_t * v7 = (int64_t *)(v6 + 520); // 0x180006d23
    int64_t v8 = *v7; // 0x180006d23
    int64_t v9; // 0x180006d5d
    if (v8 != 0) {
        // 0x180006d4f
        g119 = 1;
        *v7 = 0;
        g114 = v8;
        g117 = g118;
        v9 = g119;
    } else {
        v9 = v5;
    }
    // 0x180006d58
    g117 = 80;
    int64_t v10 = function_18001323c(80, v9); // 0x180006d5d
    g114 = v10;
    g120 = v10;
    int64_t v11; // 0x180006d9b
    if (v10 == 0) {
        // 0x180006d99
        g120 = 0;
        v11 = 0;
    } else {
        // 0x180006d6f
        g117 = v10;
        _3f__3f_0wxSockAddress_40__40_QEAA_40_XZ(v10);
        g114 = &g6;
        *(int64_t *)g120 = (int64_t)&g6;
        int64_t v12 = g120 + 24; // 0x180006d82
        g117 = v12;
        _3f__3f_0wxString_40__40_QEAA_40_XZ(v12);
        g114 = &g7;
        *(int64_t *)g120 = (int64_t)&g7;
        v11 = g120;
    }
    // 0x180006d9b
    *(int64_t *)(g118 + 520) = v11;
    int64_t v13 = g108; // 0x180006da2
    g119 = v13;
    int64_t v14 = g120; // 0x180006da5
    g117 = v14;
    int64_t v15 = _3f_Hostname_40_wxIPaddress_40__40_QEAA_NAEBVwxString_40__40__40_Z(v14, v13); // 0x180006da8
    g114 = v15;
    int64_t v16;
    if ((char)v15 != 0) {
        // 0x180006de4
        int64_t v17; // bp-168
        if ((int16_t)g115 == 0) {
            // 0x180006df6
            g119 = (int64_t)L"http";
            int64_t v18 = &v17; // 0x180006dfd
            g117 = v18;
            g114 = _3f__3f_0wxString_40__40_QEAA_40_PEB_W_40_Z(&v17, (int64_t)L"http", a3);
            g119 = v18;
            int64_t v19 = g120; // 0x180006e0e
            g117 = v19;
            int64_t v20 = _3f_Service_40_wxIPaddress_40__40_QEAA_NAEBVwxString_40__40__40_Z((int64_t *)v19, &v17); // 0x180006e11
            g114 = v20;
            g116 = g116 & -256 | (int64_t)((char)v20 == 0);
            g117 = v18;
            g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v18, v18, a3);
            if ((char)g116 != 0) {
                // 0x180006e2a
                g119 = 80;
                int64_t v21 = g120; // 0x180006e2f
                g117 = v21;
                g114 = _3f_Service_40_wxIPaddress_40__40_QEAA_NG_40_Z((int64_t *)v21, 80);
            }
        } else {
            // 0x180006de9
            g119 = g115;
            int64_t v22 = g120; // 0x180006dec
            g117 = v22;
            g114 = _3f_Service_40_wxIPaddress_40__40_QEAA_NG_40_Z((int64_t *)v22, g115);
        }
        // 0x180006e37
        g119 = g108;
        int64_t v23; // bp-112
        int64_t v24 = &v23; // 0x180006e3a
        g117 = v24;
        g114 = _3f__3f_0wxString_40__40_QEAA_40_AEBV0_40__40_Z(v24, g108);
        int16_t v25 = g115; // 0x180006e46
        if (v25 != 0) {
            if (v25 != 80) {
                // 0x180006e51
                g116 = g115;
                g119 = (int64_t)&g13;
                g117 = v24;
                int64_t v26 = _3f__3f_6wxString_40__40_QEAAAEAV0_40_PEB_W_40_Z(&v23, (int16_t *)&g13); // 0x180006e60
                g114 = v26;
                g117 = v26;
                int64_t v27 = g116; // 0x180006e69
                g119 = v27;
                g114 = _3f__3f_6wxString_40__40_QEAAAEAV0_40_H_40_Z(v26, v27);
            }
        }
        // 0x180006e71
        g119 = (int64_t)L"Host";
        int64_t v28 = &v17; // 0x180006e78
        g117 = v28;
        g114 = _3f__3f_0wxString_40__40_QEAA_40_PEB_W_40_Z(&v17, (int64_t)L"Host", a3);
        g112 = v24;
        g119 = v28;
        int64_t v29 = g118; // 0x180006e8e
        g117 = v29;
        int64_t v30 = _3f_SetHeader_40_wxHTTP_40__40_QEAAXAEBVwxString_40__40_0_40_Z(v29, &v17, &v23); // 0x180006e91
        g114 = v30;
        g117 = v28;
        g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v28, v28, v24);
        *(int32_t *)(g118 + 376) = 0;
        g117 = v24;
        v16 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v24, v28, v24) & -256 | 1;
    } else {
        int64_t * v31 = (int64_t *)(g118 + 520); // 0x180006db1
        int64_t v32 = *v31; // 0x180006db1
        g117 = v32;
        if (v32 != 0) {
            // 0x180006dbd
            g114 = *(int64_t *)v32;
            g119 = 1;
            *v31 = 0;
        }
        // 0x180006dd3
        *(int32_t *)(g118 + 376) = 1;
        v16 = g114 & -256;
    }
    // 0x180006eb9
    g114 = v16;
    int64_t v33 = g121 ^ v4; // 0x180006ec1
    g117 = v33;
    __security_check_cookie(v33);
    g114 = &g122;
    g120 = v2;
    g116 = v1;
    return &g122;
}
 
// Address range: 0x180006ee0 - 0x18000701c
// Demangled:     public: virtual wxHTTP::Connect
int64_t _3f_Connect_40_wxHTTP_40__40_UEAA_NAEBVwxSockAddress_40__40__N_40_Z(int64_t a1, int64_t a2) {
    // 0x180006ee0
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x180006ef2
    int64_t v2; // bp-168
    int64_t v3 = g61 ^ (int64_t)&v2; // 0x180006f01
    g114 = v3;
    int64_t v4 = g119; // 0x180006f0c
    g116 = v4;
    int64_t v5 = g117; // 0x180006f0f
    g118 = v5;
    int64_t * v6 = (int64_t *)(v5 + 520); // 0x180006f12
    int64_t v7 = *v6; // 0x180006f12
    g117 = v7;
    int64_t v8; // 0x180006f33
    if (v7 != 0) {
        // 0x180006f1e
        g114 = *(int64_t *)v7;
        g119 = 1;
        g117 = v5;
        v8 = 1;
    } else {
        v8 = v4;
    }
    // 0x180006f33
    *v6 = v8;
    int64_t v9 = g119; // 0x180006f43
    g114 = v9;
    g117 = v9;
    g119 = 0x18002ec50;
    int64_t v10 = _3f_IsKindOf_40_wxClassInfo_40__40_QEBA_NPEBV1_40__40_Z(v9, 0x18002ec50); // 0x180006f55
    g114 = v10;
    if ((char)v10 == 0) {
        // 0x180006fef
        *(int32_t *)(g118 + 376) = 0;
    } else {
        // 0x180006f63
        int64_t v11; // bp-72
        int64_t v12 = &v11; // 0x180006f63
        g119 = v12;
        int64_t v13 = g116; // 0x180006f68
        g117 = v13;
        g114 = _3f_OrigHostname_40_wxIPaddress_40__40_QEBA_3f_AVwxString_40__40_XZ(v13, &v11);
        int64_t v14 = g116; // 0x180006f71
        g117 = v14;
        int64_t v15 = _3f_Service_40_wxIPaddress_40__40_QEBAGXZ(v14); // 0x180006f74
        g114 = v15;
        int16_t v16 = v15; // 0x180006f79
        if (v16 != 0) {
            if (v16 != 80) {
                // 0x180006f84
                g116 = v15;
                g119 = (int64_t)&g13;
                g117 = v12;
                int64_t v17 = _3f__3f_6wxString_40__40_QEAAAEAV0_40_PEB_W_40_Z(&v11, (int16_t *)&g13); // 0x180006f93
                g114 = v17;
                g117 = v17;
                int64_t v18 = g116; // 0x180006f9c
                g119 = v18;
                g114 = _3f__3f_6wxString_40__40_QEAAAEAV0_40_H_40_Z(v17, v18);
            }
        }
        // 0x180006fa4
        g119 = (int64_t)L"Host";
        int64_t v19; // bp-128
        int64_t v20 = &v19; // 0x180006fab
        g117 = v20;
        g114 = _3f__3f_0wxString_40__40_QEAA_40_PEB_W_40_Z(&v19, (int64_t)L"Host", g112);
        g112 = v12;
        g119 = v20;
        int64_t v21 = g118; // 0x180006fc1
        g117 = v21;
        int64_t v22 = _3f_SetHeader_40_wxHTTP_40__40_QEAAXAEBVwxString_40__40_0_40_Z(v21, &v19, &v11); // 0x180006fc4
        g114 = v22;
        g117 = v20;
        g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v20, v20, v12);
        g117 = v12;
        g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v12, v20, v12);
        *(int32_t *)(g118 + 376) = 0;
    }
    // 0x180006ffb
    g114 = g114 & -256 | 1;
    int64_t v23 = g121 ^ v3; // 0x180007003
    g117 = v23;
    __security_check_cookie(v23);
    g114 = &g122;
    g116 = v1;
    return &g122;
}
 
// Address range: 0x180007020 - 0x1800070ef
int64_t function_180007020(int64_t * a1, int64_t a2, int64_t a3, int64_t a4) {
    // 0x180007020
    g112 = a3;
    g119 = a2;
    g117 = (int64_t)a1;
    int64_t v1 = g116; // 0x180007020
    int64_t v2 = g120; // 0x18000702a
    g120 = a3;
    int64_t v3 = g119; // 0x18000703a
    int64_t v4 = v3; // rdi
    g116 = g117;
    int64_t result; // 0x1800070e1
    if (a3 != 0) {
        // 0x180007045
        g119 = a4;
        g117 = a3;
        int64_t v5 = _3f_GetArgumentType_40_wxFormatString_40__40_QEBA_3f_AW4ArgumentType_40_1_40_I_40_Z(a3, a4); // 0x18000704b
        g114 = v5;
        if (*(int64_t *)*(int64_t *)0x180019440 != 0) {
            int32_t v6 = v5; // 0x180007061
            uint32_t v7 = v6 & 9; // 0x180007061
            g112 = v7;
            if (v7 != v6) {
                // 0x18000706a
                g114 = (int64_t)"format specifier doesn't match argument type";
                g112 = (int64_t)"wxArgNormalizerNarrowChar<char>::wxArgNormalizerNarrowChar";
                g117 = (int64_t)"C:\\BUILD\\wxPython-src-3.0.2.0\\include\\wx/strvararg.h";
                g119 = 774;
                g114 = _3f_wxOnAssert_40__40_YAXPEBDH000_40_Z("C:\\BUILD\\wxPython-src-3.0.2.0\\include\\wx/strvararg.h", 774, "wxArgNormalizerNarrowChar<char>::wxArgNormalizerNarrowChar", "(argtype & (wxFormatString::Arg_Char | wxFormatString::Arg_Int)) == argtype");
                char * v8 = (char *)*(int64_t *)0x180019430; // 0x18000709d
                if (*v8 != 0) {
                    // 0x1800070a3
                    *v8 = 0;
                    g114 = __asm_int3();
                }
            }
        }
        // 0x1800070a8
        g119 = a4;
        int64_t v9 = g120; // 0x1800070aa
        g117 = v9;
        int64_t v10 = _3f_GetArgumentType_40_wxFormatString_40__40_QEBA_3f_AW4ArgumentType_40_1_40_I_40_Z(v9, a4); // 0x1800070ad
        g114 = v10;
        if ((int32_t)v10 != 1) {
            // 0x1800070b8
            *(char *)g116 = (char)v4;
            // 0x1800070d7
            g120 = v2;
            result = g116;
            g114 = result;
            g116 = v1;
            return result;
        }
    } else {
        v4 = v3;
    }
    // 0x1800070bd
    int64_t v11;
    g117 = &v11;
    g119 = v4;
    int64_t v12 = _3f__3f_0wxUniChar_40__40_QEAA_40_D_40_Z(&v11, (int64_t *)v4); // 0x1800070c6
    g114 = v12;
    g117 = v12;
    int64_t v13 = _3f_GetValue_40_wxUniChar_40__40_QEBAIXZ(v12); // 0x1800070cf
    g114 = v13;
    *(char *)g116 = (char)v13;
    // 0x1800070d7
    g120 = v2;
    result = g116;
    g114 = result;
    g116 = v1;
    return result;
}
 
// Address range: 0x1800070f0 - 0x18000721d
// Demangled:     public: wxHTTP::wxHTTP
int64_t _3f__3f_0wxHTTP_40__40_QEAA_40_XZ(int64_t a1) {
    // 0x1800070f0
    g117 = a1;
    int64_t v1 = g116; // 0x1800070f5
    int64_t v2 = g118; // 0x1800070f6
    g118 = a1;
    _3f__3f_0wxProtocol_40__40_QEAA_40_XZ(a1, g119);
    g114 = &g22;
    *(int64_t *)g118 = (int64_t)&g22;
    int64_t v3 = g118 + 392; // 0x180007117
    g117 = v3;
    g114 = _3f__3f_0wxString_40__40_QEAA_40_XZ(v3);
    int64_t v4; // bp+16
    g117 = &v4;
    int64_t v5 = _3f__3f_0wxStringEqual_40__40_QEAA_40_XZ(&v4); // 0x18000712a
    g114 = v5;
    g116 = v5;
    int64_t v6; // bp+24
    g117 = &v6;
    int64_t v7 = _3f__3f_0wxStringHash_40__40_QEAA_40_XZ(&v6); // 0x180007138
    g114 = v7;
    int64_t v8 = g118 + 448; // 0x18000713e
    g117 = v8;
    char v9 = *(char *)g116; // 0x180007145
    unsigned char v10 = *(char *)v7; // 0x180007149
    g112 = v10;
    g119 = 100;
    g114 = _3f__3f_0wxStringToStringHashMap_40__40_QEAA_40__KUwxStringHash_40__40_UwxStringEqual_40__40__40_Z(v8, 100, v10, v9);
    int64_t v11; // bp+32
    g117 = &v11;
    int64_t v12 = _3f__3f_0wxStringEqual_40__40_QEAA_40_XZ(&v11); // 0x18000715e
    g114 = v12;
    g116 = v12;
    int64_t v13; // bp-40
    g117 = &v13;
    int64_t v14 = _3f__3f_0wxStringHash_40__40_QEAA_40_XZ(&v13); // 0x18000716c
    g114 = v14;
    int64_t v15 = g118 + 480; // 0x180007172
    g117 = v15;
    char v16 = *(char *)g116; // 0x180007179
    unsigned char v17 = *(char *)v14; // 0x18000717d
    g112 = v17;
    g119 = 100;
    g114 = _3f__3f_0wxStringToStringHashMap_40__40_QEAA_40__KUwxStringHash_40__40_UwxStringEqual_40__40__40_Z(v15, 100, v17, v16);
    g117 = 32;
    int64_t v18 = function_18001323c(32, 100); // 0x180007192
    g114 = v18;
    g116 = v18;
    int64_t v19; // 0x1800071c9
    if (v18 == 0) {
        // 0x1800071c7
        g116 = 0;
        v19 = 0;
    } else {
        // 0x18000719f
        g117 = 1024;
        int64_t mem = (int64_t)malloc(1024); // 0x1800071a4
        g114 = mem;
        *(int64_t *)g116 = mem;
        *(int64_t *)(g116 + 8) = 1024;
        *(int64_t *)(g116 + 16) = 0;
        *(int64_t *)(g116 + 24) = 0;
        v19 = g116;
    }
    // 0x1800071c9
    *(int64_t *)(g118 + 528) = v19;
    int64_t * v20 = (int64_t *)(g116 + 24); // 0x1800071d0
    *v20 = *v20 + 1;
    int64_t v21 = g118 + 536; // 0x1800071d4
    g117 = v21;
    g114 = _3f__3f_0wxString_40__40_QEAA_40_XZ(v21);
    *(int64_t *)(g118 + 520) = 0;
    *(char *)(g118 + 512) = 0;
    *(char *)(g118 + 513) = 0;
    *(int32_t *)(g118 + 592) = 0;
    g119 = 8;
    g117 = g118;
    _3f_SetNotify_40_wxSocketBase_40__40_QEAAXH_40_Z(g118, 8);
    int64_t result = g118; // 0x180007213
    g114 = result;
    g118 = v2;
    g116 = v1;
    return result;
}
 
// Address range: 0x180007220 - 0x1800072de
// Demangled:     public: virtual wxHTTP::~wxHTTP
int64_t _3f__3f_1wxHTTP_40__40_UEAA_40_XZ(int64_t a1) {
    // 0x180007220
    g117 = a1;
    int64_t v1 = g116; // 0x180007233
    int64_t v2 = g117; // 0x18000723d
    g116 = v2;
    g114 = &g22;
    *(int64_t *)v2 = (int64_t)&g22;
    int64_t v3 = g117 + 480; // 0x18000724a
    g117 = v3;
    g114 = _3f_clear_40_wxStringToStringHashMap_wxImplementation_HashTable_40__40_QEAAXXZ(v3);
    int64_t v4 = g116; // 0x180007257
    int64_t v5 = *(int64_t *)(v4 + 520); // 0x180007257
    g117 = v5;
    int64_t v6;
    if (v5 != 0) {
        // 0x180007263
        g114 = *(int64_t *)v5;
        g119 = 1;
        v6 = 1;
    } else {
        int64_t v7;
        v6 = v7;
    }
    int64_t v8 = v4 + 536; // 0x18000726f
    g117 = v8;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v8, v6, g112);
    int64_t v9 = *(int64_t *)(g116 + 528); // 0x18000727d
    int64_t * v10 = (int64_t *)(v9 + 24); // 0x180007284
    int64_t v11 = *v10 - 1; // 0x180007284
    *v10 = v11;
    if (v11 == 0) {
        int64_t v12 = *(int64_t *)v9; // 0x18000728b
        g117 = v12;
        free((int64_t *)v12);
        g114 = &g122;
        g117 = v9;
        g114 = function_18001310e(v9);
    }
    int64_t v13 = g116 + 480; // 0x18000729d
    g117 = v13;
    g114 = _3f__3f_1wxStringToStringHashMap_40__40_QEAA_40_XZ(v13);
    int64_t v14 = g116 + 448; // 0x1800072ab
    g117 = v14;
    g114 = _3f__3f_1wxStringToStringHashMap_40__40_QEAA_40_XZ(v14);
    int64_t v15 = g116 + 392; // 0x1800072b9
    g117 = v15;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v15, v6, g112);
    int64_t v16 = g116; // 0x1800072c7
    g117 = v16;
    g116 = v1;
    int64_t result = _3f__3f_1wxProtocol_40__40_UEAA_40_XZ(v16); // 0x1800072d9
    g114 = result;
    return result;
}
 
// Address range: 0x1800072e0 - 0x180007352
int64_t function_1800072e0(int64_t a1, int64_t a2) {
    // 0x1800072e0
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x1800072e0
    int64_t v2 = g120; // 0x1800072e5
    int64_t v3 = g119; // 0x1800072ea
    g120 = v3;
    g116 = a1;
    if ((v3 & 2) == 0) {
        // 0x180007331
        g114 = _3f__3f_1wxHTTP_40__40_UEAA_40_XZ(a1);
        if ((g120 & 1) != 0) {
            int64_t v4 = g116; // 0x18000733c
            g117 = v4;
            g114 = function_18001310e(v4);
        }
        int64_t result = g116; // 0x180007344
        g114 = result;
        g116 = v1;
        g120 = v2;
        return result;
    }
    uint32_t v5 = *(int32_t *)(a1 - 8); // 0x1800072f4
    g112 = v5;
    g119 = 600;
    g114 = function_180013168(a1, 600, v5, 0x180007220);
    if ((g120 & 1) != 0) {
        int64_t v6 = g116 - 8; // 0x180007314
        g117 = v6;
        g114 = function_180013114(v6);
    }
    int64_t result2 = g116 - 8; // 0x18000731d
    g114 = result2;
    g116 = v1;
    g120 = v2;
    return result2;
}
 
// Address range: 0x180007360 - 0x180007393
// Demangled:     public: static wxHTTP::wxCreateObject
int64_t _3f_wxCreateObject_40_wxHTTP_40__40_SAPEAVwxObject_40__40_XZ(void) {
    // 0x180007360
    g117 = 600;
    int64_t v1 = function_18001323c(600, g119); // 0x180007372
    g114 = v1;
    int64_t v2 = 0x100000000 * v1;
    int64_t result;
    if (v2 == 0) {
        result = 0;
    } else {
        int64_t v3 = v2 / 0x100000000; // 0x180007381
        g117 = v3;
        result = _3f__3f_0wxHTTP_40__40_QEAA_40_XZ(v3);
    }
    // 0x18000738e
    g114 = result;
    return result;
}
 
// Address range: 0x1800073a0 - 0x180007423
int64_t function_1800073a0(int64_t * a1, int64_t * a2, char a3, char a4, int64_t a5) {
    // 0x1800073a0
    g112 = a3;
    g119 = (int64_t)a2;
    g117 = (int64_t)a1;
    int64_t v1 = g116; // 0x1800073a0
    int64_t v2 = g115; // 0x1800073a5
    int64_t v3 = g120; // 0x1800073a6
    int64_t v4 = a4; // 0x1800073ac
    g114 = v4;
    g115 = g117;
    g116 = g112;
    int64_t v5 = g119; // 0x1800073b7
    g120 = v5;
    g112 = v5;
    int64_t v6;
    g117 = &v6;
    g119 = v4;
    v6 = 0;
    g114 = function_180007020(&v6, 0x100000000000000 * v4 / 0x100000000000000, v5, 2);
    g117 = &a5;
    int64_t v7 = g120; // 0x1800073e3
    g112 = v7;
    int64_t v8 = g116; // 0x1800073e6
    g119 = v8;
    g114 = function_180007020(&a5, 0x100000000000000 * v8 / 0x100000000000000, v7, 1);
    g116 = v6;
    int64_t v9 = g120; // 0x1800073f8
    g117 = v9;
    int64_t v10 = _3f__3f_BwxFormatString_40__40_QEBAPEB_WXZ(v9); // 0x1800073fb
    g114 = v10;
    g112 = a5;
    g119 = v10;
    g117 = g115;
    _3f_DoFormatWchar_40_wxString_40__40_CA_3f_AV1_40_PEB_WZZ(g115, v10, a5, g116);
    g116 = v1;
    int64_t result = g115; // 0x180007418
    g114 = result;
    g120 = v3;
    g115 = v2;
    return result;
}
 
// Address range: 0x180007430 - 0x180007497
int64_t function_180007430(int64_t * a1, int64_t * a2, char a3) {
    // 0x180007430
    g112 = a3;
    g119 = (int64_t)a2;
    g117 = (int64_t)a1;
    int64_t v1 = g116; // 0x180007430
    int64_t v2 = g120; // 0x180007435
    int64_t v3 = g118; // 0x18000743a
    int64_t v4 = g112; // 0x18000743f
    g114 = v4;
    g120 = g117;
    int64_t v5 = g119; // 0x180007446
    g118 = v5;
    g112 = v5;
    int64_t v6;
    g117 = &v6;
    g119 = v4;
    v6 = 0;
    g114 = function_180007020(&v6, 0x100000000000000 * v4 / 0x100000000000000, v5, 1);
    g116 = v6;
    g117 = g118;
    int64_t v7 = _3f__3f_BwxFormatString_40__40_QEBAPEB_WXZ(g118); // 0x18000746f
    g114 = v7;
    int64_t v8 = g116; // 0x180007475
    g112 = v8;
    int64_t v9 = g120; // 0x180007478
    g117 = v9;
    g119 = v7;
    _3f_DoFormatWchar_40_wxString_40__40_CA_3f_AV1_40_PEB_WZZ(v9, v7, v8, 1);
    g116 = v1;
    int64_t result = g120; // 0x180007489
    g114 = result;
    g120 = v2;
    g118 = v3;
    return result;
}
 
// Address range: 0x1800074a0 - 0x180007919
// Demangled:     protected: wxHTTP::GenerateAuthString
int64_t _3f_GenerateAuthString_40_wxHTTP_40__40_IEBA_3f_AVwxString_40__40_AEBV2_40_0_40_Z(int64_t a1, int64_t * a2, int64_t a3, int64_t a4) {
    // 0x1800074a0
    g112 = a3;
    g119 = (int64_t)a2;
    g117 = a1;
    int64_t v1 = g116; // 0x1800074a0
    int64_t v2 = g115; // 0x1800074a2
    int64_t v3 = g120; // 0x1800074a3
    int64_t v4 = g118; // 0x1800074a4
    int64_t v5; // bp-344
    int64_t v6 = g61 ^ (int64_t)&v5; // 0x1800074c1
    g114 = v6;
    g116 = a4;
    int64_t v7 = g112; // rdi
    int64_t v8 = g119; // 0x1800074d2
    int64_t v9 = v8; // r12
    g117 = v8;
    g114 = _3f__3f_0wxString_40__40_QEAA_40_XZ(v8);
    int64_t v10; // bp-112
    int64_t v11 = &v10; // 0x1800074f6
    g117 = v11;
    g114 = _3f__3f_0wxString_40__40_QEAA_40_XZ(v11);
    g119 = (int64_t)L"Basic ";
    int64_t v12; // bp-312
    int64_t v13 = &v12; // 0x18000750c
    g117 = v13;
    g114 = _3f__3f_0wxFormatString_40__40_QEAA_40_PEB_W_40_Z(&v12, L"Basic ");
    g119 = v13;
    g117 = v9;
    int64_t v14 = _3f_Printf_40_wxString_40__40_QEAAHAEBVwxFormatString_40__40__40_Z(v9, &v12); // 0x180007520
    g114 = v14;
    g117 = v13;
    g114 = _3f__3f_1wxFormatString_40__40_QEAA_40_XZ(&v12);
    int64_t v15; // bp-192
    int64_t v16 = &v15; // 0x180007532
    int64_t v17 = v16; // bp-264
    g119 = (int64_t)L"%s:%s";
    g117 = v13;
    g114 = _3f__3f_0wxFormatString_40__40_QEAA_40_PEB_W_40_Z(&v12, L"%s:%s");
    g119 = v16;
    int64_t v18 = g116; // 0x18000755a
    g117 = v18;
    int64_t v19 = _3f_c_str_40_wxString_40__40_QEBA_3f_AVwxCStrData_40__40_XZ(v18, &v15); // 0x18000755d
    g114 = v19;
    g115 = v19;
    int64_t v20; // bp-136
    g119 = &v20;
    g117 = v7;
    int64_t v21 = _3f_c_str_40_wxString_40__40_QEBA_3f_AVwxCStrData_40__40_XZ(v7, &v20); // 0x180007579
    g114 = v21;
    g120 = v21;
    g112 = v13;
    int64_t v22 = g115; // 0x180007595
    g119 = v22;
    int64_t v23; // bp-256
    int64_t v24 = &v23; // 0x180007598
    g117 = v24;
    int64_t v25 = _3f__3f_0_3f__24_wxArgNormalizerWchar_40_AEBVwxCStrData_40__40__40__40_QEAA_40_AEBVwxCStrData_40__40_PEBVwxFormatString_40__40_I_40_Z(&v23, v22, &v12, 2); // 0x18000759d
    g114 = v25;
    g112 = v13;
    int64_t v26 = g120; // 0x1800075ae
    g119 = v26;
    int64_t v27 = &v17; // 0x1800075b1
    g117 = v27;
    int64_t v28 = _3f__3f_0_3f__24_wxArgNormalizerWchar_40_AEBVwxCStrData_40__40__40__40_QEAA_40_AEBVwxCStrData_40__40_PEBVwxFormatString_40__40_I_40_Z(&v17, v26, &v12, 1); // 0x1800075b6
    g114 = v28;
    g117 = v24;
    int64_t v29 = _3f_get_40__3f__24_wxArgNormalizerWchar_40_AEBVwxCStrData_40__40__40__40_QEBAPEB_WXZ(&v23); // 0x1800075c1
    g114 = v29;
    g118 = v29;
    g117 = v27;
    int64_t v30 = _3f_get_40__3f__24_wxArgNormalizerWchar_40_AEBVwxCStrData_40__40__40__40_QEBAPEB_WXZ(&v17); // 0x1800075cf
    g114 = v30;
    g116 = v30;
    g117 = v13;
    int64_t v31 = _3f__3f_BwxFormatString_40__40_QEBAPEB_WXZ(v13); // 0x1800075dd
    g114 = v31;
    g119 = v31;
    int64_t v32 = g116; // 0x1800075e9
    g112 = v32;
    g117 = v11;
    g114 = _3f_DoPrintfWchar_40_wxString_40__40_AEAAHPEB_WZZ(&v10, v31, v32, g118);
    int64_t v33 = g120; // 0x1800075fb
    g117 = v33;
    g114 = _3f__3f_1wxCStrData_40__40_QEAA_40_XZ(v33);
    int64_t v34 = g115; // 0x180007605
    g117 = v34;
    g114 = _3f__3f_1wxCStrData_40__40_QEAA_40_XZ(v34);
    g117 = v13;
    g114 = _3f__3f_1wxFormatString_40__40_QEAA_40_XZ(&v12);
    g117 = v11;
    int64_t v35 = _3f_length_40_wxString_40__40_QEBA_KXZ(&v10); // 0x180007622
    g114 = v35;
    g120 = v35;
    g119 = v16;
    g117 = v11;
    int64_t v36 = _3f_c_str_40_wxString_40__40_QEBA_3f_AVwxCStrData_40__40_XZ(v11, &v15); // 0x18000763b
    g114 = v36;
    g117 = v36;
    int64_t v37 = _3f__3f_BwxCStrData_40__40_QEBAPEB_WXZ(v36); // 0x180007645
    g114 = v37;
    g116 = v37;
    g117 = v16;
    g114 = _3f__3f_1wxCStrData_40__40_QEAA_40_XZ(v16);
    int64_t v38 = g120; // 0x18000765c
    int64_t v39; // bp-248
    int64_t v40; // 0x180007786
    if (v38 >= 3) {
        // 0x180007666
        g118 = 0;
        g114 = 0;
        g120 = v38;
        int64_t v41 = &v39; // 0x1800076cf
        g119 = (int64_t)L"%c%c";
        g117 = v13;
        g114 = _3f__3f_0wxFormatString_40__40_QEAA_40_PEB_W_40_Z(&v12, L"%c%c");
        int64_t v42 = g116; // 0x180007696
        uint16_t v43 = *(int16_t *)v42; // 0x180007696
        g119 = (int64_t)v43 | (int64_t)L"%c%c" & -0x10000;
        uint32_t v44 = 16 * (int32_t)v43 & 48; // 0x18000769e
        int64_t v45 = v44; // 0x18000769e
        g114 = v45;
        g117 = v45;
        uint16_t v46 = *(int16_t *)(v42 + 2); // 0x1800076a4
        int64_t v47 = (int32_t)(v46 / 16) & 15 | v44; // 0x1800076af
        g117 = v47;
        int64_t v48 = (int64_t)(v43 / 4) & 63; // 0x1800076b6
        g119 = v48;
        int64_t v49 = *(int64_t *)&g58; // 0x1800076b9
        g114 = v49;
        unsigned char v50 = *(char *)(v47 + v49); // 0x1800076c0
        unsigned char v51 = *(char *)(v49 + v48); // 0x1800076c5
        g112 = v51;
        g119 = v13;
        g117 = v41;
        int64_t v52 = function_1800073a0(&v39, &v12, v51, v50, (int64_t)&g122); // 0x1800076d4
        g114 = v52;
        g119 = v52;
        int64_t v53 = v9; // 0x1800076dd
        g117 = v53;
        g114 = _3f__3f_6wxString_40__40_QEAAAEAV0_40_AEBV0_40__40_Z(v53, v52);
        g117 = v41;
        g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v41, v52, (int64_t)v51);
        g117 = v13;
        g114 = _3f__3f_1wxFormatString_40__40_QEAA_40_XZ(&v12);
        g119 = (int64_t)L"%c%c";
        g117 = v13;
        g114 = _3f__3f_0wxFormatString_40__40_QEAA_40_PEB_W_40_Z(&v12, L"%c%c");
        int64_t v54 = g116; // 0x180007711
        uint16_t v55 = *(int16_t *)(v54 + 4); // 0x180007711
        int64_t v56 = v55; // 0x180007711
        g119 = v56 | (int64_t)L"%c%c" & -0x10000;
        int64_t v57 = v56 & 63; // 0x180007718
        g112 = v57;
        uint16_t v58 = *(int16_t *)(v54 + 2); // 0x18000771c
        uint32_t v59 = (int32_t)(v55 / 64) & 3; // 0x18000772d
        g119 = v59;
        int64_t v60 = 4 * (int32_t)v58 & 60 | v59; // 0x180007730
        g117 = v60;
        int64_t v61 = *(int64_t *)&g58; // 0x180007733
        g114 = v61;
        unsigned char v62 = *(char *)(v61 + v57); // 0x18000773a
        unsigned char v63 = *(char *)(v60 + v61); // 0x18000773f
        g112 = v63;
        g119 = v13;
        g117 = v41;
        int64_t v64 = function_1800073a0(&v39, &v12, v63, v62, (int64_t)&g122); // 0x18000774e
        g114 = v64;
        g119 = v64;
        int64_t v65 = v9; // 0x180007757
        g117 = v65;
        g114 = _3f__3f_6wxString_40__40_QEAAAEAV0_40_AEBV0_40__40_Z(v65, v64);
        g117 = v41;
        g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v41, g119, g112);
        g117 = v13;
        g114 = _3f__3f_1wxFormatString_40__40_QEAA_40_XZ(&v12);
        g116 += 6;
        int64_t v66 = g118 - 1; // 0x18000777c
        g118 = v66;
        while (v66 != 0) {
            // 0x180007683
            g119 = (int64_t)L"%c%c";
            g117 = v13;
            g114 = _3f__3f_0wxFormatString_40__40_QEAA_40_PEB_W_40_Z(&v12, L"%c%c");
            v42 = g116;
            v43 = *(int16_t *)v42;
            g119 = (int64_t)v43 | (int64_t)L"%c%c" & -0x10000;
            v44 = 16 * (int32_t)v43 & 48;
            v45 = v44;
            g114 = v45;
            g117 = v45;
            v46 = *(int16_t *)(v42 + 2);
            v47 = (int32_t)(v46 / 16) & 15 | v44;
            g117 = v47;
            v48 = (int64_t)(v43 / 4) & 63;
            g119 = v48;
            v49 = *(int64_t *)&g58;
            g114 = v49;
            v50 = *(char *)(v47 + v49);
            v51 = *(char *)(v49 + v48);
            g112 = v51;
            g119 = v13;
            g117 = v41;
            v52 = function_1800073a0(&v39, &v12, v51, v50, (int64_t)&g122);
            g114 = v52;
            g119 = v52;
            v53 = v9;
            g117 = v53;
            g114 = _3f__3f_6wxString_40__40_QEAAAEAV0_40_AEBV0_40__40_Z(v53, v52);
            g117 = v41;
            g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v41, v52, (int64_t)v51);
            g117 = v13;
            g114 = _3f__3f_1wxFormatString_40__40_QEAA_40_XZ(&v12);
            g119 = (int64_t)L"%c%c";
            g117 = v13;
            g114 = _3f__3f_0wxFormatString_40__40_QEAA_40_PEB_W_40_Z(&v12, L"%c%c");
            v54 = g116;
            v55 = *(int16_t *)(v54 + 4);
            v56 = v55;
            g119 = v56 | (int64_t)L"%c%c" & -0x10000;
            v57 = v56 & 63;
            g112 = v57;
            v58 = *(int16_t *)(v54 + 2);
            v59 = (int32_t)(v55 / 64) & 3;
            g119 = v59;
            v60 = 4 * (int32_t)v58 & 60 | v59;
            g117 = v60;
            v61 = *(int64_t *)&g58;
            g114 = v61;
            v62 = *(char *)(v61 + v57);
            v63 = *(char *)(v60 + v61);
            g112 = v63;
            g119 = v13;
            g117 = v41;
            v64 = function_1800073a0(&v39, &v12, v63, v62, (int64_t)&g122);
            g114 = v64;
            g119 = v64;
            v65 = v9;
            g117 = v65;
            g114 = _3f__3f_6wxString_40__40_QEAAAEAV0_40_AEBV0_40__40_Z(v65, v64);
            g117 = v41;
            g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v41, g119, g112);
            g117 = v13;
            g114 = _3f__3f_1wxFormatString_40__40_QEAA_40_XZ(&v12);
            g116 += 6;
            v66 = g118 - 1;
            g118 = v66;
        }
        // 0x180007786
        v40 = g120;
    } else {
        v40 = v38;
    }
    if (v40 != 0) {
        // 0x18000778f
        g119 = (int64_t)L"%c";
        g117 = v13;
        g114 = _3f__3f_0wxFormatString_40__40_QEAA_40_PEB_W_40_Z(&v12, L"%c");
        int64_t v67 = (int64_t)(*(int16_t *)g116 / 4) & 63; // 0x1800077a9
        g117 = v67;
        int64_t v68 = *(int64_t *)&g58; // 0x1800077ac
        g114 = v68;
        unsigned char v69 = *(char *)(v67 + v68); // 0x1800077b3
        g112 = v69;
        g119 = v13;
        int64_t v70 = &v39; // 0x1800077bd
        g117 = v70;
        int64_t v71 = function_180007430(&v39, &v12, v69); // 0x1800077c2
        g114 = v71;
        g119 = v71;
        g117 = v9;
        g114 = _3f__3f_6wxString_40__40_QEAAAEAV0_40_AEBV0_40__40_Z(v9, v71);
        g117 = v70;
        g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v70, v71, (int64_t)v69);
        g117 = v13;
        g114 = _3f__3f_1wxFormatString_40__40_QEAA_40_XZ(&v12);
        int64_t v72;
        if (g120 != 1) {
            // 0x180007856
            g119 = (int64_t)L"%c%c";
            g117 = v13;
            g114 = _3f__3f_0wxFormatString_40__40_QEAA_40_PEB_W_40_Z(&v12, L"%c%c");
            int64_t v73 = g116; // 0x180007869
            uint16_t v74 = *(int16_t *)(v73 + 2); // 0x180007869
            int64_t v75 = v74; // 0x180007869
            g112 = v75;
            int64_t v76 = 4 * v75 & 60; // 0x180007874
            g114 = v76;
            g119 = v76;
            uint16_t v77 = *(int16_t *)v73; // 0x18000787a
            uint32_t v78 = (int32_t)(v74 / 16) & 15; // 0x18000788a
            g112 = v78;
            int64_t v79 = 16 * (int32_t)v77 & 48 | v78; // 0x180007891
            g117 = v79;
            int64_t v80 = *(int64_t *)&g58; // 0x180007894
            g114 = v80;
            unsigned char v81 = *(char *)(v80 + v76); // 0x18000789b
            unsigned char v82 = *(char *)(v79 + v80); // 0x1800078a0
            g112 = v82;
            g119 = v13;
            g117 = v70;
            int64_t v83 = function_1800073a0(&v39, &v12, v82, v81, (int64_t)&g122); // 0x1800078af
            g114 = v83;
            g119 = v83;
            g117 = v9;
            g114 = _3f__3f_6wxString_40__40_QEAAAEAV0_40_AEBV0_40__40_Z(v9, v83);
            g117 = v70;
            g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v70, v83, g112);
            g117 = v13;
            v72 = _3f__3f_1wxFormatString_40__40_QEAA_40_XZ(&v12);
        } else {
            // 0x1800077f2
            g119 = (int64_t)L"%c=";
            g117 = v13;
            g114 = _3f__3f_0wxFormatString_40__40_QEAA_40_PEB_W_40_Z(&v12, L"%c=");
            int64_t v84 = 16 * ((int64_t)*(int16_t *)g116 & 3); // 0x18000780b
            g117 = v84;
            int64_t v85 = *(int64_t *)&g58; // 0x180007811
            g114 = v85;
            unsigned char v86 = *(char *)(v84 + v85); // 0x180007818
            g112 = v86;
            g119 = v13;
            g117 = v70;
            int64_t v87 = function_180007430(&v39, &v12, v86); // 0x180007827
            g114 = v87;
            g119 = v87;
            g117 = v9;
            g114 = _3f__3f_6wxString_40__40_QEAAAEAV0_40_AEBV0_40__40_Z(v9, v87);
            g117 = v70;
            g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v70, v87, g112);
            g117 = v13;
            v72 = _3f__3f_1wxFormatString_40__40_QEAA_40_XZ(&v12);
        }
        // 0x1800078d9
        g114 = v72;
        g119 = (int64_t)&g23;
        g117 = v9;
        int64_t v88 = _3f__3f_6wxString_40__40_QEAAAEAV0_40_PEB_W_40_Z((int64_t *)v9, (int16_t *)&g23); // 0x1800078e3
        g114 = v88;
    }
    // 0x1800078ea
    g117 = v11;
    _3f__3f_1wxString_40__40_QEAA_40_XZ(v11, g119, g112);
    g114 = v9;
    int64_t v89 = g121 ^ v6; // 0x180007903
    g117 = v89;
    __security_check_cookie(v89);
    g114 = &g122;
    g118 = v4;
    g120 = v3;
    g115 = v2;
    g116 = v1;
    return &g122;
}
 
// Address range: 0x180007920 - 0x1800079f6
// Demangled:     public: wxHTTP::SetPostBuffer
int64_t _3f_SetPostBuffer_40_wxHTTP_40__40_QEAAXAEBVwxString_40__40__40_Z(int64_t a1, int64_t a2) {
    // 0x180007920
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x18000792f
    int64_t v2 = g120; // 0x180007934
    int64_t v3 = g119; // 0x180007939
    g114 = v3;
    g120 = g117;
    int64_t v4; // bp+24
    g119 = &v4;
    g117 = v3;
    _3f_To8BitData_40_wxString_40__40_QEBA_3f_BV_3f__24_wxScopedCharTypeBuffer_40_D_40__40_XZ(v3, &v4);
    int64_t v5 = v4; // 0x18000794e
    g114 = v5;
    if (*(int64_t *)(v5 + 8) != 0) {
        int64_t v6 = g120 + 528; // 0x18000795a
        g120 = v6;
        g119 = 0;
        g117 = v6;
        g114 = function_180006200(v6, 0);
        int64_t v7 = v4; // 0x18000796b
        int64_t v8 = *(int64_t *)(v7 + 8); // 0x180007970
        g118 = v8;
        g116 = *(int64_t *)v7;
        g119 = v8;
        int64_t v9 = g120; // 0x18000797a
        g117 = v9;
        int64_t v10 = function_1800063a0(v9, v8); // 0x18000797d
        g114 = v10;
        g117 = v10;
        g112 = g118;
        int64_t v11 = g116; // 0x180007988
        g119 = v11;
        g114 = (int64_t)memcpy((int64_t *)v10, (int64_t *)v11, (int32_t)g118);
        int64_t v12 = g120; // 0x180007990
        int64_t v13 = *(int64_t *)(*(int64_t *)v12 + 16); // 0x180007993
        g114 = v13;
        int64_t v14 = g118 + v13; // 0x180007997
        g119 = v14;
        g117 = v12;
        g114 = function_180006200(v12, (int32_t)v14);
    }
    int64_t result = _3f_GetUntypedNullData_40_wxPrivate_40__40_YAPEAUUntypedBufferData_40_1_40_XZ(g117); // 0x1800079a4
    g114 = result;
    int64_t v15 = v4; // 0x1800079aa
    g117 = v15;
    if (v15 == result) {
        // 0x1800079e6
        g116 = v1;
        g120 = v2;
        return result;
    }
    // 0x1800079b4
    g114 = 0xffff;
    int16_t * v16 = (int16_t *)(v15 + 16); // 0x1800079b9
    *v16 = *v16 - 1;
    g116 = v4;
    if (*(int16_t *)(v4 + 16) == 0) {
        // 0x1800079c9
        int64_t v17; // 0x1800079d8
        if (*(char *)(v4 + 18) != 0) {
            int64_t v18 = *(int64_t *)v4; // 0x1800079cf
            g117 = v18;
            free((int64_t *)v18);
            g114 = &g122;
            v17 = g116;
        } else {
            v17 = v4;
        }
        // 0x1800079d8
        g117 = v17;
        g114 = function_18001310e(v17);
    }
    int64_t result2 = _3f_GetUntypedNullData_40_wxPrivate_40__40_YAPEAUUntypedBufferData_40_1_40_XZ(g117); // 0x1800079e0
    g114 = result2;
    // 0x1800079e6
    g116 = v1;
    g120 = v2;
    return result2;
}
 
// Address range: 0x180007a00 - 0x180007b4d
// Demangled:     public: wxHTTP::SetPostText
int64_t _3f_SetPostText_40_wxHTTP_40__40_QEAA_NAEBVwxString_40__40_0AEBVwxMBConv_40__40__40_Z(int64_t a1, int64_t a2, int64_t a3, int64_t a4) {
    g112 = a3;
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x180007a0f
    int64_t v2 = g120; // 0x180007a19
    int64_t v3 = g112; // 0x180007a23
    g114 = v3;
    g115 = g119;
    g120 = g117;
    g112 = a4;
    int64_t v4; // bp-24
    g119 = &v4;
    g117 = v3;
    _3f_mb_str_40_wxString_40__40_QEBA_3f_BV_3f__24_wxScopedCharTypeBuffer_40_D_40__40_AEBVwxMBConv_40__40__40_Z((int64_t *)v3, &v4, a4);
    int64_t v5 = v4; // 0x180007a3e
    g114 = v5;
    int64_t v6 = *(int64_t *)(v5 + 8); // 0x180007a43
    int64_t v7 = 0x1000000000000 * v6;
    int64_t result;
    if (v7 != 0) {
        // 0x180007a97
        g119 = 0;
        int64_t v8 = g120 + 528; // 0x180007a99
        g117 = v8;
        g114 = function_180006200(v8, 0);
        int64_t v9 = v7 / 0x1000000000000; // 0x180007aa5
        g119 = v9;
        int64_t v10 = g120 + 528; // 0x180007aa8
        g117 = v10;
        int64_t v11 = function_1800063a0(v10, v9); // 0x180007aaf
        g114 = v11;
        g117 = v11;
        g112 = v9;
        int64_t v12 = *(int64_t *)v5; // 0x180007aba
        g119 = v12;
        g114 = (int64_t)memcpy((int64_t *)v11, (int64_t *)v12, (int32_t)v6 & 0xffff);
        int64_t v13 = g120 + 528; // 0x180007ac2
        int64_t v14 = *(int64_t *)(*(int64_t *)v13 + 16); // 0x180007ac9
        g114 = v14;
        int64_t v15 = v14 + v9; // 0x180007acd
        g119 = v15;
        g117 = v13;
        g114 = function_180006200(v13, (int32_t)v15);
        int64_t v16 = g120 + 536; // 0x180007add
        g117 = v16;
        g119 = g115;
        g114 = _3f__3f_4wxString_40__40_QEAAAEAV0_40_AEBV0_40__40_Z(v16, g115);
        int64_t v17 = _3f_GetUntypedNullData_40_wxPrivate_40__40_YAPEAUUntypedBufferData_40_1_40_XZ(v16); // 0x180007aee
        g114 = v17;
        int64_t v18 = v4; // 0x180007af4
        g117 = v18;
        int64_t v19; // 0x180007b2a
        if (v18 != v17) {
            // 0x180007afe
            g114 = 0xffff;
            int16_t * v20 = (int16_t *)(v18 + 16); // 0x180007b03
            *v20 = *v20 - 1;
            int64_t v21 = v4; // 0x180007b07
            g116 = v21;
            if (*(int16_t *)(v21 + 16) == 0) {
                // 0x180007b13
                int64_t v22; // 0x180007b22
                if (*(char *)(v21 + 18) != 0) {
                    int64_t v23 = *(int64_t *)v21; // 0x180007b19
                    g117 = v23;
                    free((int64_t *)v23);
                    g114 = &g122;
                    v22 = g116;
                } else {
                    v22 = v21;
                }
                // 0x180007b22
                g117 = v22;
                g114 = function_18001310e(v22);
            }
            // 0x180007b2a
            v19 = _3f_GetUntypedNullData_40_wxPrivate_40__40_YAPEAUUntypedBufferData_40_1_40_XZ(g117);
            g114 = v19;
        } else {
            v19 = v17;
        }
        // 0x180007b30
        result = v19 & -256 | 1;
    } else {
        int64_t v24 = _3f_GetUntypedNullData_40_wxPrivate_40__40_YAPEAUUntypedBufferData_40_1_40_XZ(v3); // 0x180007a4f
        g114 = v24;
        int64_t v25 = v4; // 0x180007a55
        g117 = v25;
        int64_t v26; // 0x180007a8a
        if (v25 != v24) {
            // 0x180007a5f
            g114 = 0xffff;
            int16_t * v27 = (int16_t *)(v25 + 16); // 0x180007a64
            *v27 = *v27 - 1;
            g116 = v4;
            if (*(int16_t *)(v4 + 16) == (int16_t)v6) {
                // 0x180007a73
                int64_t v28; // 0x180007a82
                if (*(char *)(v4 + 18) != (char)v6) {
                    int64_t v29 = *(int64_t *)v4; // 0x180007a79
                    g117 = v29;
                    free((int64_t *)v29);
                    g114 = &g122;
                    v28 = g116;
                } else {
                    v28 = v4;
                }
                // 0x180007a82
                g117 = v28;
                g114 = function_18001310e(v28);
            }
            // 0x180007a8a
            v26 = _3f_GetUntypedNullData_40_wxPrivate_40__40_YAPEAUUntypedBufferData_40_1_40_XZ(g117);
            g114 = v26;
        } else {
            v26 = v24;
        }
        // 0x180007a90
        result = v26 & -256;
    }
    // 0x180007b32
    g114 = result;
    g116 = v1;
    g120 = v2;
    return result;
}
 
// Address range: 0x180007b50 - 0x180007e25
// Demangled:     protected: wxHTTP::SendHeaders
int64_t _3f_SendHeaders_40_wxHTTP_40__40_IEAAXXZ(int64_t a1) {
    // 0x180007b50
    g117 = a1;
    int64_t v1 = g118; // 0x180007b53
    int64_t v2 = g108; // 0x180007b54
    int64_t v3 = g109; // 0x180007b56
    int64_t v4 = g116; // 0x180007b68
    int64_t v5 = g115; // 0x180007b6c
    int64_t v6 = g120; // 0x180007b70
    int64_t v7; // bp-296
    int64_t v8 = g61 ^ (int64_t)&v7; // 0x180007b7b
    g114 = v8;
    g108 = g117;
    int64_t v9; // bp-88
    int64_t v10 = &v9; // 0x180007b89
    g117 = v10;
    g114 = _3f__3f_0wxString_40__40_QEAA_40_XZ(v10);
    int64_t v11; // bp-248
    int64_t v12 = &v11; // 0x180007b94
    g119 = v12;
    int64_t v13 = g108 + 480; // 0x180007b99
    g117 = v13;
    g114 = _3f_begin_40_wxStringToStringHashMap_wxImplementation_HashTable_40__40_QEAA_3f_AViterator_40_1_40_XZ(v13, v12);
    int64_t v14; // bp-216
    int64_t v15 = &v14; // 0x180007ba7
    g119 = v15;
    int64_t v16 = g108 + 480; // 0x180007bac
    g117 = v16;
    int64_t v17 = _3f_end_40_wxStringToStringHashMap_wxImplementation_HashTable_40__40_QEAA_3f_AViterator_40_1_40_XZ(v16, &v14); // 0x180007bb4
    g114 = v17;
    g119 = v15;
    g117 = v12;
    int64_t v18 = _3f__3f_9Iterator_40_wxStringToStringHashMap_wxImplementation_HashTable_40__40_QEBA_NAEBV01_40__40_Z(v12, &v14); // 0x180007bc4
    g114 = v18;
    int64_t v19; // 0x180007d8b
    if ((char)v18 != 0) {
        // 0x180007bd2
        int64_t v20; // bp-136
        int64_t v21 = &v20; // 0x180007bd2
        g114 = v21;
        g109 = 0xffff;
        int64_t v22; // bp-184
        int64_t v23 = &v22; // 0x180007bf7
        int64_t v24; // bp-232
        int64_t v25 = &v24; // 0x180007c5a
        int64_t v26; // bp-224
        int64_t v27 = &v26; // 0x180007c73
        int64_t v28; // 0x180007c1a
        int64_t v29 = &v28; // 0x180007d27
        while (true) {
            // 0x180007bf0
            g119 = (int64_t)L"%s: %s\r\n";
            g117 = v23;
            g114 = _3f__3f_0wxFormatString_40__40_QEAA_40_PEB_W_40_Z(&v22, L"%s: %s\r\n");
            g117 = v12;
            int64_t v30 = _3f__3f_Citerator_40_wxStringToStringHashMap_wxImplementation_HashTable_40__40_QEBAPEAVwxStringToStringHashMap_(v12); // 0x180007c08
            g114 = v30;
            g119 = v21;
            int64_t v31 = v30 + 56; // 0x180007c16
            g117 = v31;
            v28 = _3f_c_str_40_wxString_40__40_QEBA_3f_AVwxCStrData_40__40_XZ(v31, &v20);
            g114 = v28;
            g115 = v28;
            g117 = v12;
            int64_t v32 = _3f__3f_Citerator_40_wxStringToStringHashMap_wxImplementation_HashTable_40__40_QEBAPEAVwxStringToStringHashMap_(v12); // 0x180007c2d
            g114 = v32;
            g117 = v32;
            int64_t v33; // bp-112
            g119 = &v33;
            int64_t v34 = _3f_c_str_40_wxString_40__40_QEBA_3f_AVwxCStrData_40__40_XZ(v32, &v33); // 0x180007c3e
            g114 = v34;
            g120 = v34;
            g112 = v23;
            int64_t v35 = g115; // 0x180007c57
            g119 = v35;
            g117 = v25;
            int64_t v36 = _3f__3f_0_3f__24_wxArgNormalizerWchar_40_AEBVwxCStrData_40__40__40__40_QEAA_40_AEBVwxCStrData_40__40_PEBVwxFormatString_40__40_I_40_Z(&v24, v35, &v22, 2); // 0x180007c5f
            g114 = v36;
            g112 = v23;
            int64_t v37 = g120; // 0x180007c70
            g119 = v37;
            g117 = v27;
            int64_t v38 = _3f__3f_0_3f__24_wxArgNormalizerWchar_40_AEBVwxCStrData_40__40__40__40_QEAA_40_AEBVwxCStrData_40__40_PEBVwxFormatString_40__40_I_40_Z(&v26, v37, &v22, 1); // 0x180007c78
            g114 = v38;
            g117 = v25;
            int64_t v39 = _3f_get_40__3f__24_wxArgNormalizerWchar_40_AEBVwxCStrData_40__40__40__40_QEBAPEB_WXZ(&v24); // 0x180007c83
            g114 = v39;
            g116 = v39;
            g117 = v27;
            int64_t v40 = _3f_get_40__3f__24_wxArgNormalizerWchar_40_AEBVwxCStrData_40__40__40__40_QEBAPEB_WXZ(&v26); // 0x180007c91
            g114 = v40;
            g117 = v23;
            int64_t v41 = _3f__3f_BwxFormatString_40__40_QEBAPEB_WXZ(v23); // 0x180007c9f
            g114 = v41;
            g119 = v41;
            g112 = v40;
            g117 = v10;
            g114 = _3f_DoPrintfWchar_40_wxString_40__40_AEAAHPEB_WZZ(&v9, v41, v40, g116);
            int64_t v42 = g120; // 0x180007cbd
            g117 = v42;
            g114 = _3f__3f_1wxCStrData_40__40_QEAA_40_XZ(v42);
            int64_t v43 = g115; // 0x180007cc7
            g117 = v43;
            g114 = _3f__3f_1wxCStrData_40__40_QEAA_40_XZ(v43);
            g117 = v23;
            g114 = _3f__3f_1wxFormatString_40__40_QEAA_40_XZ(&v22);
            int64_t v44 = *(int64_t *)0x180019378; // 0x180007cdc
            g112 = v44;
            int64_t v45 = *(int64_t *)v44; // 0x180007ce3
            int64_t v46; // 0x180007d00
            if (v45 == 0) {
                int64_t v47 = _3f_wxGet_wxConvLibcPtr_40__40_YAPEAVwxMBConv_40__40_XZ(); // 0x180007ce9
                g114 = v47;
                int64_t v48 = *(int64_t *)0x180019378; // 0x180007cef
                g117 = v48;
                *(int64_t *)v48 = v47;
                int64_t v49 = *(int64_t *)0x180019378; // 0x180007cf9
                g112 = v49;
                v46 = *(int64_t *)v49;
            } else {
                v46 = v45;
            }
            // 0x180007d00
            g112 = v46;
            int64_t v50; // 0x180007d6a
            g119 = &v50;
            g117 = v10;
            int64_t v51 = _3f_mb_str_40_wxString_40__40_QEBA_3f_BV_3f__24_wxScopedCharTypeBuffer_40_D_40__40_AEBVwxMBConv_40__40__40_Z(&v9, &v50, v46); // 0x180007d10
            g114 = v51;
            g118 = v51;
            int64_t v52 = _3f_GetUntypedNullData_40_wxPrivate_40__40_YAPEAUUntypedBufferData_40_1_40_XZ(v10); // 0x180007d19
            g114 = v52;
            v28 = v52;
            int64_t v53 = g118; // 0x180007d24
            g119 = v53;
            g117 = v29;
            g114 = function_180002610(&v28, v53);
            int64_t v54 = _3f_GetUntypedNullData_40_wxPrivate_40__40_YAPEAUUntypedBufferData_40_1_40_XZ(v29); // 0x180007d32
            g114 = v54;
            int64_t v55 = v50; // 0x180007d38
            g117 = v55;
            if (v55 != v54) {
                int16_t * v56 = (int16_t *)(v55 + 16); // 0x180007d42
                *v56 = (int16_t)g109 + *v56;
                int64_t v57 = v50; // 0x180007d47
                if (*(int16_t *)(v57 + 16) == 0) {
                    // 0x180007d53
                    int64_t v58; // 0x180007d62
                    if (*(char *)(v57 + 18) != 0) {
                        int64_t v59 = *(int64_t *)v57; // 0x180007d59
                        g117 = v59;
                        free((int64_t *)v59);
                        g114 = &g122;
                        v58 = v57;
                    } else {
                        v58 = v57;
                    }
                    // 0x180007d62
                    g117 = v58;
                    g114 = function_18001310e(v58);
                }
                // 0x180007d6a
                v50 = _3f_GetUntypedNullData_40_wxPrivate_40__40_YAPEAUUntypedBufferData_40_1_40_XZ(g117);
                g114 = v50;
            }
            int64_t v60 = v28; // 0x180007d75
            g116 = v60;
            int64_t v61 = *(int64_t *)v60; // 0x180007d7a
            g119 = v61;
            g114 = 0;
            g117 = -1;
            g118 = v61;
            int64_t v62 = v61; // 0x180007d86
            int64_t v63 = -1; // 0x180007d86
            int64_t v64; // 0x180007d88
            while (true) {
                if (v63 == 0) {
                    v64 = 0;
                    // break -> bb83
                    break;
                }
                int64_t v65 = (g1 ? -1 : 1) + v62; // 0x180007d86
                g118 = v65;
                int64_t v66 = v63 - 1; // 0x180007d86
                g117 = v66;
                if (*(char *)v62 == 0) {
                    v64 = v66;
                    // break -> bb83
                    break;
                }
                v62 = v65;
                v63 = v66;
            }
            // bb83
            v19 = -2 - v64;
            g112 = v19;
            int64_t v67 = g108; // 0x180007d8f
            g117 = v67;
            g114 = _3f_Write_40_wxSocketBase_40__40_QEAAAEAV1_40_PEBXI_40_Z(v67, v61, v19);
            int64_t v68 = _3f_GetUntypedNullData_40_wxPrivate_40__40_YAPEAUUntypedBufferData_40_1_40_XZ(g117); // 0x180007d98
            g114 = v68;
            int64_t v69 = g116; // 0x180007d9e
            if (v69 != v68) {
                int16_t * v70 = (int16_t *)(v69 + 16); // 0x180007da3
                int16_t v71 = (int16_t)g109 + *v70; // 0x180007da3
                *v70 = v71;
                if (v71 == 0) {
                    int64_t v72 = g116; // 0x180007daa
                    int64_t v73; // 0x180007db9
                    if (*(char *)(v72 + 18) != 0) {
                        int64_t v74 = *(int64_t *)v72; // 0x180007db0
                        g117 = v74;
                        free((int64_t *)v74);
                        g114 = &g122;
                        v73 = g116;
                    } else {
                        v73 = v72;
                    }
                    // 0x180007db9
                    g117 = v73;
                    g114 = function_18001310e(v73);
                }
                // 0x180007dc1
                g114 = _3f_GetUntypedNullData_40_wxPrivate_40__40_YAPEAUUntypedBufferData_40_1_40_XZ(g117);
            }
            // 0x180007dc7
            g117 = v12;
            g114 = _3f__3f_Eiterator_40_wxStringToStringHashMap_wxImplementation_HashTable_40__40_QEAAAEAV01_40_XZ(v12);
            g119 = v15;
            g117 = v12;
            int64_t v75 = _3f__3f_9Iterator_40_wxStringToStringHashMap_wxImplementation_HashTable_40__40_QEBA_NAEBV01_40__40_Z(v12, &v14); // 0x180007ddc
            g114 = v75;
            if ((char)v75 == 0) {
                // break -> 0x180007dea
                break;
            }
        }
    } else {
        int64_t v76;
        v19 = v76;
    }
    // 0x180007dea
    g117 = v10;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v10, g119, v19);
    int64_t v77 = g121 ^ v8; // 0x180007e00
    g117 = v77;
    __security_check_cookie(v77);
    g114 = &g122;
    g116 = v4;
    g115 = v5;
    g120 = v6;
    g109 = v3;
    g108 = v2;
    g118 = v1;
    return &g122;
}
 
// Address range: 0x180007e30 - 0x180008704
// Demangled:     protected: wxHTTP::BuildRequest
int64_t _3f_BuildRequest_40_wxHTTP_40__40_IEAA_NAEBVwxString_40__40_0_40_Z(int64_t a1, int64_t a2, int64_t * a3) {
    // 0x180007e30
    g112 = (int64_t)a3;
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x180007e30
    int64_t v2 = g120; // 0x180007e33
    int64_t v3 = g118; // 0x180007e34
    int64_t v4; // bp-632
    int64_t v5 = g61 ^ (int64_t)&v4; // 0x180007e52
    g114 = v5;
    g110 = g112;
    g115 = g119;
    int64_t v6 = g117; // 0x180007e63
    g108 = v6;
    g118 = 0;
    int64_t * v7 = NULL; // bp-600
    int64_t v8 = *(int64_t *)(v6 + 528); // 0x180007e6c
    g114 = v8;
    int64_t v9; // bp-440
    int64_t v10; // bp-584
    int64_t v11;
    int64_t v12; // 0x180007f1a
    int64_t v13; // 0x180007e7d
    int64_t v14; // 0x180007ead
    int64_t v15;
    int64_t v16;
    if (*(int64_t *)(v8 + 16) == 0) {
        // 0x180007e30
        v16 = &v9;
        v15 = &v10;
        goto lab_0x180007f72;
    } else {
        // 0x180007e7d
        v13 = &v9;
        g117 = v13;
        g114 = _3f__3f_0wxString_40__40_QEAA_40_XZ(v13);
        int64_t v17 = *(int64_t *)(g108 + 528); // 0x180007e8c
        g114 = v17;
        int64_t v18 = *(int64_t *)(v17 + 16); // 0x180007e94
        g119 = v18;
        g117 = v13;
        g114 = _3f__3f_6wxString_40__40_QEAAAEAV0_40__K_40_Z(&v9, v18);
        g119 = (int64_t)L"Content-Length";
        v14 = &v10;
        g117 = v14;
        g114 = _3f__3f_0wxString_40__40_QEAA_40_PEB_W_40_Z(&v10, (int64_t)L"Content-Length", g112);
        g112 = v13;
        g119 = v14;
        int64_t v19 = g108; // 0x180007ec6
        g117 = v19;
        int64_t v20 = _3f_SetHeader_40_wxHTTP_40__40_QEAAXAEBVwxString_40__40_0_40_Z(v19, &v10, &v9); // 0x180007ec9
        g114 = v20;
        g117 = v14;
        g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v14, g119, g112);
        int64_t v21 = g108 + 536; // 0x180007eda
        g117 = v21;
        int64_t v22 = _3f_empty_40_wxString_40__40_QEBA_NXZ(v21, g119); // 0x180007ee2
        g114 = v22;
        if ((char)v22 != 0) {
            goto lab_0x180007f18;
        } else {
            // 0x180007eec
            g114 = v21;
            g119 = v14;
            g118 = 1;
            v7 = (int64_t *)1;
            g117 = v21;
            int64_t v23 = _3f_empty_40_wxString_40__40_QEBA_NXZ(v21, v14); // 0x180007f08
            g114 = v23;
            if ((char)v23 == 0) {
                goto lab_0x180007f18;
            } else {
                int64_t v24 = g118; // 0x180007f12
                v12 = v24;
                v11 = v24;
                goto lab_0x180007f1a;
            }
        }
    }
  lab_0x180007f72:
    // 0x180007f72
    *(int32_t *)(v6 + 592) = 0;
    g119 = (int64_t)L"User-Agent";
    g117 = v15;
    g114 = _3f__3f_0wxString_40__40_QEAA_40_PEB_W_40_Z(&v10, (int64_t)L"User-Agent", g112);
    g112 = v15;
    g119 = v16;
    int64_t v25 = g108; // 0x180007f9e
    g117 = v25;
    int64_t v26 = _3f_GetHeader_40_wxHTTP_40__40_QEBA_3f_AVwxString_40__40_AEBV2_40__40_Z(v25, v16, &v10); // 0x180007fa1
    g114 = v26;
    g117 = v26;
    int64_t v27 = _3f_empty_40_wxString_40__40_QEBA_NXZ(v26, g119); // 0x180007faa
    g114 = v27;
    g118 = v27;
    g117 = v16;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v16, g119, g112);
    g117 = v15;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v15, g119, g112);
    if ((char)g118 != 0) {
        // 0x180007fd2
        g119 = (int64_t)L"wxWidgets 2.x";
        g117 = v16;
        g114 = _3f__3f_0wxString_40__40_QEAA_40_PEB_W_40_Z(&v9, (int64_t)L"wxWidgets 2.x", g112);
        g119 = (int64_t)L"User-Agent";
        g117 = v15;
        g114 = _3f__3f_0wxString_40__40_QEAA_40_PEB_W_40_Z(&v10, (int64_t)L"User-Agent", g112);
        g112 = v16;
        g119 = v15;
        int64_t v28 = g108; // 0x180008008
        g117 = v28;
        int64_t v29 = _3f_SetHeader_40_wxHTTP_40__40_QEAAXAEBVwxString_40__40_0_40_Z(v28, &v10, &v9); // 0x18000800b
        g114 = v29;
        g117 = v15;
        g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v15, g119, g112);
        g117 = v16;
        g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v16, g119, g112);
    }
    int64_t v30 = g108 + 264; // 0x18000802b
    g117 = v30;
    int64_t v31 = _3f_empty_40_wxString_40__40_QEBA_NXZ(v30, g119); // 0x180008033
    g114 = v31;
    if ((char)v31 == 0) {
        goto lab_0x18000804f;
    } else {
        int64_t v32 = g108 + 320; // 0x18000803d
        g117 = v32;
        int64_t v33 = _3f_empty_40_wxString_40__40_QEBA_NXZ(v32, g119); // 0x180008045
        g114 = v33;
        if ((char)v33 != 0) {
            goto lab_0x1800080ae;
        } else {
            goto lab_0x18000804f;
        }
    }
  lab_0x180007f18:
    // 0x180007f18
    v12 = g118;
    v11 = g116 & -256;
    goto lab_0x180007f1a;
  lab_0x18000804f:
    // 0x18000804f
    g119 = (int64_t)L"Authorization";
    g117 = v15;
    g114 = _3f__3f_0wxString_40__40_QEAA_40_PEB_W_40_Z(&v10, (int64_t)L"Authorization", g112);
    int64_t v148 = g108; // 0x180008062
    int64_t v149 = v148 + 264; // 0x18000806a
    g112 = v149;
    g119 = v16;
    g117 = v148;
    int64_t v150 = _3f_GenerateAuthString_40_wxHTTP_40__40_IEBA_3f_AVwxString_40__40_AEBV2_40_0_40_Z(v148, &v9, v149, v148 + 320); // 0x18000807d
    g114 = v150;
    g112 = v150;
    g119 = v15;
    int64_t v151 = g108; // 0x18000808b
    g117 = v151;
    int64_t v152 = _3f_SetHeader_40_wxHTTP_40__40_QEAAXAEBVwxString_40__40_0_40_Z(v151, &v10, (int64_t *)v150); // 0x18000808e
    g114 = v152;
    g117 = v16;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v16, g119, v150);
    g117 = v15;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v15, g119, v150);
    goto lab_0x1800080ae;
  lab_0x180007f1a:
    // 0x180007f1a
    g116 = v11;
    int64_t v34; // 0x180007f2b
    if ((v12 & 1) != 0) {
        // 0x180007f20
        g117 = v14;
        g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v14, g119, g112);
        v34 = g116;
    } else {
        v34 = v11;
    }
    if ((char)v34 != 0) {
        // 0x180007f2f
        g119 = (int64_t)L"Content-Type";
        g117 = v14;
        g114 = _3f__3f_0wxString_40__40_QEAA_40_PEB_W_40_Z(&v10, (int64_t)L"Content-Type", g112);
        int64_t v35 = g108; // 0x180007f42
        int64_t v36 = v35 + 536; // 0x180007f42
        g112 = v36;
        g119 = v14;
        g117 = v35;
        int64_t v37 = _3f_SetHeader_40_wxHTTP_40__40_QEAAXAEBVwxString_40__40_0_40_Z(v35, &v10, (int64_t *)v36); // 0x180007f52
        g114 = v37;
        g117 = v14;
        g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v14, g119, g112);
    }
    // 0x180007f64
    g117 = v13;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v13, g119, g112);
    v16 = v13;
    v15 = v14;
    v6 = g108;
    goto lab_0x180007f72;
  lab_0x1800080ae:;
    int64_t v38 = g108; // 0x1800080ae
    g117 = v38;
    g114 = _3f_SaveState_40_wxSocketBase_40__40_QEAAXXZ(v38);
    int64_t v39 = _3f_IsMain_40_wxThread_40__40_SA_NXZ(); // 0x1800080b6
    g114 = v39;
    int64_t v40;
    if ((char)v39 != 0) {
        int64_t v41 = _3f_IsMainLoopRunning_40_wxAppConsoleBase_40__40_SA_NXZ(); // 0x1800080c0
        g114 = v41;
        v40 = (char)v41 == 0 ? 28 : 12;
    } else {
        v40 = 28;
    }
    // 0x1800080d3
    g119 = v40;
    int64_t v42 = g108; // 0x1800080d6
    g117 = v42;
    g114 = _3f_SetFlags_40_wxSocketBase_40__40_QEAAXH_40_Z(v42, v40);
    g119 = 0;
    int64_t v43 = g108; // 0x1800080e0
    g117 = v43;
    g114 = _3f_Notify_40_wxSocketBase_40__40_QEAAX_N_40_Z(v43, 0);
    int64_t v44; // bp-328
    int64_t v45 = &v44; // 0x1800080e8
    g117 = v45;
    _3f__3f_0wxString_40__40_QEAA_40_XZ(v45);
    g114 = v15;
    int64_t v46 = v15; // bp-592
    g119 = (int64_t)L"%s %s HTTP/1.0\r\n";
    g117 = v16;
    g114 = _3f__3f_0wxFormatString_40__40_QEAA_40_PEB_W_40_Z(&v9, L"%s %s HTTP/1.0\r\n");
    int64_t v47 = g115; // 0x180008117
    g119 = v47;
    g117 = v15;
    int64_t v48 = _3f__3f_0wxString_40__40_QEAA_40_AEBV0_40__40_Z(v15, v47); // 0x18000811f
    g114 = v48;
    g115 = v48;
    int64_t v49 = g110; // 0x18000812d
    g119 = v49;
    int64_t v50; // bp-496
    int64_t v51 = &v50; // 0x180008130
    g117 = v51;
    int64_t v52 = _3f__3f_0wxString_40__40_QEAA_40_AEBV0_40__40_Z(v51, v49); // 0x180008138
    g114 = v52;
    g120 = v52;
    g112 = v16;
    int64_t v53 = g115; // 0x180008154
    g119 = v53;
    int64_t v54 = &v46; // 0x180008157
    g117 = v54;
    int64_t v55 = _3f__3f_0_3f__24_wxArgNormalizerWchar_40_AEBVwxString_40__40__40__40_QEAA_40_AEBVwxString_40__40_PEBVwxFormatString_40__40_I_40_Z(&v46, v53, &v9, 2); // 0x18000815c
    g114 = v55;
    g112 = v16;
    int64_t v56 = g120; // 0x180008170
    g119 = v56;
    int64_t v57 = (int64_t)&v7; // 0x180008173
    g117 = v57;
    int64_t v58 = _3f__3f_0_3f__24_wxArgNormalizerWchar_40_AEBVwxString_40__40__40__40_QEAA_40_AEBVwxString_40__40_PEBVwxFormatString_40__40_I_40_Z((int64_t *)&v7, v56, &v9, 1); // 0x180008178
    g114 = v58;
    g117 = v54;
    int64_t v59 = _3f_get_40__3f__24_wxArgNormalizerWchar_40_AEBVwxString_40__40__40__40_QEBAPEB_WXZ(&v46); // 0x180008183
    g114 = v59;
    g116 = v59;
    g117 = v57;
    int64_t v60 = _3f_get_40__3f__24_wxArgNormalizerWchar_40_AEBVwxString_40__40__40__40_QEBAPEB_WXZ((int64_t *)&v7); // 0x180008191
    g114 = v60;
    g117 = v16;
    int64_t v61 = _3f__3f_BwxFormatString_40__40_QEBAPEB_WXZ(v16); // 0x1800081a2
    g114 = v61;
    g119 = v61;
    g112 = v60;
    g117 = v45;
    int64_t v62 = _3f_DoPrintfWchar_40_wxString_40__40_AEAAHPEB_WZZ(&v44, v61, v60, 0x100000000 * g116 / 0x100000000); // 0x1800081b9
    g114 = v62;
    int64_t v63 = g120; // 0x1800081c0
    g117 = v63;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v63, v61, v60);
    int64_t v64 = g115; // 0x1800081ca
    g117 = v64;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v64, v61, v60);
    g117 = v16;
    g114 = _3f__3f_1wxFormatString_40__40_QEAA_40_XZ(&v9);
    int64_t v65 = *(int64_t *)0x180019378; // 0x1800081e2
    g112 = v65;
    int64_t v66 = *(int64_t *)v65; // 0x1800081e9
    int64_t v67; // 0x180008206
    if (v66 == 0) {
        int64_t v68 = _3f_wxGet_wxConvLibcPtr_40__40_YAPEAVwxMBConv_40__40_XZ(); // 0x1800081ef
        g114 = v68;
        int64_t v69 = *(int64_t *)0x180019378; // 0x1800081f5
        g117 = v69;
        *(int64_t *)v69 = v68;
        int64_t v70 = *(int64_t *)0x180019378; // 0x1800081ff
        g112 = v70;
        v67 = *(int64_t *)v70;
    } else {
        v67 = v66;
    }
    // 0x180008206
    g112 = v67;
    g119 = v57;
    g117 = v45;
    int64_t v71 = _3f_mb_str_40_wxString_40__40_QEBA_3f_BV_3f__24_wxScopedCharTypeBuffer_40_D_40__40_AEBVwxMBConv_40__40__40_Z(&v44, (int64_t *)&v7, v67); // 0x180008216
    g114 = v71;
    g118 = v71;
    int64_t v72 = _3f_GetUntypedNullData_40_wxPrivate_40__40_YAPEAUUntypedBufferData_40_1_40_XZ(v45); // 0x18000821f
    g114 = v72;
    v46 = v72;
    int64_t v73 = g118; // 0x18000822a
    g119 = v73;
    g117 = v54;
    g114 = function_180002610(&v46, v73);
    int64_t v74 = _3f_GetUntypedNullData_40_wxPrivate_40__40_YAPEAUUntypedBufferData_40_1_40_XZ(v54); // 0x180008238
    g114 = v74;
    g120 = 0xffff;
    int64_t v75 = 0x100000000 * (int64_t)v7 / 0x100000000; // 0x180008243
    g117 = v75;
    if (v75 != v74) {
        int16_t * v76 = (int16_t *)(v75 + 16); // 0x18000824d
        *v76 = *v76 - 1;
        int64_t v77 = 0x100000000 * (int64_t)v7 / 0x100000000; // 0x180008251
        if (*(int16_t *)(v77 + 16) == 0) {
            // 0x18000825d
            int64_t v78; // 0x18000826c
            if (*(char *)(v77 + 18) != 0) {
                int64_t v79 = *(int64_t *)v77; // 0x180008263
                g117 = v79;
                free((int64_t *)v79);
                g114 = &g122;
                v78 = v77;
            } else {
                v78 = v77;
            }
            // 0x18000826c
            g117 = v78;
            g114 = function_18001310e(v78);
        }
        int64_t v80 = _3f_GetUntypedNullData_40_wxPrivate_40__40_YAPEAUUntypedBufferData_40_1_40_XZ(g117); // 0x180008274
        g114 = v80;
        v7 = (int64_t *)(v80 & 0xffffffff);
    }
    int64_t v81 = v46; // 0x18000827f
    g116 = v81;
    int64_t v82 = *(int64_t *)v81; // 0x180008284
    g119 = v82;
    g114 = 0;
    g117 = -1;
    g118 = v82;
    int64_t v83 = v82; // 0x180008290
    int64_t v84 = -1; // 0x180008290
    int64_t v85; // 0x180008292
    while (true) {
        if (v84 == 0) {
            v85 = 0;
            // break -> bb289
            break;
        }
        int64_t v86 = (g1 ? -1 : 1) + v83; // 0x180008290
        g118 = v86;
        int64_t v87 = v84 - 1; // 0x180008290
        g117 = v87;
        if (*(char *)v83 == 0) {
            v85 = v87;
            // break -> bb289
            break;
        }
        v83 = v86;
        v84 = v87;
    }
    int64_t v88 = -2 - v85; // 0x180008295
    g112 = v88;
    int64_t v89 = g108; // 0x180008299
    g117 = v89;
    g114 = _3f_Write_40_wxSocketBase_40__40_QEAAAEAV1_40_PEBXI_40_Z(v89, v82, v88);
    int64_t v90 = g108; // 0x1800082a1
    g117 = v90;
    g114 = _3f_SendHeaders_40_wxHTTP_40__40_IEAAXXZ(v90);
    g112 = 2;
    g119 = (int64_t)"\r\n";
    int64_t v91 = g108; // 0x1800082b6
    g117 = v91;
    g114 = _3f_Write_40_wxSocketBase_40__40_QEAAAEAV1_40_PEBXI_40_Z(v91, (int64_t)"\r\n", 2);
    int64_t v92 = g108; // 0x1800082be
    int64_t v93 = *(int64_t *)(v92 + 528); // 0x1800082be
    g119 = v93;
    int64_t v94 = *(int64_t *)(v93 + 16); // 0x1800082c6
    g114 = v94;
    if (v94 != 0) {
        // 0x1800082cf
        g112 = v94;
        int64_t v95 = *(int64_t *)v93; // 0x1800082d2
        g119 = v95;
        g117 = v92;
        g114 = _3f_Write_40_wxSocketBase_40__40_QEAAAEAV1_40_PEBXI_40_Z(v92, 0x100000000 * v95 / 0x100000000, v94);
        g119 = 0;
        int64_t v96 = g108 + 528; // 0x1800082df
        g117 = v96;
        g114 = function_180006200(v96, 0);
    }
    // 0x1800082ec
    int64_t v97; // bp-384
    int64_t v98 = &v97; // 0x1800082ec
    g117 = v98;
    g114 = _3f__3f_0wxString_40__40_QEAA_40_XZ(v98);
    g119 = v98;
    int64_t v99 = g108; // 0x180008303
    g117 = v99;
    int64_t v100 = _3f_ReadLine_40_wxProtocol_40__40_SA_3f_AW4wxProtocolError_40__40_PEAVwxSocketBase_40__40_AEAVwxString_40__40__40_Z(v99, &v97, g112); // 0x180008306
    g114 = v100;
    *(int32_t *)(g108 + 376) = (int32_t)v100;
    int64_t v101; // bp-216
    int64_t v102; // 0x1800084f2
    int64_t v103; // 0x18000850c
    int64_t v104; // 0x180008598
    if ((int32_t)g114 == 0) {
        // 0x180008373
        g119 = (int64_t)L"HTTP/";
        g117 = v15;
        g114 = _3f__3f_0wxString_40__40_QEAA_40_PEB_W_40_Z(&v10, (int64_t)L"HTTP/", g112);
        g119 = v15;
        g117 = v98;
        int64_t v105 = _3f_Contains_40_wxString_40__40_QEBA_NAEBV1_40__40_Z(v98, v15); // 0x180008393
        g114 = v105;
        g118 = g118 & -256 | (int64_t)((char)v105 == 0);
        g117 = v15;
        g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v15, v15, g112);
        if ((char)g118 == 0) {
            // 0x1800084cd
            g119 = 32;
            g112 = 1;
            g117 = v15;
            g114 = _3f__3f_0wxString_40__40_QEAA_40__W_K_40_Z(&v10, 32, 1);
            g112 = v15;
            g119 = v98;
            v102 = &v101;
            g117 = v102;
            int64_t v106 = _3f__3f_0wxStringTokenizer_40__40_QEAA_40_AEBVwxString_40__40_0W4wxStringTokenizerMode_40__40__40_Z(&v101, &v97, &v10, 0); // 0x1800084fa
            g114 = v106;
            g117 = v15;
            g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v15, v98, v15);
            int64_t v107; // bp-272
            v103 = &v107;
            g117 = v103;
            g114 = _3f__3f_0wxString_40__40_QEAA_40_XZ(v103);
            g119 = v16;
            g117 = v102;
            g114 = _3f_NextToken_40_wxStringTokenizer_40__40_QEAA_3f_AVwxString_40__40_XZ(&v101, &v9);
            g117 = v16;
            g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v16, v16, v15);
            g119 = v16;
            g117 = v102;
            int64_t v108 = _3f_NextToken_40_wxStringTokenizer_40__40_QEAA_3f_AVwxString_40__40_XZ(&v101, &v9); // 0x18000854f
            g114 = v108;
            g119 = v108;
            g117 = v103;
            g114 = _3f__3f_4wxString_40__40_QEAAAEAV0_40_AEBV0_40__40_Z(v103, v108);
            g117 = v16;
            g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v16, v108, v15);
            g117 = v103;
            int64_t v109 = _3f_wc_str_40_wxString_40__40_QEBAPEB_WXZ(&v107); // 0x18000857e
            g114 = v109;
            g117 = v109;
            int32_t v110 = _wtoi((int16_t *)v109); // 0x180008587
            g114 = v110;
            *(int32_t *)(g108 + 592) = v110;
            g112 = 0;
            v104 = &v52;
            g119 = v104;
            g117 = v103;
            int64_t v111 = _3f__3f_AwxString_40__40_QEAA_3f_AVwxUniCharRef_40__40_I_40_Z(&v107, &v52, 0); // 0x1800085a5
            g114 = v111;
            g117 = v111;
            int32_t v112 = _3f_GetValue_40_wxUniCharRef_40__40_QEBAIXZ(v111); // 0x1800085b4
            uint32_t v113 = v112 - 49; // 0x1800085b4
            g114 = v113;
            if (v113 == 0) {
                goto lab_0x180008655;
            } else {
                uint32_t v114 = v112 - 50; // 0x1800085bd
                g114 = v114;
                if (v114 == 0) {
                    goto lab_0x180008655;
                } else {
                    if (v112 == 51) {
                        goto lab_0x180008655;
                    } else {
                        // 0x1800085cf
                        *(int32_t *)(g108 + 376) = 6;
                        g117 = g108;
                        g114 = _3f_RestoreState_40_wxSocketBase_40__40_QEAAXXZ(g108, v104);
                        g117 = v103;
                        g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v103, v104, 0);
                        g117 = v102;
                        g114 = _3f__3f_1wxStringTokenizer_40__40_UEAA_40_XZ(&v101);
                        g117 = v98;
                        g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v98, v104, 0);
                        int64_t v115 = _3f_GetUntypedNullData_40_wxPrivate_40__40_YAPEAUUntypedBufferData_40_1_40_XZ(g117); // 0x180008611
                        g114 = v115;
                        int64_t v116 = g116; // 0x180008617
                        if (v116 != v115) {
                            int16_t * v117 = (int16_t *)(v116 + 16); // 0x18000861c
                            int16_t v118 = (int16_t)g120 + *v117; // 0x18000861c
                            *v117 = v118;
                            if (v118 == 0) {
                                int64_t v119 = g116; // 0x180008622
                                int64_t v120; // 0x180008631
                                if (*(char *)(v119 + 18) != 0) {
                                    int64_t v121 = *(int64_t *)v119; // 0x180008628
                                    g117 = v121;
                                    free((int64_t *)v121);
                                    g114 = &g122;
                                    v120 = g116;
                                } else {
                                    v120 = v119;
                                }
                                // 0x180008631
                                g117 = v120;
                                g114 = function_18001310e(v120);
                            }
                            // 0x180008639
                            g114 = _3f_GetUntypedNullData_40_wxPrivate_40__40_YAPEAUUntypedBufferData_40_1_40_XZ(g117);
                        }
                        // 0x180008640
                        g117 = v45;
                        g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v45, v104, 0) & -256;
                        goto lab_0x1800086e2;
                    }
                }
            }
        } else {
            // 0x1800083b3
            *(int32_t *)(g108 + 376) = 0;
            g119 = (int64_t)L"-1";
            g117 = v16;
            g114 = _3f__3f_0wxString_40__40_QEAA_40_PEB_W_40_Z(&v9, (int64_t)L"-1", g112);
            g119 = (int64_t)L"Content-Length";
            g117 = v15;
            g114 = _3f__3f_0wxString_40__40_QEAA_40_PEB_W_40_Z(&v10, (int64_t)L"Content-Length", g112);
            g112 = v16;
            g119 = v15;
            g117 = g108;
            g114 = _3f_SetHeader_40_wxHTTP_40__40_QEAAXAEBVwxString_40__40_0_40_Z(g108, &v10, &v9);
            g117 = v15;
            g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v15, v15, v16);
            g117 = v16;
            g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v16, v15, v16);
            g119 = (int64_t)L"none/none";
            g117 = v16;
            int64_t v122 = _3f__3f_0wxString_40__40_QEAA_40_PEB_W_40_Z(&v9, (int64_t)L"none/none", v16); // 0x180008427
            g114 = v122;
            g119 = (int64_t)L"Content-Type";
            g117 = v15;
            int64_t v123 = _3f__3f_0wxString_40__40_QEAA_40_PEB_W_40_Z(&v10, (int64_t)L"Content-Type", v16); // 0x18000843a
            g114 = v123;
            g112 = v16;
            g119 = v15;
            g117 = g108;
            g114 = _3f_SetHeader_40_wxHTTP_40__40_QEAAXAEBVwxString_40__40_0_40_Z(g108, &v10, &v9);
            g117 = v15;
            g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v15, v15, v16);
            g117 = v16;
            g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v16, v15, v16);
            g117 = g108;
            g114 = _3f_RestoreState_40_wxSocketBase_40__40_QEAAXXZ(g108, v15);
            g117 = v98;
            g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v98, v15, v16);
            int64_t v124 = _3f_GetUntypedNullData_40_wxPrivate_40__40_YAPEAUUntypedBufferData_40_1_40_XZ(g117); // 0x180008489
            g114 = v124;
            int64_t v125 = g116; // 0x18000848f
            if (v125 != v124) {
                int16_t * v126 = (int16_t *)(v125 + 16); // 0x180008494
                int16_t v127 = (int16_t)g120 + *v126; // 0x180008494
                *v126 = v127;
                if (v127 == 0) {
                    int64_t v128 = g116; // 0x18000849a
                    int64_t v129; // 0x1800084a9
                    if (*(char *)(v128 + 18) != 0) {
                        int64_t v130 = *(int64_t *)v128; // 0x1800084a0
                        g117 = v130;
                        free((int64_t *)v130);
                        g114 = &g122;
                        v129 = g116;
                    } else {
                        v129 = v128;
                    }
                    // 0x1800084a9
                    g117 = v129;
                    g114 = function_18001310e(v129);
                }
                // 0x1800084b1
                g114 = _3f_GetUntypedNullData_40_wxPrivate_40__40_YAPEAUUntypedBufferData_40_1_40_XZ(g117);
            }
            // 0x1800084b8
            g117 = v45;
            g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v45, v15, v16) & -256 | 1;
            goto lab_0x1800086e2;
        }
    } else {
        // 0x180008317
        g117 = g108;
        g114 = _3f_RestoreState_40_wxSocketBase_40__40_QEAAXXZ(g108, v98);
        g117 = v98;
        g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v98, v98, g112);
        int64_t v131 = _3f_GetUntypedNullData_40_wxPrivate_40__40_YAPEAUUntypedBufferData_40_1_40_XZ(g117); // 0x18000832f
        g114 = v131;
        int64_t v132 = g116; // 0x180008335
        if (v132 != v131) {
            int16_t * v133 = (int16_t *)(v132 + 16); // 0x18000833a
            int16_t v134 = (int16_t)g120 + *v133; // 0x18000833a
            *v133 = v134;
            if (v134 == 0) {
                int64_t v135 = g116; // 0x180008340
                int64_t v136; // 0x18000834f
                if (*(char *)(v135 + 18) != 0) {
                    int64_t v137 = *(int64_t *)v135; // 0x180008346
                    g117 = v137;
                    free((int64_t *)v137);
                    g114 = &g122;
                    v136 = g116;
                } else {
                    v136 = v135;
                }
                // 0x18000834f
                g117 = v136;
                g114 = function_18001310e(v136);
            }
            // 0x180008357
            g114 = _3f_GetUntypedNullData_40_wxPrivate_40__40_YAPEAUUntypedBufferData_40_1_40_XZ(g117);
        }
        // 0x18000835e
        g117 = v45;
        g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v45, v98, g112) & -256;
        goto lab_0x1800086e2;
    }
  lab_0x1800086e2:;
    int64_t v138 = g121 ^ v5; // 0x1800086ea
    g117 = v138;
    __security_check_cookie(v138);
    g114 = &g122;
    g118 = v3;
    g120 = v2;
    g116 = v1;
    return &g122;
  lab_0x180008655:
    // 0x180008655
    *(int32_t *)(g108 + 376) = 0;
    int64_t v139 = g108; // 0x180008661
    g117 = v139;
    int64_t v140 = _3f_ParseHeaders_40_wxHTTP_40__40_IEAA_NXZ(v139); // 0x180008664
    g114 = v140;
    g118 = v140;
    g117 = g108;
    g114 = _3f_RestoreState_40_wxSocketBase_40__40_QEAAXXZ(g108, v104);
    g117 = v103;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v103, v104, 0);
    g117 = v102;
    g114 = _3f__3f_1wxStringTokenizer_40__40_UEAA_40_XZ(&v101);
    g117 = v98;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v98, v104, 0);
    int64_t v141 = _3f_GetUntypedNullData_40_wxPrivate_40__40_YAPEAUUntypedBufferData_40_1_40_XZ(g117); // 0x1800086a2
    g114 = v141;
    int64_t v142 = g116; // 0x1800086a8
    if (v142 != v141) {
        int16_t * v143 = (int16_t *)(v142 + 16); // 0x1800086ad
        int16_t v144 = (int16_t)g120 + *v143; // 0x1800086ad
        *v143 = v144;
        if (v144 == 0) {
            int64_t v145 = g116; // 0x1800086b3
            int64_t v146; // 0x1800086c2
            if (*(char *)(v145 + 18) != 0) {
                int64_t v147 = *(int64_t *)v145; // 0x1800086b9
                g117 = v147;
                free((int64_t *)v147);
                g114 = &g122;
                v146 = g116;
            } else {
                v146 = v145;
            }
            // 0x1800086c2
            g117 = v146;
            g114 = function_18001310e(v146);
        }
        // 0x1800086ca
        g114 = _3f_GetUntypedNullData_40_wxPrivate_40__40_YAPEAUUntypedBufferData_40_1_40_XZ(g117);
    }
    // 0x1800086d1
    g117 = v45;
    g114 = g118 | _3f__3f_1wxString_40__40_QEAA_40_XZ(v45, v104, 0) & -256;
    goto lab_0x1800086e2;
}
 
// Address range: 0x180008710 - 0x18000896f
// Demangled:     public: virtual wxHTTP::GetInputStream
int64_t _3f_GetInputStream_40_wxHTTP_40__40_UEAAPEAVwxInputStream_40__40_AEBVwxString_40__40__40_Z(int64_t a1, int64_t a2, int64_t a3) {
    // 0x180008710
    g112 = a3;
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x180008724
    int64_t v2 = g120; // 0x180008728
    int64_t v3; // bp-296
    int64_t v4 = g61 ^ (int64_t)&v3; // 0x180008733
    g114 = v4;
    g116 = g119;
    g118 = g117;
    int64_t v5; // bp-80
    int64_t v6 = &v5; // 0x180008744
    g117 = v6;
    g114 = _3f__3f_0wxString_40__40_QEAA_40_XZ(v6);
    *(int32_t *)(g118 + 376) = 3;
    int64_t v7 = g118; // 0x180008759
    int64_t v8 = *(int64_t *)(v7 + 520); // 0x180008759
    g119 = v8;
    if (v8 != 0) {
        int64_t v9 = a3 & -256 | 1; // 0x18000877a
        g112 = v9;
        g117 = v7;
        int64_t v10 = _3f_Connect_40_wxSocketClient_40__40_UEAA_NAEBVwxSockAddress_40__40__N_40_Z(v7); // 0x180008780
        g114 = v10;
        if ((char)v10 != 0) {
            int64_t v11 = g118 + 392; // 0x18000879e
            g119 = v11;
            int64_t v12; // bp-136
            int64_t v13 = &v12; // 0x1800087a5
            g117 = v13;
            g114 = _3f__3f_0wxString_40__40_QEAA_40_AEBV0_40__40_Z(v13, v11);
            g117 = v13;
            int64_t v14 = _3f_empty_40_wxString_40__40_QEBA_NXZ(v13, v11); // 0x1800087bc
            g114 = v14;
            if ((char)v14 != 0) {
                int64_t v15 = *(int64_t *)(g118 + 528); // 0x1800087c6
                g114 = v15;
                g117 = (int64_t)L"GET";
                g119 = (int64_t)L"POST";
                int64_t v16 = *(int64_t *)(v15 + 16); // 0x1800087db
                int64_t v17 = v16 == 0 ? (int64_t)L"GET" : (int64_t)L"POST"; // 0x1800087e0
                g119 = v17;
                g117 = v13;
                g114 = _3f__3f_4wxString_40__40_QEAAAEAV0_40_PEB_W_40_Z(v13, (int16_t *)v17);
            }
            // 0x1800087f2
            g112 = v13;
            int64_t v18 = g116; // 0x1800087fa
            g119 = v18;
            int64_t v19 = g118; // 0x1800087fd
            g117 = v19;
            int64_t v20 = _3f_BuildRequest_40_wxHTTP_40__40_IEAA_NAEBVwxString_40__40_0_40_Z(v19, v18, &v12); // 0x180008800
            g114 = v20;
            if ((char)v20 != 0) {
                // 0x18000882d
                g117 = 88;
                int64_t v21 = function_18001323c(88, v18); // 0x180008832
                g114 = v21;
                int64_t v22;
                if (v21 == 0) {
                    v22 = 0;
                } else {
                    int64_t v23 = g118; // 0x180008841
                    g119 = v23;
                    g117 = v21;
                    int64_t v24 = function_180006ac0(v21, v23); // 0x180008847
                    g114 = v24;
                    v22 = v24;
                }
                // 0x180008853
                g120 = v22;
                g119 = (int64_t)L"Content-Length";
                int64_t v25; // bp-248
                int64_t v26 = &v25; // 0x18000885a
                g117 = v26;
                int64_t v27 = _3f__3f_0wxString_40__40_QEAA_40_PEB_W_40_Z(&v25, (int64_t)L"Content-Length", v13); // 0x18000885f
                g114 = v27;
                g112 = v26;
                int64_t v28; // bp-192
                int64_t v29 = &v28; // 0x18000886b
                g119 = v29;
                g117 = g118;
                int64_t v30 = _3f_GetHeader_40_wxHTTP_40__40_QEBA_3f_AVwxString_40__40_AEBV2_40__40_Z(g118, v29, &v25); // 0x180008873
                g114 = v30;
                g117 = v30;
                int64_t v31 = _3f_empty_40_wxString_40__40_QEBA_NXZ(v30, g119); // 0x18000887c
                g114 = v31;
                g116 = g116 & -256 | (int64_t)((char)v31 == 0);
                g117 = v29;
                g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v29, g119, g112);
                g117 = v26;
                g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v26, g119, g112);
                if ((char)g116 == 0) {
                    // 0x1800088fa
                    *(int64_t *)(g120 + 72) = -1;
                } else {
                    // 0x1800088a2
                    g119 = (int64_t)L"Content-Length";
                    g117 = v26;
                    g114 = _3f__3f_0wxString_40__40_QEAA_40_PEB_W_40_Z(&v25, (int64_t)L"Content-Length", g112);
                    g112 = v26;
                    g119 = v29;
                    g117 = g118;
                    int64_t v32 = _3f_GetHeader_40_wxHTTP_40__40_QEBA_3f_AVwxString_40__40_AEBV2_40__40_Z(g118, v29, &v25); // 0x1800088c2
                    g114 = v32;
                    g117 = v32;
                    int64_t v33 = _3f_wc_str_40_wxString_40__40_QEBAPEB_WXZ((int64_t *)v32); // 0x1800088cb
                    g114 = v33;
                    g117 = v33;
                    int64_t v34 = _wtoi((int16_t *)v33); // 0x1800088d4
                    g114 = v34;
                    *(int64_t *)(g120 + 72) = v34;
                    g117 = v29;
                    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v29, g119, g112);
                    g117 = v26;
                    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v26, g119, g112);
                }
                // 0x180008902
                *(int32_t *)(g120 + 80) = 0;
                g119 = 0;
                g117 = g118;
                g114 = _3f_Notify_40_wxSocketBase_40__40_QEAAX_N_40_Z(g118, 0);
                g119 = 28;
                g117 = g118;
                g114 = _3f_SetFlags_40_wxSocketBase_40__40_QEAAXH_40_Z(g118, 28);
                *(int32_t *)(g118 + 376) = 0;
                g117 = v13;
                g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v13, 28, g112);
                g117 = v6;
                _3f__3f_1wxString_40__40_QEAA_40_XZ(v6, 28, g112);
                g114 = g120;
            } else {
                // 0x180008809
                g117 = v13;
                g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v13, v18, v13);
                g117 = v6;
                _3f__3f_1wxString_40__40_QEAA_40_XZ(v6, v18, v13);
                g114 = 0;
            }
        } else {
            // 0x180008789
            g117 = v6;
            _3f__3f_1wxString_40__40_QEAA_40_XZ(v6, v8, v9);
            g114 = 0;
        }
    } else {
        // 0x180008765
        g117 = v6;
        _3f__3f_1wxString_40__40_QEAA_40_XZ(v6, v8, a3);
        g114 = 0;
    }
    int64_t v35 = g121 ^ v4; // 0x180008952
    g117 = v35;
    __security_check_cookie(v35);
    g114 = &g122;
    g116 = v1;
    g120 = v2;
    return &g122;
}
 
// Address range: 0x180008970 - 0x180008a0f
int64_t function_180008970(int64_t a1, int64_t a2) {
    // 0x180008970
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x180008983
    int64_t v2 = g120; // 0x180008988
    g120 = a2;
    g116 = a1;
    int64_t result;
    if ((a2 & 2) != 0) {
        uint32_t v3 = *(int32_t *)(a1 - 8); // 0x18000899e
        g112 = v3;
        g119 = 208;
        g114 = function_180013168(a1, 208, v3, 0x180001640);
        if ((g120 & 1) != 0) {
            int64_t v4 = g116 - 8; // 0x1800089b2
            g117 = v4;
            g114 = function_180013114(v4);
        }
        // 0x1800089bb
        result = g116 - 8;
        // 0x1800089ff
        g114 = result;
        g116 = v1;
        g120 = v2;
        return result;
    }
    int64_t v5 = a1 + 136; // 0x1800089c1
    g117 = v5;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v5, a2, g112);
    int64_t v6 = g116 + 80; // 0x1800089cf
    g117 = v6;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v6, a2, g112);
    int64_t v7 = g116 + 24; // 0x1800089da
    g117 = v7;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v7, a2, g112);
    int64_t v8 = g116; // 0x1800089e5
    g117 = v8;
    g114 = _3f__3f_1wxObject_40__40_UEAA_40_XZ(v8);
    if ((g120 & 1) != 0) {
        int64_t v9 = g116; // 0x1800089f4
        g117 = v9;
        g114 = function_18001310e(v9);
    }
    // 0x1800089fc
    result = g116;
    // 0x1800089ff
    g114 = result;
    g116 = v1;
    g120 = v2;
    return result;
}
 
// Address range: 0x180008a10 - 0x180008a37
// Demangled:     public: wxProtocolLog::wxProtocolLog
int64_t _3f__3f_0wxProtocolLog_40__40_QEAA_40_AEBVwxString_40__40__40_Z(int64_t a1) {
    // 0x180008a10
    g117 = a1;
    int64_t v1 = g116; // 0x180008a10
    g114 = &g24;
    int64_t v2 = g117; // 0x180008a1d
    g116 = v2;
    int64_t v3 = v2 + 8; // 0x180008a20
    g117 = v3;
    *(int64_t *)v2 = (int64_t)&g24;
    _3f__3f_0wxString_40__40_QEAA_40_AEBV0_40__40_Z(v3, g119);
    int64_t result = g116; // 0x180008a2e
    g114 = result;
    g116 = v1;
    return result;
}
 
// Address range: 0x180008a40 - 0x180008a56
// Demangled:     public: virtual wxProtocolLog::~wxProtocolLog
int64_t _3f__3f_1wxProtocolLog_40__40_UEAA_40_XZ(int64_t a1) {
    // 0x180008a40
    g114 = &g24;
    int64_t v1 = a1 + 8; // 0x180008a47
    g117 = v1;
    *(int64_t *)a1 = (int64_t)&g24;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v1, g119, g112); // 0x180008a4f
    g114 = result;
    return result;
}
 
// Address range: 0x180008a60 - 0x180008aa7
// Demangled:     public: virtual wxProtocolLog::LogRequest
int64_t _3f_LogRequest_40_wxProtocolLog_40__40_UEAAXAEBVwxString_40__40__40_Z(int64_t a1, int64_t a2) {
    // 0x180008a60
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x180008a60
    g116 = g117;
    int64_t v2 = g119; // 0x180008a72
    g112 = v2;
    g119 = (int64_t)"==> ";
    int64_t v3; // bp-64
    int64_t v4 = &v3; // 0x180008a7c
    g117 = v4;
    int64_t v5 = _3f__3f_H_40_YA_3f_AVwxString_40__40_PEBDAEBV0_40__40_Z(&v3, "==> ", v2); // 0x180008a81
    g114 = v5;
    g112 = v4;
    g119 = v5;
    g117 = v4;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v4, v5, v4); // 0x180008a9b
    g114 = result;
    g116 = v1;
    return result;
}
 
// Address range: 0x180008ab0 - 0x180008af7
// Demangled:     public: virtual wxProtocolLog::LogResponse
int64_t _3f_LogResponse_40_wxProtocolLog_40__40_UEAAXAEBVwxString_40__40__40_Z(int64_t a1, int64_t a2) {
    // 0x180008ab0
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x180008ab0
    g116 = g117;
    int64_t v2 = g119; // 0x180008ac2
    g112 = v2;
    g119 = (int64_t)"<== ";
    int64_t v3; // bp-64
    int64_t v4 = &v3; // 0x180008acc
    g117 = v4;
    int64_t v5 = _3f__3f_H_40_YA_3f_AVwxString_40__40_PEBDAEBV0_40__40_Z(&v3, "<== ", v2); // 0x180008ad1
    g114 = v5;
    g112 = v4;
    g119 = v5;
    g117 = v4;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v4, v5, v4); // 0x180008aeb
    g114 = result;
    g116 = v1;
    return result;
}
 
// Address range: 0x180008b00 - 0x180008b82
int64_t function_180008b00(int64_t a1, int64_t a2) {
    // 0x180008b00
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x180008b00
    int64_t v2 = g120; // 0x180008b05
    g120 = a2;
    g116 = a1;
    if ((a2 & 2) != 0) {
        uint32_t v3 = *(int32_t *)(a1 - 8); // 0x180008b14
        g112 = v3;
        g119 = 64;
        g114 = function_180013168(a1, 64, v3, 0x180008a40);
        if ((g120 & 1) != 0) {
            int64_t v4 = g116 - 8; // 0x180008b34
            g117 = v4;
            g114 = function_180013114(v4);
        }
        int64_t result = g116 - 8; // 0x180008b3d
        g114 = result;
        g116 = v1;
        g120 = v2;
        return result;
    }
    // 0x180008b51
    g114 = &g24;
    int64_t v5 = a1 + 8; // 0x180008b58
    g117 = v5;
    *(int64_t *)a1 = (int64_t)&g24;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v5, a2, g112);
    if ((g120 & 1) != 0) {
        int64_t v6 = g116; // 0x180008b6c
        g117 = v6;
        g114 = function_18001310e(v6);
    }
    int64_t result2 = g116; // 0x180008b74
    g114 = result2;
    g116 = v1;
    g120 = v2;
    return result2;
}
 
// Address range: 0x180008b90 - 0x180008b98
// Demangled:     public: virtual wxProtoInfo::GetClassInfo
int64_t _3f_GetClassInfo_40_wxProtoInfo_40__40_UEBAPEAVwxClassInfo_40__40_XZ(void) {
    // 0x180008b90
    g114 = 0x18002eb90;
    return 0x18002eb90;
}
 
// Address range: 0x180008ba0 - 0x180008c47
// Demangled:     public: wxProtoInfo::wxProtoInfo
int64_t _3f__3f_0wxProtoInfo_40__40_QEAA_40_PEB_W0_NPEAVwxClassInfo_40__40__40_Z(int64_t result, int16_t * a2, int16_t * a3, int64_t a4, int64_t a5) {
    int64_t v1 = (int64_t)a3;
    g112 = v1;
    g119 = (int64_t)a2;
    g117 = result;
    int64_t v2 = g116; // 0x180008bb3
    int64_t v3 = g120; // 0x180008bbd
    g120 = a4;
    g116 = g119;
    _3f__3f_0wxObject_40__40_QEAA_40_XZ(result);
    g114 = &g25;
    *(int64_t *)result = (int64_t)&g25;
    int64_t v4 = result + 24; // 0x180008be1
    g117 = v4;
    int64_t v5 = g116; // 0x180008be5
    g119 = v5;
    g114 = _3f__3f_0wxString_40__40_QEAA_40_PEB_W_40_Z((int64_t *)v4, v5, v1);
    int64_t v6 = result + 80; // 0x180008bef
    g117 = v6;
    g114 = _3f__3f_0wxString_40__40_QEAA_40_XZ(v6);
    int64_t v7 = result + 136; // 0x180008bfa
    g117 = v7;
    g119 = v1;
    g114 = _3f__3f_0wxString_40__40_QEAA_40_PEB_W_40_Z((int64_t *)v7, v1, v1);
    *(int64_t *)(result + 192) = a5;
    *(char *)(result + 200) = (char)g120;
    *(int64_t *)(result + 16) = *(int64_t *)0x18002f018;
    *(int64_t *)0x18002f018 = result;
    g114 = result;
    g116 = v2;
    g120 = v3;
    return result;
}
 
// Address range: 0x180008c50 - 0x180008c58
// Demangled:     public: virtual wxProtocol::GetClassInfo
int64_t _3f_GetClassInfo_40_wxProtocol_40__40_UEBAPEAVwxClassInfo_40__40_XZ(void) {
    // 0x180008c50
    g114 = 0x18002ebc0;
    return 0x18002ebc0;
}
 
// Address range: 0x180008c60 - 0x180008c6b
// Demangled:     public: virtual wxProtocol::SetDefaultTimeout
int64_t _3f_SetDefaultTimeout_40_wxProtocol_40__40_UEAAXI_40_Z(int64_t a1, int64_t a2) {
    // 0x180008c60
    g119 = a2;
    g117 = a1;
    *(int32_t *)(a1 + 256) = (int32_t)a2;
    int64_t result = _3f_SetTimeout_40_wxSocketBase_40__40_UEAAXJ_40_Z(a1, a2); // 0x180008c66
    g114 = result;
    return result;
}
 
// Address range: 0x180008c70 - 0x180008cd0
// Demangled:     public: virtual wxProtocol::~wxProtocol
int64_t _3f__3f_1wxProtocol_40__40_UEAA_40_XZ(int64_t a1) {
    // 0x180008c70
    g117 = a1;
    int64_t v1 = g116; // 0x180008c75
    int64_t v2 = g117; // 0x180008c83
    g116 = v2;
    g114 = &g26;
    *(int64_t *)v2 = (int64_t)&g26;
    int64_t v3 = *(int64_t *)(g117 + 384); // 0x180008c90
    g117 = v3;
    int64_t v4;
    if (v3 != 0) {
        // 0x180008c9c
        g114 = *(int64_t *)v3;
        g119 = 1;
        v4 = 1;
    } else {
        int64_t v5;
        v4 = v5;
    }
    int64_t v6 = g116 + 320; // 0x180008ca7
    g117 = v6;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v6, v4, g112);
    int64_t v7 = g116 + 264; // 0x180008cb5
    g117 = v7;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v7, v4, g112);
    int64_t v8 = g116; // 0x180008cc3
    g117 = v8;
    g116 = v1;
    int64_t result = _3f__3f_1wxSocketBase_40__40_UEAA_40_XZ(v8); // 0x180008ccb
    g114 = result;
    return result;
}
 
// Address range: 0x180008cd0 - 0x180008de3
// Demangled:     public: wxProtocol::Reconnect
int64_t _3f_Reconnect_40_wxProtocol_40__40_QEAA_NXZ(int64_t a1) {
    // 0x180008cd0
    g117 = a1;
    int64_t v1 = g116; // 0x180008cd0
    int64_t v2; // bp-152
    int64_t v3 = g61 ^ (int64_t)&v2; // 0x180008ce9
    g114 = v3;
    g116 = g117;
    int32_t v4; // bp-104
    int64_t v5 = &v4; // 0x180008cf7
    g117 = v5;
    _3f__3f_0wxSockAddress_40__40_QEAA_40_XZ(v5);
    g114 = &g6;
    v4 = &g6;
    int64_t v6; // bp-80
    int64_t v7 = &v6; // 0x180008d0e
    g117 = v7;
    _3f__3f_0wxString_40__40_QEAA_40_XZ(0x100000000000000 * v7 / 0x100000000000000);
    v4 = &g7;
    g119 = v5;
    int64_t v8 = g116; // 0x180008d2e
    g117 = v8;
    g114 = v8;
    if ((char)v7 != 0) {
        // 0x180008d5c
        g117 = v8;
        if ((char)v8 != 0) {
            // 0x180008db2
            g114 = v8;
            int64_t v9 = g112 & -256 | 1; // 0x180008d86
            g112 = v9;
            g119 = v5;
            g117 = v7;
            g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v7, v5, v9);
            g117 = v5;
            g114 = _3f__3f_1wxSockAddress_40__40_UEAA_40_XZ(v5) & -256 | 1;
        } else {
            // 0x180008d69
            g117 = v7;
            g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v7, v5, g112);
            g117 = v5;
            g114 = _3f__3f_1wxSockAddress_40__40_UEAA_40_XZ(v5) & -256;
        }
    } else {
        // 0x180008d38
        g117 = v7;
        g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v7, v5, g112);
        g117 = v5;
        g114 = _3f__3f_1wxSockAddress_40__40_UEAA_40_XZ(v5) & -256;
    }
    int64_t v10 = g121 ^ v3; // 0x180008dd2
    g117 = v10;
    __security_check_cookie(v10);
    g114 = &g122;
    g116 = v1;
    return &g122;
}
 
// Address range: 0x180008df0 - 0x180008e3a
// Demangled:     public: wxProtocol::SetLog
int64_t _3f_SetLog_40_wxProtocol_40__40_QEAAXPEAVwxProtocolLog_40__40__40_Z(int64_t a1, int64_t a2) {
    // 0x180008df0
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x180008df0
    int64_t v2 = g117; // 0x180008dfa
    g116 = v2;
    int64_t * v3 = (int64_t *)(v2 + 384); // 0x180008dfd
    int64_t v4 = *v3; // 0x180008dfd
    g117 = v4;
    int64_t v5 = g119; // 0x180008e04
    if (v4 == 0) {
        // 0x180008e28
        *v3 = v5;
        g116 = v1;
        return g114;
    }
    // 0x180008e0c
    g114 = *(int64_t *)v4;
    g119 = 1;
    *v3 = v5;
    g116 = v1;
    return g114;
}
 
// Address range: 0x180008e40 - 0x180008e60
// Demangled:     public: wxProtocol::LogRequest
int64_t _3f_LogRequest_40_wxProtocol_40__40_QEAAXAEBVwxString_40__40__40_Z(int64_t a1) {
    // 0x180008e40
    g117 = a1;
    int64_t v1 = *(int64_t *)(g117 + 384); // 0x180008e44
    int64_t result; // 0x180008e5f
    if (v1 == 0) {
        // 0x180008e40
        result = g114;
    } else {
        // 0x180008e4e
        g117 = v1;
        int64_t v2 = *(int64_t *)v1; // 0x180008e55
        g114 = v2;
        result = v2;
    }
    // 0x180008e5b
    return result;
}
 
// Address range: 0x180008e60 - 0x180008e80
// Demangled:     public: wxProtocol::LogResponse
int64_t _3f_LogResponse_40_wxProtocol_40__40_QEAAXAEBVwxString_40__40__40_Z(int64_t a1) {
    // 0x180008e60
    g117 = a1;
    int64_t v1 = *(int64_t *)(g117 + 384); // 0x180008e64
    int64_t result; // 0x180008e7f
    if (v1 == 0) {
        // 0x180008e60
        result = g114;
    } else {
        // 0x180008e6e
        g117 = v1;
        int64_t v2 = *(int64_t *)v1; // 0x180008e75
        g114 = v2;
        result = v2;
    }
    // 0x180008e7b
    return result;
}
 
// Address range: 0x180008e80 - 0x180008f02
int64_t function_180008e80(int64_t a1) {
    // 0x180008e80
    g117 = a1;
    int64_t v1 = g116; // 0x180008e85
    int64_t result = g117; // rdi
    int64_t v2; // bp+16
    g117 = &v2;
    int64_t v3 = _3f__3f_0wxStringEqual_40__40_QEAA_40_XZ(&v2); // 0x180008e9c
    g114 = v3;
    g116 = v3;
    int64_t v4; // bp+24
    g117 = &v4;
    int64_t v5 = _3f__3f_0wxStringHash_40__40_QEAA_40_XZ(&v4); // 0x180008eaa
    g114 = v5;
    char v6 = *(char *)g116; // 0x180008eb0
    unsigned char v7 = *(char *)v5; // 0x180008eb4
    g112 = v7;
    g119 = 100;
    g117 = result;
    g114 = _3f__3f_0wxStringToNumHashMap_40__40_QEAA_40__KUwxStringHash_40__40_UwxStringEqual_40__40__40_Z(result, 100, v7, v6);
    int64_t v8; // bp+32
    g117 = &v8;
    int64_t v9 = _3f__3f_0wxStringEqual_40__40_QEAA_40_XZ(&v8); // 0x180008ecc
    g114 = v9;
    g116 = v9;
    int64_t v10; // bp-40
    g117 = &v10;
    int64_t v11 = _3f__3f_0wxStringHash_40__40_QEAA_40_XZ(&v10); // 0x180008eda
    g114 = v11;
    int64_t v12 = result + 32; // 0x180008ee0
    g117 = v12;
    unsigned char v13 = *(char *)g116; // 0x180008ee4
    g113 = v13;
    unsigned char v14 = *(char *)v11; // 0x180008ee8
    g112 = v14;
    g119 = 100;
    _3f__3f_0wxStringToStringHashMap_40__40_QEAA_40__KUwxStringHash_40__40_UwxStringEqual_40__40__40_Z(v12, 100, v14, v13);
    g114 = result;
    g116 = v1;
    return result;
}
 
// Address range: 0x180008f10 - 0x180008f82
int64_t function_180008f10(int64_t a1, int64_t a2) {
    // 0x180008f10
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x180008f10
    int64_t v2 = g120; // 0x180008f15
    int64_t v3 = g119; // 0x180008f1a
    g120 = v3;
    g116 = a1;
    if ((v3 & 2) == 0) {
        // 0x180008f61
        g114 = _3f__3f_1wxProtocol_40__40_UEAA_40_XZ(a1);
        if ((g120 & 1) != 0) {
            int64_t v4 = g116; // 0x180008f6c
            g117 = v4;
            g114 = function_18001310e(v4);
        }
        int64_t result = g116; // 0x180008f74
        g114 = result;
        g116 = v1;
        g120 = v2;
        return result;
    }
    uint32_t v5 = *(int32_t *)(a1 - 8); // 0x180008f24
    g112 = v5;
    g119 = 392;
    g114 = function_180013168(a1, 392, v5, 0x180008c70);
    if ((g120 & 1) != 0) {
        int64_t v6 = g116 - 8; // 0x180008f44
        g117 = v6;
        g114 = function_180013114(v6);
    }
    int64_t result2 = g116 - 8; // 0x180008f4d
    g114 = result2;
    g116 = v1;
    g120 = v2;
    return result2;
}
 
// Address range: 0x180008f90 - 0x180009002
// Demangled:     public: wxProtocol::wxProtocol
int64_t _3f__3f_0wxProtocol_40__40_QEAA_40_XZ(int64_t a1, int64_t a2) {
    // 0x180008f90
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x180008f95
    g116 = a1;
    g119 = 0;
    _3f__3f_0wxSocketClient_40__40_QEAA_40_H_40_Z(a1);
    g114 = &g26;
    *(int64_t *)g116 = (int64_t)&g26;
    int64_t v2 = g116 + 264; // 0x180008fb8
    g117 = v2;
    g114 = _3f__3f_0wxString_40__40_QEAA_40_XZ(v2);
    int64_t v3 = g116 + 320; // 0x180008fc6
    g117 = v3;
    _3f__3f_0wxString_40__40_QEAA_40_XZ(v3);
    g114 = 0;
    *(int32_t *)(g116 + 376) = 0;
    *(int64_t *)(g116 + 384) = g114;
    *(int32_t *)(g116 + 256) = 60;
    int64_t v4 = g114 + 60; // 0x180008fed
    g119 = v4;
    int64_t v5 = g116; // 0x180008ff0
    g117 = v5;
    _3f_SetTimeout_40_wxSocketBase_40__40_UEAAXJ_40_Z(v5, v4);
    int64_t result = g116; // 0x180008ff9
    g114 = result;
    g116 = v1;
    return result;
}
 
// Address range: 0x180009010 - 0x180009133
int64_t function_180009010(int32_t * a1, int64_t a2, int64_t a3, int64_t a4) {
    // 0x180009010
    g113 = a4;
    g112 = a3;
    g119 = a2;
    g117 = (int64_t)a1;
    int64_t v1 = g113; // bp+32
    int64_t v2 = g116; // 0x18000901a
    int64_t v3 = g120; // 0x18000901c
    int64_t v4 = g119; // 0x18000902e
    g116 = v4;
    g120 = g117;
    g117 = v4;
    int64_t result = _3f_IsAllowedTraceMask_40_wxLog_40__40_SA_NAEBVwxString_40__40__40_Z(v4); // 0x180009037
    g114 = result;
    if ((char)result == 0) {
        // 0x180009127
        g120 = v3;
        g116 = v2;
        return result;
    }
    // 0x180009045
    g119 = (int64_t)"wx.trace_mask";
    int64_t v5; // bp-160
    int64_t v6 = &v5; // 0x18000904c
    g117 = v6;
    g114 = _3f__3f_0wxString_40__40_QEAA_40_PEBD_40_Z(&v5, (int64_t)"wx.trace_mask");
    int64_t v7 = g116; // 0x180009058
    g119 = v7;
    int64_t v8; // bp-104
    int64_t v9 = &v8; // 0x18000905b
    g117 = v9;
    int64_t v10 = _3f__3f_0wxString_40__40_QEAA_40_AEBV0_40__40_Z(v9, v7); // 0x180009060
    g114 = v10;
    g116 = v10;
    int64_t v11 = g120; // 0x18000906e
    int64_t v12; // 0x180009099
    if (*(int64_t *)(v11 + 56) == 0) {
        // 0x180009075
        g117 = 64;
        int64_t v13 = function_18001323c(64, v7); // 0x18000907a
        g114 = v13;
        int64_t v14 = 0x100000000 * v13;
        int64_t v15;
        if (v14 == 0) {
            v15 = 0;
        } else {
            int64_t v16 = v14 / 0x100000000; // 0x180009089
            g117 = v16;
            v15 = function_180008e80(v16);
        }
        // 0x180009095
        g114 = v15;
        *(int64_t *)(g120 + 56) = v15;
        v12 = g120;
    } else {
        v12 = v11;
    }
    int64_t v17 = *(int64_t *)(v12 + 56) + 32; // 0x18000909d
    g117 = v17;
    g119 = v6;
    int64_t v18 = _3f__3f_AwxStringToStringHashMap_40__40_QEAAAEAVwxString_40__40_AEBV1_40__40_Z(v17, v6); // 0x1800090a6
    g114 = v18;
    g117 = v18;
    int64_t v19 = g116; // 0x1800090af
    g119 = v19;
    g114 = _3f__3f_4wxString_40__40_QEAAAEAV0_40_AEBV0_40__40_Z(v18, v19);
    int64_t v20 = g116; // 0x1800090b9
    g117 = v20;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v20, v19, a3);
    g117 = v6;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v6, v19, a3);
    g119 = a3;
    g117 = v6;
    g114 = _3f__3f_0wxString_40__40_QEAA_40_PEB_W_40_Z(&v5, a3, a3);
    g116 = (int64_t)*(int32_t *)&g117;
    g112 = &v1;
    g119 = v6;
    g117 = v9;
    int64_t v21 = _3f_FormatV_40_wxString_40__40_SA_3f_AV1_40_AEBV1_40_PEAD_40_Z(&v8, &v5, &v1); // 0x1800090f9
    g114 = v21;
    int64_t v22 = g120 + 8; // 0x180009100
    g112 = v22;
    g119 = v21;
    int64_t v23 = g116; // 0x180009107
    g117 = v23;
    g114 = _3f_OnLog_40_wxLog_40__40_SAXKAEBVwxString_40__40_AEBVwxLogRecordInfo_40__40__40_Z(v23, v21, v22);
    g117 = v9;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v9, v21, v22);
    g117 = v6;
    int64_t result2 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v6, v21, v22); // 0x180009121
    g114 = result2;
    // 0x180009127
    g120 = v3;
    g116 = v2;
    return result2;
}
 
// Address range: 0x180009140 - 0x1800092e1
// Demangled:     protected: virtual wxProtocolLog::DoLogString
int64_t _3f_DoLogString_40_wxProtocolLog_40__40_MEAAXAEBVwxString_40__40__40_Z(int64_t a1, int64_t a2) {
    // 0x180009140
    g119 = a2;
    g117 = a1;
    int64_t v1;
    g114 = &v1;
    int64_t v2 = g120; // 0x180009144
    int64_t v3 = g116; // 0x180009156
    g116 = g119;
    g120 = g117;
    g119 = (int64_t)"wx";
    int64_t v4; // bp-80
    int64_t v5 = &v4; // 0x18000916a
    g117 = v5;
    int64_t v6 = _3f__3f_0wxString_40__40_QEAA_40_PEBD_40_Z(&v4, (int64_t)"wx"); // 0x18000916e
    g114 = v6;
    g119 = v6;
    g117 = 7;
    int64_t v7 = _3f_IsLevelEnabled_40_wxLog_40__40_SA_NKVwxString_40__40__40_Z(7, v6); // 0x18000917c
    g114 = v7;
    int64_t result; // 0x1800092c8
    if ((char)v7 != 0) {
        // 0x18000918a
        g114 = v5;
        int64_t v8 = v5; // bp+24
        g119 = (int64_t)"%s";
        int64_t v9; // bp-240
        int64_t v10 = &v9; // 0x1800091a1
        g117 = v10;
        g114 = _3f__3f_0wxFormatString_40__40_QEAA_40_PEBD_40_Z(&v9, "%s");
        int64_t v11 = g116; // 0x1800091ad
        g119 = v11;
        g117 = v5;
        g118 = _3f__3f_0wxString_40__40_QEAA_40_AEBV0_40__40_Z(0x100000000 * v5 / 0x100000000, v11);
        int32_t v12 = 7; // bp-200
        g114 = (int64_t)"wxProtocolLog::DoLogString";
        g117 = 0;
        g114 = _time64(NULL);
        g114 = _3f_GetCurrentId_40_wxThread_40__40_SAKXZ();
        int64_t v13; // bp-136
        int64_t v14 = &v13; // 0x18000921c
        g117 = v14;
        g114 = _3f__3f_0wxString_40__40_QEAA_40_XZ(v14);
        g112 = v10;
        int64_t v15 = g118; // 0x180009236
        g119 = v15;
        int64_t v16 = &v8; // 0x180009239
        g117 = v16;
        int64_t v17 = _3f__3f_0_3f__24_wxArgNormalizerWchar_40_AEBVwxString_40__40__40__40_QEAA_40_AEBVwxString_40__40_PEBVwxFormatString_40__40_I_40_Z(&v8, v15, &v9, 1); // 0x180009241
        g114 = v17;
        g117 = v16;
        int64_t v18 = _3f_get_40__3f__24_wxArgNormalizerWchar_40_AEBVwxString_40__40__40__40_QEBAPEB_WXZ(&v8); // 0x18000924f
        g114 = v18;
        g116 = v18;
        g117 = v10;
        int64_t v19 = _3f__3f_BwxFormatString_40__40_QEBAPEB_WXZ(v10); // 0x18000925d
        g114 = v19;
        g112 = v19;
        int64_t v20 = g120 + 8; // 0x180009266
        g119 = v20;
        g117 = &v12;
        g114 = function_180009010(&v12, v20, v19, g116);
        g117 = g118;
        g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(g118, v20, v19);
        g117 = v14;
        g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v14, v20, v19);
        g116 = 0;
        v8 = 0;
        g117 = v10;
        result = _3f__3f_1wxFormatString_40__40_QEAA_40_XZ(&v9);
        g114 = result;
    } else {
        result = v7;
    }
    // 0x1800092ce
    g116 = v3;
    g120 = v2;
    return result;
}
 
// Address range: 0x1800092f0 - 0x1800095b7
// Demangled:     public: static wxProtocol::ReadLine
int64_t _3f_ReadLine_40_wxProtocol_40__40_SA_3f_AW4wxProtocolError_40__40_PEAVwxSocketBase_40__40_AEAVwxString_40__40__40_Z(int64_t a1, int64_t * a2, int64_t a3) {
    // 0x1800092f0
    g112 = a3;
    int64_t v1 = (int64_t)a2;
    g119 = v1;
    g117 = a1;
    int64_t v2;
    g114 = &v2;
    int64_t v3 = g118; // 0x1800092f3
    int64_t v4 = g108; // 0x1800092f4
    int64_t v5 = g109; // 0x1800092f6
    int64_t v6 = g110; // 0x1800092f8
    int64_t v7 = g116; // 0x180009309
    int64_t v8 = g115; // 0x18000930d
    int64_t v9 = g120; // 0x180009311
    g109 = v1;
    g108 = g117;
    g117 = v1;
    g114 = _3f_clear_40_wxString_40__40_QEAAXXZ(v1);
    g114 = _3f_GetUntypedNullData_40_wxPrivate_40__40_YAPEAUUntypedBufferData_40_1_40_XZ(v1);
    g117 = 0x1000;
    int64_t * mem = malloc(0x1000); // 0x180009337
    int64_t v10 = (int64_t)mem; // 0x180009337
    g114 = v10;
    g118 = v10;
    g110 = 1;
    int64_t v11 = 0; // r15
    int64_t v12; // 0x180009389
    if (mem == NULL) {
        // 0x180009389
        v12 = _3f_GetUntypedNullData_40_wxPrivate_40__40_YAPEAUUntypedBufferData_40_1_40_XZ(0x1000);
        g114 = v12;
        g116 = v12;
    } else {
        // 0x18000934e
        *(char *)(v10 + 4095) = 0;
        int64_t v13 = g110 + 23; // 0x180009355
        g117 = v13;
        int64_t v14 = function_18001323c(v13, v1); // 0x180009359
        g114 = v14;
        g116 = v14;
        if (v14 == 0) {
            // 0x18000937c
            g116 = v11;
            v12 = v11;
        } else {
            // 0x180009366
            *(int64_t *)v14 = g118;
            *(int64_t *)(v14 + 8) = 4095;
            *(int16_t *)(v14 + 16) = (int16_t)g110;
            *(char *)(v14 + 18) = (char)g110;
            v12 = g116;
        }
    }
    // 0x18000939a
    g115 = *(int64_t *)v12;
    g112 = 0;
    g119 = 0xffffffff;
    int64_t v15 = g108; // 0x1800093a3
    g117 = v15;
    int64_t v16 = _3f_WaitForRead_40_wxSocketBase_40__40_QEAA_NJJ_40_Z(v15, -1, 0); // 0x1800093a6
    g114 = v16;
    int64_t v17; // bp-96
    int64_t v18; // 0x180009443
    int64_t result; // 0x1800095b6
    int64_t v19; // 0x180009466
    if ((char)v16 == 0) {
      lab_0x180009563:;
        int64_t v20 = _3f_GetUntypedNullData_40_wxPrivate_40__40_YAPEAUUntypedBufferData_40_1_40_XZ(g117); // 0x180009563
        g114 = v20;
        int64_t v21 = g116; // 0x180009569
        if (v21 != v20) {
            // 0x18000956e
            g114 = 0xffff;
            int16_t * v22 = (int16_t *)(v21 + 16); // 0x180009573
            int16_t v23 = *v22 - 1; // 0x180009573
            *v22 = v23;
            if (v23 == 0) {
                int64_t v24 = g116; // 0x180009579
                int64_t v25; // 0x180009588
                if (*(char *)(v24 + 18) != 0) {
                    int64_t v26 = *(int64_t *)v24; // 0x18000957f
                    g117 = v26;
                    free((int64_t *)v26);
                    g114 = &g122;
                    v25 = g116;
                } else {
                    v25 = v24;
                }
                // 0x180009588
                g117 = v25;
                g114 = function_18001310e(v25);
            }
            // 0x180009590
            g114 = _3f_GetUntypedNullData_40_wxPrivate_40__40_YAPEAUUntypedBufferData_40_1_40_XZ(g117);
        }
        // 0x180009596
        g114 = g110;
        result = g110;
    } else {
        // 0x1800093b3
        v19 = &v17;
        while (true) {
          lab_0x1800093b3:
            // 0x1800093b3
            g112 = 4095;
            int64_t v27 = g115; // 0x1800093b9
            g119 = v27;
            int64_t v28 = g108; // 0x1800093bc
            g117 = v28;
            g114 = _3f_Peek_40_wxSocketBase_40__40_QEAAAEAV1_40_PEAXI_40_Z(v28, v27, 4095);
            int64_t v29 = g108; // 0x1800093c4
            uint32_t v30 = *(int32_t *)(v29 + 40); // 0x1800093c4
            int64_t v31 = v30; // 0x1800093c4
            g118 = v31;
            int64_t v32; // 0x1800093de
            if (v30 == 0) {
                // 0x1800093ce
                g117 = v29;
                int64_t v33 = _3f_LastError_40_wxSocketBase_40__40_QEBA_3f_AW4wxSocketError_40__40_XZ(v29); // 0x1800093d1
                g114 = v33;
                if ((int32_t)v33 != 0) {
                    // break -> 0x1800094aa
                    break;
                }
                // 0x1800093ce
                v32 = g118;
            } else {
                v32 = v31;
            }
            // 0x1800093de
            *(char *)(g115 + v32) = 0;
            g119 = 10;
            int64_t str = g115; // 0x1800093e7
            g117 = str;
            char * found_char_pos = strchr((char *)str, 10); // 0x1800093ea
            int64_t v34 = (int64_t)found_char_pos; // 0x1800093ea
            g114 = v34;
            g120 = v34;
            if (found_char_pos == NULL) {
                // 0x1800093de
                v18 = g118;
                goto lab_0x180009443;
            } else {
                int64_t v35 = v34 - g115; // 0x1800093f8
                if (v35 != 0) {
                    int64_t v36 = v35 + 1; // 0x180009438
                    g118 = v36;
                    g120 = *(char *)(v34 - 1) != 13 ? v11 : v34;
                    v18 = v36;
                    goto lab_0x180009443;
                } else {
                    int64_t v37 = g109; // 0x1800093fd
                    g117 = v37;
                    int64_t v38 = _3f_empty_40_wxString_40__40_QEBA_NXZ(v37, 10); // 0x180009400
                    g114 = v38;
                    if ((char)v38 != 0) {
                        // 0x18000942a
                        g120 = v11;
                        goto lab_0x18000942d;
                    } else {
                        // 0x18000940a
                        int64_t v39; // bp-112
                        g119 = &v39;
                        int64_t v40 = g109; // 0x18000940f
                        g117 = v40;
                        int64_t v41 = _3f_Last_40_wxString_40__40_QEAA_3f_AVwxUniCharRef_40__40_XZ(v40, &v39); // 0x180009412
                        g114 = v41;
                        g117 = v41;
                        g119 = 13;
                        int64_t v42 = _3f__3f_9wxUniCharRef_40__40_QEBA_N_W_40_Z(v41, 13); // 0x180009420
                        g114 = v42;
                        if ((char)v42 == 0) {
                            goto lab_0x18000942d;
                        } else {
                            // 0x18000942a
                            g120 = v11;
                            goto lab_0x18000942d;
                        }
                    }
                }
            }
        }
        int64_t v43 = _3f_GetUntypedNullData_40_wxPrivate_40__40_YAPEAUUntypedBufferData_40_1_40_XZ(g117); // 0x1800094aa
        g114 = v43;
        int64_t v44 = g116; // 0x1800094b0
        if (v44 != v43) {
            // 0x1800094b5
            g114 = 0xffff;
            int16_t * v45 = (int16_t *)(v44 + 16); // 0x1800094ba
            int16_t v46 = *v45 - 1; // 0x1800094ba
            *v45 = v46;
            if (v46 == 0) {
                int64_t v47 = g116; // 0x1800094c0
                int64_t v48; // 0x1800094cf
                if (*(char *)(v47 + 18) != 0) {
                    int64_t v49 = *(int64_t *)v47; // 0x1800094c6
                    g117 = v49;
                    free((int64_t *)v49);
                    g114 = &g122;
                    v48 = g116;
                } else {
                    v48 = v47;
                }
                // 0x1800094cf
                g117 = v48;
                g114 = function_18001310e(v48);
            }
            // 0x1800094d7
            g114 = _3f_GetUntypedNullData_40_wxPrivate_40__40_YAPEAUUntypedBufferData_40_1_40_XZ(g117);
        }
        // 0x1800094dd
        g114 = g110;
        result = g110;
    }
    goto lab_0x180009599;
  lab_0x180009443:
    // 0x180009443
    g112 = v18;
    int64_t v52 = g115; // 0x180009446
    g119 = v52;
    int64_t v53 = g108; // 0x180009449
    g117 = v53;
    int64_t v54 = 0x100000000 * v18 / 0x100000000; // 0x18000944c
    g114 = _3f_Read_40_wxSocketBase_40__40_QEAAAEAV1_40_PEAXI_40_Z(v53, v52, v54);
    int64_t v55 = (int64_t)*(int32_t *)(g108 + 40); // 0x180009451
    g114 = v55;
    int64_t v56 = g118; // 0x180009456
    int64_t v50; // 0x180009550
    if (v55 != v56) {
        int64_t v57 = _3f_GetUntypedNullData_40_wxPrivate_40__40_YAPEAUUntypedBufferData_40_1_40_XZ(g117); // 0x18000952b
        g114 = v57;
        int64_t v58 = g116; // 0x180009531
        if (v58 == v57) {
            goto lab_0x18000955e;
        } else {
            // 0x180009536
            g114 = 0xffff;
            int16_t * v59 = (int16_t *)(v58 + 16); // 0x18000953b
            int16_t v60 = *v59 - 1; // 0x18000953b
            *v59 = v60;
            if (v60 != 0) {
                goto lab_0x180009558;
            } else {
                int64_t v61 = g116; // 0x180009541
                if (*(char *)(v61 + 18) == 0) {
                    v50 = v61;
                    goto lab_0x180009550;
                } else {
                    int64_t v62 = *(int64_t *)v61; // 0x180009547
                    g117 = v62;
                    free((int64_t *)v62);
                    g114 = &g122;
                    v50 = g116;
                    goto lab_0x180009550;
                }
            }
        }
    }
    // 0x18000945f
    *(char *)(g115 + v56) = 0;
    int64_t v63 = g115; // 0x180009463
    g119 = v63;
    g117 = v19;
    int64_t v64 = _3f_FromAscii_40_wxString_40__40_SA_3f_AV1_40_PEBD_40_Z(&v17, v63); // 0x18000946b
    g114 = v64;
    g119 = v64;
    int64_t v65 = g109; // 0x180009475
    g117 = v65;
    g114 = _3f__3f_YwxString_40__40_QEAAAEAV0_40_AEBV0_40__40_Z(v65, (int64_t *)v64);
    g117 = v19;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v19, v64, v54);
    int64_t v51; // 0x180009519
    if (g120 != 0) {
        // 0x1800094e5
        g119 = 2;
        g117 = g109;
        g114 = _3f_RemoveLast_40_wxString_40__40_QEAAAEAV1_40__K_40_Z(g109, 2);
        int64_t v66 = _3f_GetUntypedNullData_40_wxPrivate_40__40_YAPEAUUntypedBufferData_40_1_40_XZ(g117); // 0x1800094f4
        g114 = v66;
        int64_t v67 = g116; // 0x1800094fa
        if (v67 == v66) {
            // 0x180009527
            g114 = 0;
            result = 0;
            goto lab_0x180009599;
        } else {
            // 0x1800094ff
            g114 = 0xffff;
            int16_t * v68 = (int16_t *)(v67 + 16); // 0x180009504
            int16_t v69 = *v68 - 1; // 0x180009504
            *v68 = v69;
            if (v69 != 0) {
                goto lab_0x180009521;
            } else {
                int64_t v70 = g116; // 0x18000950a
                if (*(char *)(v70 + 18) == 0) {
                    v51 = v70;
                    goto lab_0x180009519;
                } else {
                    int64_t v71 = *(int64_t *)v70; // 0x180009510
                    g117 = v71;
                    free((int64_t *)v71);
                    g114 = &g122;
                    v51 = g116;
                    goto lab_0x180009519;
                }
            }
        }
    }
    // 0x18000948f
    g112 = 0;
    g119 = 0xffffffff;
    int64_t v72 = g108; // 0x180009495
    g117 = v72;
    int64_t v73 = _3f_WaitForRead_40_wxSocketBase_40__40_QEAA_NJJ_40_Z(v72, -1, 0); // 0x180009498
    g114 = v73;
    if ((char)v73 == 0) {
        goto lab_0x180009563;
    }
    goto lab_0x1800093b3;
  lab_0x18000942d:;
    int64_t v74 = g110; // 0x18000942d
    g118 = v74;
    v18 = v74;
    goto lab_0x180009443;
  lab_0x180009599:
    // 0x180009599
    g116 = v7;
    g115 = v8;
    g120 = v9;
    g110 = v6;
    g109 = v5;
    g108 = v4;
    g118 = v3;
    return result;
  lab_0x18000955e:
    // 0x18000955e
    g114 = g110;
    result = g110;
    goto lab_0x180009599;
  lab_0x180009558:
    // 0x180009558
    g114 = _3f_GetUntypedNullData_40_wxPrivate_40__40_YAPEAUUntypedBufferData_40_1_40_XZ(g117);
    goto lab_0x18000955e;
  lab_0x180009550:
    // 0x180009550
    g117 = v50;
    g114 = function_18001310e(v50);
    goto lab_0x180009558;
  lab_0x180009521:
    // 0x180009521
    g114 = _3f_GetUntypedNullData_40_wxPrivate_40__40_YAPEAUUntypedBufferData_40_1_40_XZ(g117);
    // 0x180009527
    g114 = 0;
    result = 0;
    goto lab_0x180009599;
  lab_0x180009519:
    // 0x180009519
    g117 = v51;
    g114 = function_18001310e(v51);
    goto lab_0x180009521;
}
 
// Address range: 0x1800095c0 - 0x1800095c5
// Demangled:     public: virtual wxProtocol::ReadLine
int64_t _3f_ReadLine_40_wxProtocol_40__40_UEAA_3f_AW4wxProtocolError_40__40_AEAVwxString_40__40__40_Z(void) {
    int64_t result = _3f_ReadLine_40_wxProtocol_40__40_SA_3f_AW4wxProtocolError_40__40_PEAVwxSocketBase_40__40_AEAVwxString_40__40__40_Z(g117, (int64_t *)g119, g112); // 0x1800095c0
    g114 = result;
    return result;
}
 
// Address range: 0x1800095d0 - 0x1800095db
void function_1800095d0(int64_t * ptr) {
    int64_t v1 = (int64_t)ptr;
    g117 = v1;
    g117 = *(int64_t *)(v1 + 8);
    free(ptr);
    g114 = &g122;
}
 
// Address range: 0x1800095e0 - 0x180009653
int64_t function_1800095e0(int64_t a1, int64_t a2) {
    // 0x1800095e0
    g119 = a2;
    g117 = a1;
    int64_t v1 = g120; // 0x1800095e5
    uint32_t v2 = *(int32_t *)&g119; // 0x1800095ea
    g114 = v2;
    int64_t v3 = g117; // 0x1800095ec
    g120 = v3;
    *(int32_t *)v3 = v2;
    int64_t v4 = g119; // 0x1800095f1
    int64_t v5 = *(int64_t *)(v4 + 8); // 0x1800095f1
    if (v5 == 0) {
        // 0x18000963f
        g114 = 0;
        *(int64_t *)(g117 + 8) = 0;
        *(int32_t *)(g117 + 16) = (int32_t)g114;
        g120 = v1;
        return g114;
    }
    int32_t size = *(int32_t *)(v4 + 16); // 0x180009604
    int64_t v6 = size; // 0x180009604
    g119 = v6;
    g117 = 1;
    int64_t * mem = calloc(1, size); // 0x180009610
    int64_t v7 = (int64_t)mem; // 0x180009610
    g114 = v7;
    g112 = v6;
    g119 = v5;
    g117 = v7;
    *(int64_t *)(g120 + 8) = v7;
    *(int32_t *)(g120 + 16) = (int32_t)v6;
    g120 = v1;
    int64_t dest_mem = (int64_t)memcpy(mem, (int64_t *)v5, size); // 0x18000963a
    g114 = dest_mem;
    return dest_mem;
}
 
// Address range: 0x180009660 - 0x180009668
// Demangled:     public: virtual wxSockAddress::GetClassInfo
int64_t _3f_GetClassInfo_40_wxSockAddress_40__40_UEBAPEAVwxClassInfo_40__40_XZ(void) {
    // 0x180009660
    g114 = 0x18002ebf0;
    return 0x18002ebf0;
}
 
// Address range: 0x180009670 - 0x180009678
// Demangled:     public: virtual wxIPaddress::GetClassInfo
int64_t _3f_GetClassInfo_40_wxIPaddress_40__40_UEBAPEAVwxClassInfo_40__40_XZ(void) {
    // 0x180009670
    g114 = 0x18002ec20;
    return 0x18002ec20;
}
 
// Address range: 0x180009680 - 0x180009688
// Demangled:     public: virtual wxIPV4address::GetClassInfo
int64_t _3f_GetClassInfo_40_wxIPV4address_40__40_UEBAPEAVwxClassInfo_40__40_XZ(void) {
    // 0x180009680
    g114 = 0x18002ec50;
    return 0x18002ec50;
}
 
// Address range: 0x180009690 - 0x1800098b7
int64_t function_180009690(int64_t * a1, int64_t a2, int64_t * a3, int64_t a4, int32_t * a5) {
    // 0x180009690
    g113 = a4;
    g112 = (int64_t)a3;
    g119 = a2;
    g117 = (int64_t)a1;
    int64_t v1 = g112; // 0x180009695
    int64_t v2 = g116; // 0x18000969a
    int64_t v3 = g119; // 0x1800096a2
    g114 = v3;
    int64_t v4 = g117; // 0x1800096a5
    *(int64_t *)v4 = v3;
    int64_t v5 = *(int64_t *)(g119 + 8); // 0x1800096ae
    g114 = v5;
    *(int64_t *)(g117 + 8) = v5;
    int64_t v6 = *(int64_t *)(g119 + 16); // 0x1800096b6
    g114 = v6;
    *(int64_t *)(g117 + 16) = v6;
    *(int64_t *)(g117 + 24) = *(int64_t *)(g119 + 24);
    int64_t v7 = g117; // 0x1800096c6
    g119 = v7;
    g117 = -1;
    g114 = 0;
    int64_t v8 = v7; // 0x1800096d2
    int64_t v9 = -1; // 0x1800096d2
    int64_t v10; // 0x1800096d4
    while (true) {
        if (v9 == 0) {
            v10 = 0;
            // break -> bb72
            break;
        }
        int64_t v11 = v9 - 1; // 0x1800096d2
        g117 = v11;
        if (*(char *)v8 == 0) {
            v10 = v11;
            // break -> bb72
            break;
        }
        v8 += (g1 ? -1 : 1);
        v9 = v11;
    }
    int64_t v12 = -2 - v10; // 0x1800096d7
    g117 = v12;
    g116 = v12;
    if (v12 > g113) {
        // 0x1800096e2
        *a5 = 12;
        g114 = 0;
        g116 = v2;
        return 0;
    }
    int64_t v13 = g120; // 0x180009703
    g117 = v1;
    g112 = v12;
    g114 = (int64_t)memcpy((int64_t *)v1, (int64_t *)v7, (int32_t)v12);
    g112 = v1;
    int64_t v14 = 8; // r15
    g120 = g116 + 1;
    *(char *)(v12 + v1) = 0;
    int64_t v15 = (int64_t)*(int16_t *)(v4 + 18); // r13
    g114 = g120 & 7;
    g117 = v14;
    *(int64_t *)v4 = g112;
    uint32_t v16 = (int32_t)g117 - (int32_t)g114; // 0x180009745
    g117 = v16;
    int64_t v17 = v14; // 0x180009747
    int64_t v18 = g120;
    int64_t v19; // 0x18000974c
    if (v16 < (int32_t)v17) {
        // 0x18000974c
        v19 = (int32_t)v18 + v16;
        g120 = v19;
    } else {
        v19 = v18;
    }
    int64_t v20 = *(int64_t *)(v4 + 24); // 0x18000974e
    int64_t v21 = v20; // rbp
    int64_t v22 = g112 + v19; // 0x180009755
    g117 = v22;
    int64_t * v23 = (int64_t *)v20; // 0x180009758
    g114 = v20;
    int64_t v24; // 0x180009788
    if (*v23 != 0) {
        int64_t v25 = v20 + v17; // 0x180009770
        g114 = v25;
        int64_t v26 = v19 + v17 & 0xffffffff; // 0x180009773
        g120 = v26;
        while (*(int64_t *)v25 != 0) {
            // 0x180009770
            v25 += v17;
            g114 = v25;
            v26 = v26 + v17 & 0xffffffff;
            g120 = v26;
        }
        v24 = v26;
    } else {
        v24 = v19;
    }
    int64_t v27 = v22; // r12
    int64_t v28 = *v23; // 0x18000977f
    g117 = v28;
    int64_t v29; // 0x1800097d2
    if (v28 == 0) {
        v29 = v22;
        goto lab_0x1800097cd;
    } else {
        int64_t v30 = v15 + v24; // 0x180009788
        g116 = v30;
        int64_t v31 = v24; // 0x18000979d
        while (true) {
            if (g113 < v30) {
                // break -> 0x1800098a5
                break;
            }
            // 0x18000979a
            g119 = v28;
            int64_t v32 = g112 + v31; // 0x1800097a0
            g112 = v15;
            g117 = v32;
            g114 = (int64_t)memcpy((int64_t *)v32, (int64_t *)v28, (int32_t)v15);
            g112 = v1;
            v21 += 8;
            *(int64_t *)v27 = v32;
            int64_t v33 = *(int64_t *)v21; // 0x1800097bb
            g117 = v33;
            int64_t v34 = v15 + g120 & 0xffffffff; // 0x1800097bf
            g120 = v34;
            int64_t v35 = g116 + v15 & 0xffffffff; // 0x1800097c2
            g116 = v35;
            int64_t v36 = v14 + v27; // 0x1800097c5
            v27 = v36;
            if (v33 == 0) {
                v29 = v36;
                goto lab_0x1800097cd;
            }
            v31 = v34;
            v28 = v33;
            v30 = v35;
        }
        goto lab_0x1800098a5;
    }
  lab_0x1800097cd:
    // 0x1800097cd
    g114 = v22;
    *(int64_t *)(v29 + 8) = 0;
    *(int64_t *)(v4 + 24) = g114;
    int64_t v37 = g120; // 0x1800097df
    int32_t v38 = v37; // 0x1800097e1
    uint32_t v39 = v38 & 7; // 0x1800097e1
    g114 = v39;
    uint32_t v40 = (int32_t)v14 - v39; // 0x1800097e4
    int64_t v41; // 0x1800097ed
    if (v40 < 8) {
        // 0x1800097ed
        v41 = v40 + v38;
        g120 = v41;
    } else {
        v41 = v37;
    }
    int64_t v42 = *(int64_t *)(v4 + 8); // 0x1800097f0
    v14 = v42;
    int64_t v43 = g112 + v41; // 0x1800097f7
    int64_t * v44 = (int64_t *)v42; // 0x1800097fa
    g114 = v42;
    if (*v44 != 0) {
        int64_t v45; // 0x180009803
        int64_t v46 = v45 + 8; // 0x180009803
        g114 = v46;
        int64_t v47; // 0x180009807
        g120 = v47 + 8 & 0xffffffff;
        while (*(int64_t *)v46 != 0) {
            // 0x180009803
            int64_t v48; // 0x180009807
            v47 = v48;
            v45 = v46;
            v46 = v45 + 8;
            g114 = v46;
            v48 = v47 + 8 & 0xffffffff;
            g120 = v48;
            int64_t v49 = *(int64_t *)v46; // 0x18000980a
        }
    }
    int64_t v50 = *v44; // 0x180009810
    g119 = v50;
    v15 = v43;
    int64_t v51; // 0x180009874
    if (v50 == 0) {
        v51 = v43;
        goto lab_0x180009874;
    } else {
        int64_t v52 = v41; // 0x18000983d
        while (true) {
            // 0x180009820
            g117 = -1;
            g114 = 0;
            int64_t v53 = v50; // 0x180009829
            int64_t v54 = -1; // 0x180009829
            int64_t v55; // 0x18000982b
            while (true) {
                if (v54 == 0) {
                    v55 = 0;
                    // break -> bb77
                    break;
                }
                int64_t v56 = (g1 ? -1 : 1) + v53; // 0x180009829
                int64_t v57 = v54 - 1; // 0x180009829
                g117 = v57;
                if (*(char *)v53 == 0) {
                    v55 = v57;
                    // break -> bb77
                    break;
                }
                v53 = v56;
                v54 = v57;
            }
            int64_t v58 = -2 - v55; // 0x18000982e
            g117 = v58;
            int64_t v59 = v58 + v52; // 0x180009831
            if (g113 <= v59) {
                // break -> 0x1800098a5
                break;
            }
            // 0x18000983a
            g116 = v58;
            int64_t v60 = g112 + v52; // 0x180009840
            g120 = v60;
            g112 = v58;
            g117 = v60;
            g114 = (int64_t)memcpy((int64_t *)v60, (int64_t *)v50, (int32_t)v58);
            g112 = v1;
            int64_t v61 = g116 + v52; // 0x180009854
            g119 = v61;
            v14 += 8;
            *(char *)(v61 + v1) = 0;
            *(int64_t *)v15 = g120;
            int64_t v62 = *(int64_t *)v14; // 0x180009865
            g119 = v62;
            int64_t v63 = v15 + 8; // 0x180009868
            v15 = v63;
            int64_t v64 = v59 + 1; // 0x18000986c
            g120 = v64;
            if (v62 == 0) {
                v51 = v63;
                goto lab_0x180009874;
            }
            v52 = v64;
            v50 = v62;
        }
        goto lab_0x1800098a5;
    }
  lab_0x180009874:
    // 0x180009874
    *(int64_t *)(v51 + 8) = 0;
    g114 = v4;
    *(int64_t *)(v4 + 8) = v43;
    int64_t result = g114; // 0x1800098a4
    goto lab_0x180009883;
  lab_0x1800098a5:
    // 0x1800098a5
    *a5 = 12;
    g114 = 0;
    result = 0;
    goto lab_0x180009883;
  lab_0x180009883:
    // 0x180009883
    g120 = v13;
    g116 = v2;
    return result;
}
 
// Address range: 0x1800098c0 - 0x180009a62
int64_t function_1800098c0(int64_t * a1, int64_t a2, int64_t * a3, int64_t a4) {
    // 0x1800098c0
    g113 = a4;
    g112 = (int64_t)a3;
    g119 = a2;
    g117 = (int64_t)a1;
    int64_t v1 = g113; // 0x1800098c0
    int64_t v2 = g112; // 0x1800098c5
    int64_t v3 = g116; // 0x1800098ca
    int64_t v4 = g120; // 0x1800098cc
    int64_t v5 = g119; // 0x1800098d4
    g114 = v5;
    int64_t v6 = g117; // 0x1800098d7
    g120 = v1;
    *(int64_t *)v6 = v5;
    int64_t v7 = *(int64_t *)(g119 + 8); // 0x1800098e0
    g114 = v7;
    int64_t v8 = g112; // rbp
    *(int64_t *)(g117 + 8) = v7;
    int64_t v9 = *(int64_t *)(g119 + 16); // 0x1800098eb
    g114 = v9;
    *(int64_t *)(g117 + 16) = v9;
    *(int64_t *)(g117 + 24) = *(int64_t *)(g119 + 24);
    int64_t v10 = g117; // 0x1800098fb
    g119 = v10;
    g117 = -1;
    g114 = 0;
    int64_t v11 = v10; // 0x180009907
    int64_t v12 = -1; // 0x180009907
    int64_t v13; // 0x180009909
    while (true) {
        if (v12 == 0) {
            v13 = 0;
            // break -> bb56
            break;
        }
        int64_t v14 = v12 - 1; // 0x180009907
        g117 = v14;
        if (*(char *)v11 == 0) {
            v13 = v14;
            // break -> bb56
            break;
        }
        v11 += (g1 ? -1 : 1);
        v12 = v14;
    }
    int64_t v15 = -2 - v13; // 0x18000990c
    g117 = v15;
    g116 = v15;
    if (v15 >= g113) {
        // 0x180009a57
        g120 = v4;
        g116 = v3;
        return 0;
    }
    // 0x18000991b
    g117 = v8;
    g112 = v15;
    g114 = (int64_t)memcpy((int64_t *)v8, (int64_t *)v10, (int32_t)v15);
    *(char *)(v8 + v15) = 0;
    int64_t v16 = *(int64_t *)(v6 + 16); // 0x180009932
    g113 = v16;
    g117 = -1;
    g114 = 0;
    *(int64_t *)v6 = v8;
    int64_t v17 = g117; // 0x180009943
    int64_t v18; // 0x180009948
    while (true) {
        if (v17 == 0) {
            v18 = 0;
            // break -> bb59
            break;
        }
        int64_t v19 = v16; // 0x180009943
        v16 = (g1 ? -1 : 1) + v19;
        int64_t v20 = v17 - 1; // 0x180009943
        g117 = v20;
        if ((char)g114 == *(char *)v19) {
            v18 = v20;
            // break -> bb59
            break;
        }
        v17 = v20;
    }
    int64_t v21 = g116 + 1; // 0x180009945
    g119 = v21;
    int64_t v22 = -2 - v18; // 0x18000994b
    g117 = v22;
    int64_t v23 = v21 + v22; // 0x18000994e
    if (v23 < g120) {
        // 0x18000995b
        g116 = v22;
        g119 = g113;
        int64_t v24 = v8 + v21; // 0x180009964
        g120 = v24;
        g112 = v22;
        g117 = v24;
        memcpy((int64_t *)v24, (int64_t *)g113, (int32_t)v22);
        int64_t v25 = v23 + 1; // 0x18000997d
        g112 = v25;
        int64_t v26 = g116 + v21; // 0x180009982
        g119 = v26;
        g114 = v25;
        g117 = 8;
        *(char *)(v8 + v26) = 0;
        g114 &= 7;
        *(int64_t *)(v6 + 16) = g120;
        uint32_t v27 = (int32_t)g117 - (int32_t)g114; // 0x180009999
        g117 = v27;
        int64_t v28 = g112;
        int64_t v29; // 0x1800099a0
        if (v27 < 8) {
            // 0x1800099a0
            v29 = (int32_t)v28 + v27;
            g112 = v29;
        } else {
            v29 = v28;
        }
        int64_t v30 = *(int64_t *)(v6 + 8); // 0x1800099a3
        int64_t v31 = v30; // r15
        int64_t v32 = v8 + v29; // 0x1800099aa
        int64_t * v33 = (int64_t *)v30; // 0x1800099ad
        g114 = v30;
        int64_t v34; // 0x1800099f121
        if (*v33 != 0) {
            int64_t v35 = v30 + 8; // 0x1800099c0
            g114 = v35;
            int64_t v36 = v29 + 8 & 0xffffffff; // 0x1800099c4
            g112 = v36;
            while (*(int64_t *)v35 != 0) {
                // 0x1800099c0
                v35 += 8;
                g114 = v35;
                v36 = v36 + 8 & 0xffffffff;
                g112 = v36;
            }
            v34 = v36;
        } else {
            v34 = v29;
        }
        int64_t v37 = *v33; // 0x1800099ce
        g119 = v37;
        int64_t v38 = v32; // r14
        int64_t v39; // 0x180009a39
        if (v37 == 0) {
            v39 = v32;
          lab_0x180009a39:
            // 0x180009a39
            *(int64_t *)(v39 + 8) = 0;
            g114 = v6;
            *(int64_t *)(v6 + 8) = v32;
        } else {
            int64_t v40 = v34; // 0x180009a00
            while (true) {
                // 0x1800099e0
                g117 = -1;
                g114 = 0;
                int64_t v41 = v37; // 0x1800099e9
                int64_t v42 = -1; // 0x1800099e9
                int64_t v43; // 0x1800099eb
                while (true) {
                    if (v42 == 0) {
                        v43 = 0;
                        // break -> bb63
                        break;
                    }
                    int64_t v44 = (g1 ? -1 : 1) + v41; // 0x1800099e9
                    int64_t v45 = v42 - 1; // 0x1800099e9
                    g117 = v45;
                    if (*(char *)v41 == 0) {
                        v43 = v45;
                        // break -> bb63
                        break;
                    }
                    v41 = v44;
                    v42 = v45;
                }
                int64_t v46 = -2 - v43; // 0x1800099ee
                g117 = v46;
                int64_t v47 = v46 + v40; // 0x1800099f1
                if (v1 <= v47) {
                    // break -> 0x180009a48
                    break;
                }
                // 0x1800099fb
                g114 = v2;
                g116 = v46;
                int64_t v48 = v40 + v2; // 0x180009a06
                g120 = v48;
                g112 = v46;
                g117 = v48;
                memcpy((int64_t *)v48, (int64_t *)v37, (int32_t)v46);
                g114 = v2;
                int64_t v49 = g116 + v40; // 0x180009a1a
                g119 = v49;
                v31 += 8;
                *(char *)(v49 + v2) = 0;
                *(int64_t *)v38 = g120;
                int64_t v50 = *(int64_t *)v31; // 0x180009a29
                g119 = v50;
                int64_t v51 = v38 + 8; // 0x180009a2c
                v38 = v51;
                int64_t v52 = v47 + 1; // 0x180009a30
                g112 = v52;
                if (v50 == 0) {
                    v39 = v51;
                    goto lab_0x180009a39;
                }
                v40 = v52;
                v37 = v50;
            }
        }
    }
    // 0x180009a57
    g120 = v4;
    g116 = v3;
    return g114;
}
 
// Address range: 0x180009a70 - 0x180009a79
// Demangled:     public: wxSockAddress::GetAddressData
int64_t _3f_GetAddressData_40_wxSockAddress_40__40_QEBAPEBUsockaddr_40__40_XZ(int64_t a1) {
    // 0x180009a70
    g117 = a1;
    int64_t v1 = *(int64_t *)(a1 + 16); // 0x180009a70
    g114 = v1;
    int64_t result = *(int64_t *)(v1 + 8); // 0x180009a74
    g114 = result;
    return result;
}
 
// Address range: 0x180009a80 - 0x180009a88
// Demangled:     public: wxSockAddress::GetAddressDataLen
int64_t _3f_GetAddressDataLen_40_wxSockAddress_40__40_QEBAHXZ(int64_t a1) {
    // 0x180009a80
    g117 = a1;
    int64_t v1 = *(int64_t *)(a1 + 16); // 0x180009a80
    g114 = v1;
    int64_t result = (int64_t)*(int32_t *)(v1 + 16); // 0x180009a84
    g114 = result;
    return result;
}
 
// Address range: 0x180009a90 - 0x180009bbd
int64_t function_180009a90(int64_t a1, int64_t a2) {
    // 0x180009a90
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x180009a90
    int64_t v2; // bp-1144
    int64_t v3 = g61 ^ (int64_t)&v2; // 0x180009aa0
    g114 = v3;
    int32_t v4 = 0; // bp-1096
    g116 = g119;
    if (*(int32_t *)&g117 != 2) {
        int64_t v5 = *(int64_t *)0x180019440; // 0x180009b64
        g114 = v5;
        if (*(int64_t *)v5 != 0) {
            // 0x180009b71
            g114 = (int64_t)"socket address family mismatch";
            g113 = (int64_t)"static_cast<int>(m_family) == AddressFamily<T>::value";
            g112 = (int64_t)"wxSockAddressImpl::Get";
            g117 = (int64_t)"C:\\BUILD\\wxPython-src-3.0.2.0\\include\\wx/private/sckaddr.h";
            g119 = 268;
            g114 = _3f_wxOnAssert_40__40_YAXPEBDH000_40_Z("C:\\BUILD\\wxPython-src-3.0.2.0\\include\\wx/private/sckaddr.h", 268, "wxSockAddressImpl::Get", "static_cast<int>(m_family) == AddressFamily<T>::value");
            char * v6 = (char *)*(int64_t *)0x180019430; // 0x180009ba4
            if (*v6 != 0) {
                // 0x180009baa
                *v6 = 0;
                g114 = __asm_int3();
            }
        }
        goto lab_0x180009baf;
    } else {
        int64_t v7 = *(int64_t *)(g117 + 8); // 0x180009abf
        g117 = v7;
        if (v7 == 0) {
            goto lab_0x180009baf;
        } else {
            // 0x180009acc
            g119 = 4;
            int64_t addr = v7 + 4; // 0x180009ad1
            g117 = addr;
            g112 = 2;
            struct hostent * v8 = gethostbyaddr((char *)addr, 4, AF_INET); // 0x180009ae1
            int64_t v9 = (int64_t)v8; // 0x180009ae1
            g114 = v9;
            g114 = WSAGetLastError();
            if (v8 == NULL) {
                goto lab_0x180009b56;
            } else {
                // 0x180009af3
                g114 = &v4;
                int64_t v10; // bp-1048
                g112 = &v10;
                int64_t v11; // bp-1088
                g117 = &v11;
                g119 = v9;
                int64_t v12 = function_180009690(&v11, v9, &v10, 1024, &v4); // 0x180009b10
                g114 = v12;
                if (v12 == 0) {
                    goto lab_0x180009b56;
                } else {
                    int64_t v13 = *(int64_t *)0x180019bf8; // 0x180009b1a
                    g112 = v13;
                    g119 = v11;
                    int64_t v14 = g116; // 0x180009b26
                    g117 = v14;
                    int64_t v15 = *(int64_t *)v13; // 0x180009b29
                    g112 = v15;
                    _3f_FromUTF8_40_wxString_40__40_SA_3f_AV1_40_PEBD_K_40_Z(v14, v11, v15);
                    goto lab_0x180009b3d;
                }
            }
        }
    }
  lab_0x180009baf:;
    int64_t v16 = g116; // 0x180009baf
    g117 = v16;
    _3f__3f_0wxString_40__40_QEAA_40_XZ(v16);
    goto lab_0x180009b3d;
  lab_0x180009b3d:
    // 0x180009b3d
    g114 = g116;
    int64_t v17 = g121 ^ v3; // 0x180009b45
    g117 = v17;
    __security_check_cookie(v17);
    g114 = &g122;
    g116 = v1;
    return &g122;
  lab_0x180009b56:;
    int64_t v18 = g116; // 0x180009b56
    g117 = v18;
    _3f__3f_0wxString_40__40_QEAA_40_XZ(v18);
    goto lab_0x180009b3d;
}
 
// Address range: 0x180009bc0 - 0x180009c49
int64_t function_180009bc0(int64_t a1) {
    // 0x180009bc0
    g117 = a1;
    int64_t v1 = g116; // 0x180009bc0
    int64_t v2 = *(int64_t *)0x180019440; // 0x180009bca
    g114 = v2;
    int64_t v3 = g117; // 0x180009bd1
    g116 = v3;
    if (*(int64_t *)v2 != 0) {
        if ((int32_t)v3 != 0) {
            // 0x180009bdf
            g114 = (int64_t)"recreating address as different type?";
            g113 = (int64_t)"Is(FAMILY_UNSPEC)";
            g112 = (int64_t)"wxSockAddressImpl::CreateINET";
            g117 = (int64_t)"..\\..\\src\\common\\sckaddr.cpp";
            g119 = 504;
            g114 = _3f_wxOnAssert_40__40_YAXPEBDH000_40_Z("..\\..\\src\\common\\sckaddr.cpp", 504, "wxSockAddressImpl::CreateINET", "Is(FAMILY_UNSPEC)");
            char * v4 = (char *)*(int64_t *)0x180019430; // 0x180009c12
            if (*v4 != 0) {
                // 0x180009c18
                *v4 = 0;
                g114 = __asm_int3();
            }
        }
    }
    int64_t v5 = 2; // rdi
    *(int32_t *)g116 = 2;
    int64_t size = v5 + 14; // 0x180009c24
    g119 = size;
    int64_t nmemb = v5 - 1; // 0x180009c27
    g117 = nmemb;
    g114 = (int64_t)calloc((int32_t)nmemb, (int32_t)size);
    *(int32_t *)(g116 + 16) = 16;
    *(int64_t *)(g116 + 8) = g114;
    g116 = v1;
    *(int16_t *)g114 = (int16_t)v5;
    return g114;
}
 
// Address range: 0x180009c50 - 0x180009cc9
int64_t function_180009c50(int64_t a1, int32_t a2) {
    // 0x180009c50
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x180009c50
    int64_t result; // 0x180009cc1
    if (*(int32_t *)&g117 == 2) {
        int64_t v2 = *(int64_t *)(g117 + 8); // 0x180009c5b
        g116 = v2;
        if (v2 == 0) {
            // 0x180009cc1
            result = g114 & -256;
            g114 = result;
            g116 = v1;
            return result;
        }
        int64_t host_long = g119; // 0x180009c64
        g117 = host_long;
        int32_t v3 = htonl((int32_t)host_long); // 0x180009c66
        g114 = v3;
        *(int32_t *)(v2 + 4) = v3;
        int64_t result2 = g114 & -256 | 1; // 0x180009c6e
        g114 = result2;
        g116 = v1;
        return result2;
    }
    int64_t v4 = *(int64_t *)0x180019440; // 0x180009c76
    g114 = v4;
    if (*(int64_t *)v4 == 0) {
        // 0x180009cc1
        result = v4 & -256;
        g114 = result;
        g116 = v1;
        return result;
    }
    // 0x180009c83
    g114 = (int64_t)"socket address family mismatch";
    g113 = (int64_t)"static_cast<int>(m_family) == AddressFamily<T>::value";
    g112 = (int64_t)"wxSockAddressImpl::Get";
    g117 = (int64_t)"C:\\BUILD\\wxPython-src-3.0.2.0\\include\\wx/private/sckaddr.h";
    g119 = 268;
    int64_t v5 = _3f_wxOnAssert_40__40_YAXPEBDH000_40_Z("C:\\BUILD\\wxPython-src-3.0.2.0\\include\\wx/private/sckaddr.h", 268, "wxSockAddressImpl::Get", "static_cast<int>(m_family) == AddressFamily<T>::value"); // 0x180009ca9
    g114 = v5;
    char * v6 = (char *)*(int64_t *)0x180019430; // 0x180009cb6
    int64_t v7; // 0x180009cc0
    if (*v6 != 0) {
        // 0x180009cbc
        *v6 = 0;
        v7 = __asm_int3();
        g114 = v7;
    } else {
        v7 = v5;
    }
    // 0x180009cc1
    result = v7 & -256;
    g114 = result;
    g116 = v1;
    return result;
}
 
// Address range: 0x180009cd0 - 0x180009d41
int64_t function_180009cd0(int64_t a1) {
    // 0x180009cd0
    g117 = a1;
    if (*(int32_t *)&g117 == 2) {
        int64_t v1 = *(int64_t *)(g117 + 8); // 0x180009cd9
        g114 = v1;
        if (v1 == 0) {
            // 0x180009d3a
            g114 = 0;
            return 0;
        }
        uint16_t net_short = *(int16_t *)(v1 + 2); // 0x180009ce2
        g117 = net_short;
        int64_t result = ntohs(net_short); // 0x180009cea
        g114 = result;
        return result;
    }
    int64_t v2 = *(int64_t *)0x180019440; // 0x180009cef
    g114 = v2;
    if (*(int64_t *)v2 == 0) {
        // 0x180009d3a
        g114 = 0;
        return 0;
    }
    // 0x180009cfc
    g114 = (int64_t)"socket address family mismatch";
    g113 = (int64_t)"static_cast<int>(m_family) == AddressFamily<T>::value";
    g112 = (int64_t)"wxSockAddressImpl::Get";
    g117 = (int64_t)"C:\\BUILD\\wxPython-src-3.0.2.0\\include\\wx/private/sckaddr.h";
    g119 = 268;
    g114 = _3f_wxOnAssert_40__40_YAXPEBDH000_40_Z("C:\\BUILD\\wxPython-src-3.0.2.0\\include\\wx/private/sckaddr.h", 268, "wxSockAddressImpl::Get", "static_cast<int>(m_family) == AddressFamily<T>::value");
    char * v3 = (char *)*(int64_t *)0x180019430; // 0x180009d2f
    if (*v3 != 0) {
        // 0x180009d35
        *v3 = 0;
        g114 = __asm_int3();
    }
    // 0x180009d3a
    g114 = 0;
    return 0;
}
 
// Address range: 0x180009d50 - 0x180009dcb
int64_t function_180009d50(int64_t a1, int64_t a2) {
    // 0x180009d50
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x180009d50
    int64_t result; // 0x180009dc3
    if (*(int32_t *)&g117 == 2) {
        int64_t v2 = *(int64_t *)(g117 + 8); // 0x180009d5b
        g116 = v2;
        if (v2 == 0) {
            // 0x180009dc3
            result = g114 & -256;
            g114 = result;
            g116 = v1;
            return result;
        }
        int64_t host_short = g119; // 0x180009d64
        g117 = host_short;
        int16_t v3 = htons((int16_t)host_short); // 0x180009d67
        g114 = v3;
        *(int16_t *)(v2 + 2) = v3;
        int64_t result2 = g114 & -256 | 1; // 0x180009d70
        g114 = result2;
        g116 = v1;
        return result2;
    }
    int64_t v4 = *(int64_t *)0x180019440; // 0x180009d78
    g114 = v4;
    if (*(int64_t *)v4 == 0) {
        // 0x180009dc3
        result = v4 & -256;
        g114 = result;
        g116 = v1;
        return result;
    }
    // 0x180009d85
    g114 = (int64_t)"socket address family mismatch";
    g113 = (int64_t)"static_cast<int>(m_family) == AddressFamily<T>::value";
    g112 = (int64_t)"wxSockAddressImpl::Get";
    g117 = (int64_t)"C:\\BUILD\\wxPython-src-3.0.2.0\\include\\wx/private/sckaddr.h";
    g119 = 268;
    int64_t v5 = _3f_wxOnAssert_40__40_YAXPEBDH000_40_Z("C:\\BUILD\\wxPython-src-3.0.2.0\\include\\wx/private/sckaddr.h", 268, "wxSockAddressImpl::Get", "static_cast<int>(m_family) == AddressFamily<T>::value"); // 0x180009dab
    g114 = v5;
    char * v6 = (char *)*(int64_t *)0x180019430; // 0x180009db8
    int64_t v7; // 0x180009dc2
    if (*v6 != 0) {
        // 0x180009dbe
        *v6 = 0;
        v7 = __asm_int3();
        g114 = v7;
    } else {
        v7 = v5;
    }
    // 0x180009dc3
    result = v7 & -256;
    g114 = result;
    g116 = v1;
    return result;
}
 
// Address range: 0x180009dd0 - 0x180009df1
// Demangled:     private: wxSockAddress::Init
int64_t _3f_Init_40_wxSockAddress_40__40_AEAAXXZ(void) {
    int64_t result = _3f_IsMain_40_wxThread_40__40_SA_NXZ(); // 0x180009dd4
    g114 = result;
    if ((char)result == 0) {
        // 0x180009dec
        return result;
    }
    int64_t v1 = _3f_IsInitialized_40_wxSocketBase_40__40_SA_NXZ(); // 0x180009dde
    g114 = v1;
    int64_t result2; // 0x180009de7
    if ((char)v1 == 0) {
        // 0x180009de7
        result2 = _3f_Initialize_40_wxSocketBase_40__40_SA_NXZ();
        g114 = result2;
    } else {
        result2 = v1;
    }
    // 0x180009dec
    return result2;
}
 
// Address range: 0x180009e00 - 0x180009e6d
// Demangled:     public: wxSockAddress::wxSockAddress
int64_t _3f__3f_0wxSockAddress_40__40_QEAA_40_XZ(int64_t a1) {
    // 0x180009e00
    g117 = a1;
    int64_t v1 = g116; // 0x180009e05
    g116 = a1;
    _3f__3f_0wxObject_40__40_QEAA_40_XZ(a1);
    g114 = &g27;
    *(int64_t *)g116 = (int64_t)&g27;
    int64_t v2 = _3f_IsMain_40_wxThread_40__40_SA_NXZ(); // 0x180009e27
    g114 = v2;
    if ((char)v2 != 0) {
        int64_t v3 = _3f_IsInitialized_40_wxSocketBase_40__40_SA_NXZ(); // 0x180009e31
        g114 = v3;
        if ((char)v3 == 0) {
            // 0x180009e3a
            g114 = _3f_Initialize_40_wxSocketBase_40__40_SA_NXZ();
        }
    }
    // 0x180009e3f
    g117 = 24;
    int64_t v4 = function_18001323c(24, g119); // 0x180009e44
    g114 = v4;
    g117 = 0;
    int64_t v5; // 0x180009e60
    if (v4 == 0) {
        // 0x180009e5b
        g114 = 0;
        v5 = 0;
    } else {
        // 0x180009e4e
        *(int32_t *)v4 = 0;
        *(int64_t *)(g114 + 8) = g117;
        *(int32_t *)(g114 + 16) = (int32_t)g117;
        v5 = g114;
    }
    // 0x180009e60
    *(int64_t *)(g116 + 16) = v5;
    int64_t result = g116; // 0x180009e64
    g114 = result;
    g116 = v1;
    return result;
}
 
// Address range: 0x180009e70 - 0x180009ef5
// Demangled:     public: wxSockAddress::wxSockAddress
int64_t _3f__3f_0wxSockAddress_40__40_QEAA_40_AEBV0_40__40_Z(int64_t a1, int64_t a2) {
    // 0x180009e70
    g119 = a2;
    g117 = a1;
    int64_t v1 = g118; // 0x180009e75
    int64_t v2 = g116; // 0x180009e83
    int64_t v3 = g120; // 0x180009e88
    g120 = a2;
    g118 = a1;
    _3f__3f_0wxObject_40__40_QEAA_40_XZ(a1);
    g114 = &g27;
    *(int64_t *)g118 = (int64_t)&g27;
    int64_t v4 = _3f_IsMain_40_wxThread_40__40_SA_NXZ(); // 0x180009ea4
    g114 = v4;
    if ((char)v4 != 0) {
        int64_t v5 = _3f_IsInitialized_40_wxSocketBase_40__40_SA_NXZ(); // 0x180009eae
        g114 = v5;
        if ((char)v5 == 0) {
            // 0x180009eb7
            g114 = _3f_Initialize_40_wxSocketBase_40__40_SA_NXZ();
        }
    }
    // 0x180009ebc
    g117 = 24;
    int64_t v6 = function_18001323c(24, a2); // 0x180009ec1
    g114 = v6;
    int64_t v7 = 0x100000000 * v6;
    int64_t v8 = v7 / 0x100000000; // 0x180009ec6
    g116 = v8;
    int64_t v9; // 0x180009ede
    if (v7 == 0) {
        // 0x180009edc
        g116 = 0;
        v9 = 0;
    } else {
        int64_t v10 = *(int64_t *)(g120 + 16); // 0x180009ece
        g119 = v10;
        g117 = v8;
        g114 = function_1800095e0(v8, v10);
        v9 = g116;
    }
    // 0x180009ede
    *(int64_t *)(g118 + 16) = v9;
    int64_t result = g118; // 0x180009ee2
    g114 = result;
    g116 = v2;
    g120 = v3;
    g118 = v1;
    return result;
}
 
// Address range: 0x180009f00 - 0x180009f46
// Demangled:     public: virtual wxSockAddress::~wxSockAddress
int64_t _3f__3f_1wxSockAddress_40__40_UEAA_40_XZ(int64_t a1) {
    // 0x180009f00
    g117 = a1;
    int64_t v1 = g116; // 0x180009f00
    int64_t v2 = g117; // 0x180009f0a
    int64_t v3 = *(int64_t *)(v2 + 16); // 0x180009f0a
    g114 = &g27;
    g116 = v2;
    *(int64_t *)v2 = (int64_t)&g27;
    if (v3 != 0) {
        int64_t v4 = *(int64_t *)(v3 + 8); // 0x180009f20
        g117 = v4;
        free((int64_t *)v4);
        g114 = &g122;
        g117 = v3;
        g114 = function_18001310e(v3);
    }
    int64_t v5 = g116; // 0x180009f32
    g117 = v5;
    g116 = v1;
    int64_t result = _3f__3f_1wxObject_40__40_UEAA_40_XZ(v5); // 0x180009f3f
    g114 = result;
    return result;
}
 
// Address range: 0x180009f50 - 0x180009fba
// Demangled:     public: wxSockAddress::SetAddress
int64_t _3f_SetAddress_40_wxSockAddress_40__40_QEAAXAEBVwxSockAddressImpl_40__40__40_Z(int64_t a1, int64_t a2) {
    // 0x180009f50
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x180009f50
    int64_t v2 = g120; // 0x180009f55
    int64_t v3 = g117; // 0x180009f5f
    int64_t v4 = *(int64_t *)(v3 + 16); // 0x180009f5f
    g116 = v4;
    g120 = a2;
    g118 = v3;
    if (v4 == a2) {
        // 0x180009faa
        g116 = v1;
        g120 = v2;
        return g114;
    }
    if (v4 != 0) {
        int64_t v5 = *(int64_t *)(v4 + 8); // 0x180009f73
        g117 = v5;
        free((int64_t *)v5);
        g114 = &g122;
        g117 = v4;
        g114 = function_18001310e(v4);
    }
    // 0x180009f85
    g117 = 24;
    int64_t v6 = function_18001323c(24, a2); // 0x180009f8a
    g114 = v6;
    g116 = v6;
    int64_t v7; // 0x180009fa6
    if (v6 == 0) {
        // 0x180009fa4
        g116 = 0;
        v7 = 0;
    } else {
        int64_t v8 = g120; // 0x180009f97
        g119 = v8;
        g117 = v6;
        g114 = function_1800095e0(v6, v8);
        v7 = g116;
    }
    // 0x180009fa6
    *(int64_t *)(g118 + 16) = v7;
    // 0x180009faa
    g116 = v1;
    g120 = v2;
    return g114;
}
 
// Address range: 0x180009fc0 - 0x18000a02e
// Demangled:     public: wxSockAddress::operator=
int64_t _3f__3f_4wxSockAddress_40__40_QEAAAEAV0_40_AEBV0_40__40_Z(int64_t a1, int64_t a2) {
    // 0x180009fc0
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x180009fc0
    int64_t v2 = g120; // 0x180009fc5
    int64_t v3 = g118; // 0x180009fca
    int64_t v4 = *(int64_t *)(a2 + 16); // 0x180009fcf
    g120 = v4;
    int64_t result = g117; // 0x180009fd3
    int64_t v5 = *(int64_t *)(result + 16); // 0x180009fd3
    g116 = result;
    if (v4 == v5) {
        // 0x18000a01b
        g120 = v2;
        g114 = result;
        g116 = v1;
        g118 = v3;
        return result;
    }
    if (v5 != 0) {
        int64_t v6 = *(int64_t *)(v5 + 8); // 0x180009fe4
        g117 = v6;
        free((int64_t *)v6);
        g114 = &g122;
        g117 = v5;
        g114 = function_18001310e(v5);
    }
    // 0x180009ff6
    g117 = 24;
    int64_t v7 = function_18001323c(24, a2); // 0x180009ffb
    g114 = v7;
    int64_t v8 = 0x100000000 * v7;
    int64_t v9 = v8 / 0x100000000; // 0x18000a000
    g118 = v9;
    int64_t v10; // 0x18000a017
    if (v8 == 0) {
        v10 = 0;
    } else {
        int64_t v11 = g120; // 0x18000a008
        g119 = v11;
        g117 = v9;
        g114 = function_1800095e0(v9, v11);
        v10 = g118;
    }
    // 0x18000a017
    *(int64_t *)(g116 + 16) = v10;
    result = g116;
    // 0x18000a01b
    g120 = v2;
    g114 = result;
    g116 = v1;
    g118 = v3;
    return result;
}
 
// Address range: 0x18000a030 - 0x18000a058
// Demangled:     public: virtual wxSockAddress::Clear
int64_t _3f_Clear_40_wxSockAddress_40__40_UEAAXXZ(int64_t a1) {
    // 0x18000a030
    g117 = a1;
    int64_t v1 = g116; // 0x18000a030
    int64_t v2 = *(int64_t *)(g117 + 16); // 0x18000a036
    g116 = v2;
    int64_t v3 = *(int64_t *)(v2 + 8); // 0x18000a03a
    g117 = v3;
    free((int64_t *)v3);
    g114 = &g122;
    int64_t v4 = 0; // r11
    *(int32_t *)g116 = 0;
    *(int64_t *)(g116 + 8) = v4;
    *(int32_t *)(g116 + 16) = (int32_t)v4;
    g116 = v1;
    return g114;
}
 
// Address range: 0x18000a060 - 0x18000a08a
// Demangled:     protected: wxIPaddress::GetImpl
int64_t _3f_GetImpl_40_wxIPaddress_40__40_IEAAAEAVwxSockAddressImpl_40__40_XZ(int64_t a1) {
    // 0x18000a060
    g117 = a1;
    int64_t v1 = g116; // 0x18000a060
    int64_t v2 = g117; // 0x18000a066
    g116 = v2;
    int64_t result = *(int64_t *)(v2 + 16); // 0x18000a069
    g117 = result;
    if (*(int32_t *)result != 0) {
        // 0x18000a081
        g114 = result;
        g116 = v1;
        return result;
    }
    // 0x18000a072
    g114 = function_180009bc0(result);
    int64_t result2 = *(int64_t *)(g116 + 16); // 0x18000a077
    g114 = result2;
    g116 = v1;
    return result2;
}
 
// Address range: 0x18000a090 - 0x18000a099
// Demangled:     private: virtual wxIPV4address::DoInitImpl
int64_t _3f_DoInitImpl_40_wxIPV4address_40__40_EEAAXXZ(int64_t a1) {
    // 0x18000a090
    g117 = a1;
    int64_t v1 = *(int64_t *)(a1 + 16); // 0x18000a090
    g117 = v1;
    int64_t result = function_180009bc0(v1); // 0x18000a094
    g114 = result;
    return result;
}
 
// Address range: 0x18000a0a0 - 0x18000a140
int64_t function_18000a0a0(int64_t a1, int64_t a2) {
    // 0x18000a0a0
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x18000a0a0
    int64_t v2 = g120; // 0x18000a0a5
    int64_t v3 = g119; // 0x18000a0af
    g120 = v3;
    g116 = a1;
    if ((v3 & 2) != 0) {
        uint32_t v4 = *(int32_t *)(a1 - 8); // 0x18000a0b9
        g112 = v4;
        g119 = 24;
        g114 = function_180013168(a1, 24, v4, 0x180009f00);
        if ((g120 & 1) != 0) {
            int64_t v5 = g116 - 8; // 0x18000a0d4
            g117 = v5;
            g114 = function_180013114(v5);
        }
        int64_t result = g116 - 8; // 0x18000a0dd
        g114 = result;
        g116 = v1;
        g120 = v2;
        return result;
    }
    int64_t v6 = *(int64_t *)(a1 + 16); // 0x18000a0f1
    g114 = &g27;
    *(int64_t *)a1 = (int64_t)&g27;
    if (v6 != 0) {
        int64_t v7 = *(int64_t *)(v6 + 8); // 0x18000a104
        g117 = v7;
        free((int64_t *)v7);
        g114 = &g122;
        g117 = v6;
        g114 = function_18001310e(v6);
    }
    int64_t v8 = g116; // 0x18000a116
    g117 = v8;
    g114 = _3f__3f_1wxObject_40__40_UEAA_40_XZ(v8);
    if ((g120 & 1) != 0) {
        int64_t v9 = g116; // 0x18000a125
        g117 = v9;
        g114 = function_18001310e(v9);
    }
    // 0x18000a12d
    g120 = v2;
    int64_t result2 = g116; // 0x18000a132
    g114 = result2;
    g116 = v1;
    return result2;
}
 
// Address range: 0x18000a140 - 0x18000a19b
// Demangled:     public: static wxIPV4address::wxCreateObject
int64_t _3f_wxCreateObject_40_wxIPV4address_40__40_SAPEAVwxObject_40__40_XZ(void) {
    int64_t v1 = g116; // 0x18000a140
    g117 = 80;
    int64_t v2 = function_18001323c(80, g119); // 0x18000a154
    g114 = v2;
    g116 = v2;
    int64_t result;
    if (v2 == 0) {
        result = 0;
    } else {
        // 0x18000a166
        g117 = v2;
        _3f__3f_0wxSockAddress_40__40_QEAA_40_XZ(v2);
        g114 = &g6;
        *(int64_t *)g116 = (int64_t)&g6;
        int64_t v3 = g116 + 24; // 0x18000a179
        g117 = v3;
        _3f__3f_0wxString_40__40_QEAA_40_XZ(v3);
        g114 = &g7;
        *(int64_t *)g116 = (int64_t)&g7;
        result = g116;
    }
    // 0x18000a195
    g114 = result;
    g116 = v1;
    return result;
}
 
// Address range: 0x18000a1a0 - 0x18000a1d4
// Demangled:     public: wxIPaddress::Service
int64_t _3f_Service_40_wxIPaddress_40__40_QEAA_NG_40_Z(int64_t * a1, int64_t a2) {
    // 0x18000a1a0
    g119 = a2;
    g117 = (int64_t)a1;
    int64_t v1 = g116; // 0x18000a1a0
    int64_t v2 = g118; // 0x18000a1a5
    int64_t v3 = g117; // 0x18000a1aa
    g116 = v3;
    int64_t v4 = *(int64_t *)(v3 + 16); // 0x18000a1ad
    g117 = v4;
    int64_t v5 = g119; // 0x18000a1b1
    g118 = v5;
    int64_t v6; // 0x18000a1be
    int64_t v7; // 0x18000a1c2
    if (*(int32_t *)v4 == 0) {
        // 0x18000a1b9
        g114 = function_180009bc0(v4);
        v7 = g118;
        v6 = g116;
    } else {
        v7 = v5;
        v6 = v3;
    }
    int64_t v8 = *(int64_t *)(v6 + 16); // 0x18000a1be
    g117 = v8;
    g119 = v7;
    g116 = v1;
    g118 = v2;
    int64_t result = function_180009d50(v8, v7); // 0x18000a1cf
    g114 = result;
    return result;
}
 
// Address range: 0x18000a1e0 - 0x18000a220
// Demangled:     public: wxIPaddress::Hostname
int64_t _3f_Hostname_40_wxIPaddress_40__40_QEBA_3f_AVwxString_40__40_XZ(int64_t a1, int64_t a2) {
    // 0x18000a1e0
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x18000a1e0
    int64_t v2 = g118; // 0x18000a1e5
    int64_t v3 = g117; // 0x18000a1ea
    g118 = v3;
    int64_t v4 = *(int64_t *)(v3 + 16); // 0x18000a1ed
    g117 = v4;
    int64_t v5 = g119; // 0x18000a1f1
    g116 = v5;
    int64_t v6; // 0x18000a206
    int64_t v7; // 0x18000a20a
    if (*(int32_t *)v4 == 0) {
        // 0x18000a201
        g114 = function_180009bc0(v4);
        v7 = g116;
        v6 = g118;
    } else {
        v7 = v5;
        v6 = v3;
    }
    int64_t v8 = *(int64_t *)(v6 + 16); // 0x18000a206
    g117 = v8;
    g119 = v7;
    function_180009a90(v8, v7);
    int64_t result = g116; // 0x18000a212
    g114 = result;
    g116 = v1;
    g118 = v2;
    return result;
}
 
// Address range: 0x18000a220 - 0x18000a245
// Demangled:     public: wxIPaddress::Service
int64_t _3f_Service_40_wxIPaddress_40__40_QEBAGXZ(int64_t a1) {
    // 0x18000a220
    g117 = a1;
    int64_t v1 = g116; // 0x18000a220
    int64_t v2 = g117; // 0x18000a226
    g116 = v2;
    int64_t v3 = *(int64_t *)(v2 + 16); // 0x18000a229
    g117 = v3;
    int64_t v4; // 0x18000a237
    if (*(int32_t *)v3 == 0) {
        // 0x18000a232
        g114 = function_180009bc0(v3);
        v4 = g116;
    } else {
        v4 = v2;
    }
    int64_t v5 = *(int64_t *)(v4 + 16); // 0x18000a237
    g117 = v5;
    g116 = v1;
    int64_t result = function_180009cd0(v5); // 0x18000a240
    g114 = result;
    return result;
}
 
// Address range: 0x18000a250 - 0x18000a330
// Demangled:     public: wxIPaddress::operator==
int64_t _3f__3f_8wxIPaddress_40__40_QEBA_NAEBV0_40__40_Z(int64_t a1, int64_t a2) {
    // 0x18000a250
    g119 = a2;
    g117 = a1;
    int64_t v1;
    g114 = &v1;
    int64_t v2 = g116; // 0x18000a264
    int64_t v3 = g120; // 0x18000a268
    int64_t v4 = g119; // 0x18000a26c
    g120 = v4;
    g118 = g117;
    int64_t v5; // bp-72
    int64_t v6 = &v5; // 0x18000a279
    g119 = v6;
    g117 = v4;
    int64_t v7 = _3f_Hostname_40_wxIPaddress_40__40_QEBA_3f_AVwxString_40__40_XZ(v4, v6); // 0x18000a280
    g114 = v7;
    g116 = v7;
    int64_t v8; // bp-128
    int64_t v9 = &v8; // 0x18000a293
    g119 = v9;
    int64_t v10 = g118; // 0x18000a298
    g117 = v10;
    int64_t v11 = _3f_Hostname_40_wxIPaddress_40__40_QEBA_3f_AVwxString_40__40_XZ(v10, v9); // 0x18000a29b
    g114 = v11;
    int64_t v12 = g116; // 0x18000a2ac
    g119 = v12;
    g117 = v11;
    int64_t v13 = _3f_Cmp_40_wxString_40__40_QEBAHAEBV1_40__40_Z(v11, v12); // 0x18000a2b2
    g114 = v13;
    int32_t v14 = v13; // 0x18000a2b8
    int64_t v15;
    if (v14 != 0) {
        // 0x18000a2f5
        v15 = g116 & -256;
        goto lab_0x18000a2f7;
    } else {
        int64_t v16 = *(int64_t *)(g118 + 16); // 0x18000a2bc
        g117 = v16;
        if (*(int32_t *)v16 == v14) {
            // 0x18000a2c4
            g114 = function_180009bc0(v16);
        }
        int64_t v17 = *(int64_t *)(g118 + 16); // 0x18000a2c9
        g117 = v17;
        int64_t v18 = function_180009cd0(v17); // 0x18000a2cd
        g114 = v18;
        g116 = v18;
        int64_t v19 = g120; // 0x18000a2d5
        int64_t v20 = *(int64_t *)(v19 + 16); // 0x18000a2d5
        g117 = v20;
        int64_t v21; // 0x18000a2e3
        if (*(int32_t *)v20 == 0) {
            // 0x18000a2de
            g114 = function_180009bc0(v20);
            v21 = g120;
        } else {
            v21 = v19;
        }
        int64_t v22 = *(int64_t *)(v21 + 16); // 0x18000a2e3
        g117 = v22;
        int64_t v23 = function_180009cd0(v22); // 0x18000a2e7
        g114 = v23;
        int64_t v24 = g116; // 0x18000a2ec
        if ((int16_t)v24 != (int16_t)v23) {
            // 0x18000a2f5
            v15 = v24 & -256;
            goto lab_0x18000a2f7;
        } else {
            // 0x18000a2f1
            v15 = v24 & -256 | 1;
            goto lab_0x18000a2f7;
        }
    }
  lab_0x18000a2f7:
    // 0x18000a2f7
    g116 = v15;
    g117 = v9;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v9, v12, g112);
    g117 = v6;
    int64_t result = g116 | _3f__3f_1wxString_40__40_QEAA_40_XZ(v6, v12, g112) & -256; // 0x18000a319
    g114 = result;
    g116 = v2;
    g120 = v3;
    return result;
}
 
// Address range: 0x18000a330 - 0x18000a358
// Demangled:     public: wxIPV4address::BroadcastAddress
int64_t _3f_BroadcastAddress_40_wxIPV4address_40__40_QEAA_NXZ(int64_t a1, int64_t a2) {
    // 0x18000a330
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x18000a330
    int64_t v2 = g117; // 0x18000a336
    g116 = v2;
    int64_t v3 = *(int64_t *)(v2 + 16); // 0x18000a339
    g117 = v3;
    int64_t v4; // 0x18000a347
    if (*(int32_t *)v3 == 0) {
        // 0x18000a342
        g114 = function_180009bc0(v3);
        v4 = g116;
    } else {
        v4 = v2;
    }
    int64_t v5 = *(int64_t *)(v4 + 16); // 0x18000a347
    g117 = v5;
    g119 = 0xffffffff;
    g116 = v1;
    int64_t result = function_180009c50(v5, -1); // 0x18000a353
    g114 = result;
    return result;
}
 
// Address range: 0x18000a360 - 0x18000a544
int64_t function_18000a360(int64_t a1, int64_t * a2, int64_t a3, int64_t a4, int64_t a5, int64_t a6) {
    // 0x18000a360
    g112 = a3;
    int64_t v1 = (int64_t)a2;
    g119 = v1;
    g117 = a1;
    int64_t v2 = g116; // 0x18000a360
    int64_t v3 = g120; // 0x18000a366
    g120 = a4;
    int64_t v4 = g112; // rbp
    g116 = v1;
    int64_t result = g117; // rdi
    int64_t v5; // 0x18000a509
    if (a2 != NULL) {
        // 0x18000a389
        g119 = 4;
        g117 = v1;
        int64_t v6 = _3f_GetArgumentType_40_wxFormatString_40__40_QEBA_3f_AW4ArgumentType_40_1_40_I_40_Z(v1, 4); // 0x18000a396
        g114 = v6;
        int64_t v7 = *(int64_t *)0x180019440; // 0x18000a39c
        g117 = v7;
        if (*(int64_t *)v7 != 0) {
            int32_t v8 = v6; // 0x18000a3b2
            uint32_t v9 = v8 & 9; // 0x18000a3b2
            g117 = v9;
            if (v9 != v8) {
                // 0x18000a3b9
                g112 = (int64_t)"wxArgNormalizer<unsigned int>::wxArgNormalizer";
                g117 = (int64_t)"C:\\BUILD\\wxPython-src-3.0.2.0\\include\\wx/strvararg.h";
                g119 = 456;
                g114 = _3f_wxOnAssert_40__40_YAXPEBDH000_40_Z("C:\\BUILD\\wxPython-src-3.0.2.0\\include\\wx/strvararg.h", 456, "wxArgNormalizer<unsigned int>::wxArgNormalizer", "(argtype & (wxFormatStringSpecifier<T>::value)) == argtype");
                char * v10 = (char *)*(int64_t *)0x180019430; // 0x18000a3e5
                if (*v10 != 0) {
                    // 0x18000a3eb
                    *v10 = 0;
                    g114 = __asm_int3();
                }
            }
        }
        // 0x18000a3f0
        g119 = 3;
        int64_t v11 = g116; // 0x18000a3f5
        g117 = v11;
        int64_t v12 = _3f_GetArgumentType_40_wxFormatString_40__40_QEBA_3f_AW4ArgumentType_40_1_40_I_40_Z(v11, 3); // 0x18000a3f8
        g114 = v12;
        int64_t v13 = *(int64_t *)0x180019440; // 0x18000a3fe
        g117 = v13;
        if (*(int64_t *)v13 != 0) {
            int32_t v14 = v12; // 0x18000a40d
            uint32_t v15 = v14 & 9; // 0x18000a40d
            g117 = v15;
            if (v15 != v14) {
                // 0x18000a414
                g112 = (int64_t)"wxArgNormalizer<unsigned int>::wxArgNormalizer";
                g117 = (int64_t)"C:\\BUILD\\wxPython-src-3.0.2.0\\include\\wx/strvararg.h";
                g119 = 456;
                g114 = _3f_wxOnAssert_40__40_YAXPEBDH000_40_Z("C:\\BUILD\\wxPython-src-3.0.2.0\\include\\wx/strvararg.h", 456, "wxArgNormalizer<unsigned int>::wxArgNormalizer", "(argtype & (wxFormatStringSpecifier<T>::value)) == argtype");
                char * v16 = (char *)*(int64_t *)0x180019430; // 0x18000a440
                if (*v16 != 0) {
                    // 0x18000a446
                    *v16 = 0;
                    g114 = __asm_int3();
                }
            }
        }
        // 0x18000a44b
        g119 = 2;
        int64_t v17 = g116; // 0x18000a450
        g117 = v17;
        int64_t v18 = _3f_GetArgumentType_40_wxFormatString_40__40_QEBA_3f_AW4ArgumentType_40_1_40_I_40_Z(v17, 2); // 0x18000a453
        g114 = v18;
        int64_t v19 = *(int64_t *)0x180019440; // 0x18000a459
        g117 = v19;
        if (*(int64_t *)v19 != 0) {
            int32_t v20 = v18; // 0x18000a468
            uint32_t v21 = v20 & 9; // 0x18000a468
            g117 = v21;
            if (v21 != v20) {
                // 0x18000a46f
                g112 = (int64_t)"wxArgNormalizer<unsigned int>::wxArgNormalizer";
                g117 = (int64_t)"C:\\BUILD\\wxPython-src-3.0.2.0\\include\\wx/strvararg.h";
                g119 = 456;
                g114 = _3f_wxOnAssert_40__40_YAXPEBDH000_40_Z("C:\\BUILD\\wxPython-src-3.0.2.0\\include\\wx/strvararg.h", 456, "wxArgNormalizer<unsigned int>::wxArgNormalizer", "(argtype & (wxFormatStringSpecifier<T>::value)) == argtype");
                char * v22 = (char *)*(int64_t *)0x180019430; // 0x18000a49b
                if (*v22 != 0) {
                    // 0x18000a4a1
                    *v22 = 0;
                    g114 = __asm_int3();
                }
            }
        }
        // 0x18000a4a6
        g119 = 1;
        int64_t v23 = g116; // 0x18000a4ab
        g117 = v23;
        int64_t v24 = _3f_GetArgumentType_40_wxFormatString_40__40_QEBA_3f_AW4ArgumentType_40_1_40_I_40_Z(v23, 1); // 0x18000a4ae
        g114 = v24;
        if (*(int64_t *)*(int64_t *)0x180019440 != 0) {
            int32_t v25 = v24; // 0x18000a4c4
            if ((v25 & 9) != v25) {
                // 0x18000a4cd
                g112 = (int64_t)"wxArgNormalizer<unsigned int>::wxArgNormalizer";
                g117 = (int64_t)"C:\\BUILD\\wxPython-src-3.0.2.0\\include\\wx/strvararg.h";
                g119 = 456;
                g114 = _3f_wxOnAssert_40__40_YAXPEBDH000_40_Z("C:\\BUILD\\wxPython-src-3.0.2.0\\include\\wx/strvararg.h", 456, "wxArgNormalizer<unsigned int>::wxArgNormalizer", "(argtype & (wxFormatStringSpecifier<T>::value)) == argtype");
                char * v26 = (char *)*(int64_t *)0x180019430; // 0x18000a4f9
                if (*v26 != 0) {
                    // 0x18000a4ff
                    *v26 = 0;
                    g114 = __asm_int3();
                }
            }
        }
        // 0x18000a504
        v5 = g116;
    } else {
        v5 = v1;
    }
    // 0x18000a509
    g117 = v5;
    int64_t v27 = _3f__3f_BwxFormatString_40__40_QEBAPEB_WXZ(v5); // 0x18000a50c
    g112 = v4;
    g119 = v27;
    g117 = result;
    g114 = a5;
    _3f_DoFormatWchar_40_wxString_40__40_CA_3f_AV1_40_PEB_WZZ(result, v27, v4, g120);
    g116 = v2;
    g114 = result;
    g120 = v3;
    return result;
}
 
// Address range: 0x18000a550 - 0x18000a577
// Demangled:     public: wxIPaddress::AnyAddress
int64_t _3f_AnyAddress_40_wxIPaddress_40__40_QEAA_NXZ(int64_t * a1, int64_t * a2) {
    // 0x18000a550
    g119 = (int64_t)a2;
    g117 = (int64_t)a1;
    int64_t v1 = g116; // 0x18000a550
    int64_t v2 = g117; // 0x18000a556
    g116 = v2;
    int64_t v3 = *(int64_t *)(v2 + 16); // 0x18000a559
    g117 = v3;
    int64_t v4; // 0x18000a567
    if (*(int32_t *)v3 == 0) {
        // 0x18000a562
        g114 = function_180009bc0(v3);
        v4 = g116;
    } else {
        v4 = v2;
    }
    int64_t v5 = *(int64_t *)(v4 + 16); // 0x18000a567
    g117 = v5;
    g119 = 0;
    g116 = v1;
    int64_t result = function_180009c50(v5, 0); // 0x18000a572
    g114 = result;
    return result;
}
 
// Address range: 0x18000a580 - 0x18000a5f8
// Demangled:     public: wxIPV4address::Hostname
int64_t _3f_Hostname_40_wxIPV4address_40__40_QEAA_NK_40_Z(int64_t * a1, int64_t a2) {
    // 0x18000a580
    g119 = a2;
    g117 = (int64_t)a1;
    int64_t v1 = g118; // 0x18000a580
    int64_t v2 = g116; // 0x18000a58f
    int64_t v3 = g119; // 0x18000a594
    g118 = v3;
    int64_t v4 = g117; // 0x18000a596
    g116 = v4;
    int64_t v5 = *(int64_t *)(v4 + 16); // 0x18000a599
    g117 = v5;
    int64_t v6; // 0x18000a5a7
    int64_t v7; // 0x18000a5a9
    if (*(int32_t *)v5 == 0) {
        // 0x18000a5a2
        g114 = function_180009bc0(v5);
        v7 = g116;
        v6 = g118;
    } else {
        v7 = v4;
        v6 = v3;
    }
    // 0x18000a5a7
    g119 = v6;
    int64_t v8 = *(int64_t *)(v7 + 16); // 0x18000a5a9
    g117 = v8;
    int64_t v9 = function_180009c50(v8, (int32_t)v6); // 0x18000a5ad
    g114 = v9;
    int64_t result;
    if ((char)v9 != 0) {
        // 0x18000a5c4
        int64_t v10; // bp-64
        int64_t v11 = &v10; // 0x18000a5c4
        g119 = v11;
        int64_t v12 = g116; // 0x18000a5c9
        g117 = v12;
        int64_t v13 = _3f_Hostname_40_wxIPV4address_40__40_QEBA_3f_AVwxString_40__40_XZ(v12, &v10); // 0x18000a5cc
        g114 = v13;
        int64_t v14 = g116 + 24; // 0x18000a5d2
        g117 = v14;
        g119 = v13;
        g114 = _3f__3f_4wxString_40__40_QEAAAEAV0_40_AEBV0_40__40_Z(v14, v13);
        g117 = v11;
        result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v11, v13, g112) & -256 | 1;
    } else {
        int64_t v15 = g116 + 24; // 0x18000a5b6
        g117 = v15;
        int64_t v16 = _3f_clear_40_wxString_40__40_QEAAXXZ(v15); // 0x18000a5ba
        g114 = v16;
        result = v16 & -256;
    }
    // 0x18000a5ed
    g114 = result;
    g116 = v2;
    g118 = v1;
    return result;
}
 
// Address range: 0x18000a600 - 0x18000a711
// Demangled:     public: virtual wxIPV4address::IsLocalHost
int64_t _3f_IsLocalHost_40_wxIPV4address_40__40_UEBA_NXZ(int64_t a1) {
    // 0x18000a600
    g117 = a1;
    int64_t v1;
    g114 = &v1;
    int64_t v2 = g116; // 0x18000a614
    int64_t v3 = g120; // 0x18000a618
    g120 = a1;
    int64_t v4; // bp-64
    int64_t v5 = &v4; // 0x18000a626
    g119 = v5;
    int64_t v6 = _3f_Hostname_40_wxIPV4address_40__40_QEBA_3f_AVwxString_40__40_XZ(a1, &v4); // 0x18000a62a
    g114 = v6;
    g116 = v6;
    int64_t v7 = 1; // rdi
    g119 = (int64_t)"localhost";
    int64_t v8; // bp-176
    int64_t v9 = &v8; // 0x18000a645
    g117 = v9;
    int64_t v10 = _3f__3f_0wxString_40__40_QEAA_40_PEBD_40_Z(&v8, (int64_t)"localhost"); // 0x18000a64a
    g114 = v10;
    g112 = 1;
    int64_t v11 = g116; // 0x18000a655
    g119 = v11;
    g117 = v10;
    int64_t v12 = _3f_IsSameAs_40_wxString_40__40_QEBA_NAEBV1_40__N_40_Z(v10, v11, 1); // 0x18000a65b
    g114 = v12;
    g116 = v12;
    g117 = v9;
    int64_t v13 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v9, g119, g112); // 0x18000a669
    g114 = v13;
    int64_t v14 = g116; // 0x18000a66f
    if ((char)v14 != 0) {
        // 0x18000a6c4
        g116 = v14 & -256 | 1;
        goto lab_0x18000a6c6;
    } else {
        // 0x18000a673
        g114 = v9;
        g116 = v9;
        v7 = 3;
        g119 = (int64_t)"127.0.0.1";
        g117 = v9;
        int64_t v15 = _3f__3f_0wxString_40__40_QEAA_40_PEBD_40_Z(&v8, (int64_t)"127.0.0.1"); // 0x18000a69c
        g114 = v15;
        int64_t v16 = g112 & -256 | 1; // 0x18000a6a3
        g112 = v16;
        int64_t v17 = g116; // 0x18000a6a6
        g119 = v17;
        g117 = v15;
        int64_t v18 = _3f_IsSameAs_40_wxString_40__40_QEBA_NAEBV1_40__N_40_Z(v15, v17, v16); // 0x18000a6ac
        g114 = v18;
        g116 = v18;
        g117 = v9;
        int64_t v19 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v9, g119, g112); // 0x18000a6ba
        g114 = v19;
        int64_t v20 = g116; // 0x18000a6c0
        if ((char)v20 == 0) {
            v13 = v19;
            goto lab_0x18000a6c6;
        } else {
            // 0x18000a6c4
            g116 = v20 & -256 | 1;
            v13 = v19;
            goto lab_0x18000a6c6;
        }
    }
  lab_0x18000a6c6:;
    // 0x18000a6c6
    int64_t v21; // 0x18000a6e2
    int64_t v22; // 0x18000a6db
    if ((v7 & 2) != 0) {
        // 0x18000a6cc
        int64_t v23; // bp-120
        int64_t v24 = &v23; // 0x18000a6d6
        g117 = v24;
        v22 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v24, g119, g112);
        g114 = v22;
        v21 = v7 & 0xfffffffd;
    } else {
        v22 = v13;
        v21 = v7;
    }
    int64_t result;
    if ((v21 & 1) == 0) {
        // 0x18000a6fa
        result = g116 | v22 & -256;
    } else {
        // 0x18000a6e8
        g117 = v5;
        int64_t v25 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v5, g119, g112); // 0x18000a6f0
        g114 = v25;
        result = g116 | v25 & -256;
    }
    // 0x18000a6fc
    g114 = result;
    g116 = v2;
    g120 = v3;
    return result;
}
 
// Address range: 0x18000a720 - 0x18000a839
// Demangled:     public: virtual wxIPV4address::IPAddress
int64_t _3f_IPAddress_40_wxIPV4address_40__40_UEBA_3f_AVwxString_40__40_XZ(int64_t a1, int64_t a2) {
    // 0x18000a720
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x18000a733
    g118 = g119;
    int64_t v2 = g117; // 0x18000a73e
    g116 = v2;
    int64_t v3 = *(int64_t *)(v2 + 16); // 0x18000a749
    g117 = v3;
    int64_t v4; // 0x18000a757
    if (*(int32_t *)v3 == 0) {
        // 0x18000a752
        g114 = function_180009bc0(v3);
        v4 = g116;
    } else {
        v4 = v2;
    }
    int64_t v5 = *(int64_t *)(v4 + 16); // 0x18000a757
    g114 = v5;
    int64_t result;
    if (*(int32_t *)v5 != 2) {
        int64_t v6 = *(int64_t *)0x180019440; // 0x18000a7d3
        g114 = v6;
        if (*(int64_t *)v6 != 0) {
            // 0x18000a7e0
            g114 = (int64_t)"socket address family mismatch";
            g112 = (int64_t)"wxSockAddressImpl::Get";
            g119 = 268;
            g117 = (int64_t)"C:\\BUILD\\wxPython-src-3.0.2.0\\include\\wx/private/sckaddr.h";
            g114 = _3f_wxOnAssert_40__40_YAXPEBDH000_40_Z("C:\\BUILD\\wxPython-src-3.0.2.0\\include\\wx/private/sckaddr.h", 268, "wxSockAddressImpl::Get", "static_cast<int>(m_family) == AddressFamily<T>::value");
            char * v7 = (char *)*(int64_t *)0x180019430; // 0x18000a813
            if (*v7 != 0) {
                // 0x18000a819
                *v7 = 0;
                g114 = __asm_int3();
            }
        }
    } else {
        int64_t v8 = *(int64_t *)(v5 + 8); // 0x18000a760
        g117 = v8;
        if (v8 != 0) {
            uint32_t net_long = *(int32_t *)(v8 + 4); // 0x18000a76d
            g117 = net_long;
            int64_t v9 = ntohl(net_long); // 0x18000a770
            g114 = v9;
            g116 = v9;
            g119 = (int64_t)"%u.%u.%u.%u";
            int64_t v10; // bp-48
            int64_t v11 = &v10; // 0x18000a77e
            g117 = v11;
            g114 = _3f__3f_0wxFormatString_40__40_QEAA_40_PEBD_40_Z(&v10, "%u.%u.%u.%u");
            uint64_t v12 = g116; // 0x18000a78a
            int64_t v13 = (int32_t)v12 / 0x1000000; // 0x18000a79f
            g116 = v13;
            g112 = v13;
            g119 = v11;
            g117 = g118;
            int64_t v14 = function_18000a360(g118, &v10, v13, v12 / 0x10000 & 0xffff, v12 / 256 & 0xffffff, 0x100000000 * v12 / 0x100000000); // 0x18000a7b6
            g114 = v14;
            g117 = v11;
            _3f__3f_1wxFormatString_40__40_QEAA_40_XZ(&v10);
            // 0x18000a82b
            result = g118;
            g114 = result;
            g116 = v1;
            return result;
        }
    }
    // 0x18000a81e
    g117 = g118;
    _3f__3f_0wxString_40__40_QEAA_40_XZ(g118);
    // 0x18000a82b
    result = g118;
    g114 = result;
    g116 = v1;
    return result;
}
 
// Address range: 0x18000a840 - 0x18000a958
int64_t function_18000a840(int64_t a1, int64_t a2, char * a3) {
    // 0x18000a840
    g112 = (int64_t)a3;
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x18000a840
    int64_t v2 = g120; // 0x18000a842
    int64_t v3 = g118; // 0x18000a843
    int64_t v4; // bp-1144
    int64_t v5 = g61 ^ (int64_t)&v4; // 0x18000a852
    g114 = v5;
    int64_t v6 = g119; // 0x18000a85d
    g116 = v6;
    g118 = g112;
    g120 = g117;
    int32_t v7; // bp-1112
    g119 = &v7;
    g112 = 10;
    g117 = v6;
    int64_t v8 = _3f_ToULong_40_wxString_40__40_QEBA_NPEAKH_40_Z(v6, (int64_t *)&v7, 10); // 0x18000a874
    g114 = v8;
    int64_t v9;
    int64_t v10; // 0x18000a926
    if ((char)v8 == 0) {
        // 0x18000a896
        int64_t v11; // bp-1104
        g119 = &v11;
        int64_t v12 = g116; // 0x18000a89b
        g117 = v12;
        int64_t v13 = _3f_utf8_str_40_wxString_40__40_QEBA_3f_BV_3f__24_wxScopedCharTypeBuffer_40_D_40__40_XZ(v12, &v11); // 0x18000a89e
        g114 = v13;
        g119 = g118;
        int64_t v14 = *(int64_t *)v13; // 0x18000a8a7
        g117 = v14;
        int64_t name = *(int64_t *)v14; // 0x18000a8aa
        g117 = name;
        struct servent * v15 = getservbyname((char *)name, (char *)g118); // 0x18000a8ad
        int64_t v16 = (int64_t)v15; // 0x18000a8ad
        g114 = v16;
        bool v17; // 0x18000a8d2
        if (v15 != NULL) {
            // 0x18000a8b7
            int64_t v18; // bp-1064
            g112 = &v18;
            int64_t v19; // bp-1096
            g117 = &v19;
            g119 = v16;
            int64_t v20 = function_1800098c0(&v19, v16, &v18, 1024); // 0x18000a8ca
            g114 = v20;
            v17 = v20 == 0;
        } else {
            v17 = true;
        }
        int64_t v21 = _3f_GetUntypedNullData_40_wxPrivate_40__40_YAPEAUUntypedBufferData_40_1_40_XZ(g117); // 0x18000a8d6
        g114 = v21;
        int64_t v22 = v11; // 0x18000a8dc
        g117 = v22;
        int64_t v23; // 0x18000a912
        if (v22 != v21) {
            // 0x18000a8e6
            g119 = 0xffff;
            int16_t * v24 = (int16_t *)(v22 + 16); // 0x18000a8eb
            *v24 = *v24 - 1;
            g116 = v11;
            if (*(int16_t *)(v11 + 16) == 0) {
                // 0x18000a8fb
                int64_t v25; // 0x18000a90a
                if (*(char *)(v11 + 18) != 0) {
                    int64_t v26 = *(int64_t *)v11; // 0x18000a901
                    g117 = v26;
                    free((int64_t *)v26);
                    g114 = &g122;
                    v25 = g116;
                } else {
                    v25 = v11;
                }
                // 0x18000a90a
                g117 = v25;
                g114 = function_18001310e(v25);
            }
            // 0x18000a912
            v23 = _3f_GetUntypedNullData_40_wxPrivate_40__40_YAPEAUUntypedBufferData_40_1_40_XZ(g117);
            g114 = v23;
        } else {
            v23 = v21;
        }
        // 0x18000a918
        if ((char)(g118 & -256 || (int64_t)v17) != 0) {
            // 0x18000a88f
            v9 = v23 & -256;
            goto lab_0x18000a93d;
        } else {
            // 0x18000a921
            uint16_t net_short;
            g117 = net_short;
            int16_t v27 = ntohs(net_short); // 0x18000a926
            v10 = v27;
            g114 = v10;
            v7 = v27;
            goto lab_0x18000a932;
        }
    } else {
        int64_t v28 = v7; // 0x18000a87e
        g114 = v28;
        g119 = 0xffff;
        if (v7 < 0x10000) {
            v10 = v28;
            goto lab_0x18000a932;
        } else {
            // 0x18000a88f
            v9 = v28 & -256;
            goto lab_0x18000a93d;
        }
    }
  lab_0x18000a932:
    // 0x18000a932
    g119 = v10;
    int64_t v29 = g120; // 0x18000a935
    g117 = v29;
    v9 = function_180009d50(v29, v10);
    goto lab_0x18000a93d;
  lab_0x18000a93d:
    // 0x18000a93d
    g114 = v9;
    int64_t v30 = g121 ^ v5; // 0x18000a945
    g117 = v30;
    __security_check_cookie(v30);
    g114 = &g122;
    g118 = v3;
    g120 = v2;
    g116 = v1;
    return &g122;
}
 
// Address range: 0x18000a960 - 0x18000ab5d
int64_t function_18000a960(int64_t a1, int64_t a2) {
    // 0x18000a960
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x18000a972
    int64_t v2 = g119; // 0x18000a98c
    g114 = v2;
    int64_t v3; // bp-1112
    if (*(int32_t *)&g117 != 2) {
        int64_t v4 = *(int64_t *)0x180019440; // 0x18000aaef
        g114 = v4;
        int64_t v5; // 0x18000ab39
        if (*(int64_t *)v4 != 0) {
            // 0x18000aafc
            g114 = (int64_t)"socket address family mismatch";
            g113 = (int64_t)"static_cast<int>(m_family) == AddressFamily<T>::value";
            g112 = (int64_t)"wxSockAddressImpl::Get";
            g119 = 268;
            g117 = (int64_t)"C:\\BUILD\\wxPython-src-3.0.2.0\\include\\wx/private/sckaddr.h";
            int64_t v6 = _3f_wxOnAssert_40__40_YAXPEBDH000_40_Z("C:\\BUILD\\wxPython-src-3.0.2.0\\include\\wx/private/sckaddr.h", 268, "wxSockAddressImpl::Get", "static_cast<int>(m_family) == AddressFamily<T>::value"); // 0x18000ab22
            g114 = v6;
            char * v7 = (char *)*(int64_t *)0x180019430; // 0x18000ab2f
            if (*v7 != 0) {
                // 0x18000ab35
                *v7 = 0;
                v5 = __asm_int3();
                g114 = v5;
            } else {
                v5 = v6;
            }
        } else {
            v5 = v4;
        }
        // 0x18000ab3a
        g114 = v5 & -256;
        goto lab_0x18000ab3c;
    } else {
        int64_t v8 = *(int64_t *)(g117 + 8); // 0x18000a998
        g116 = v8;
        if (v8 == 0) {
            // 0x18000ab3a
            g114 = v2 & -256;
            goto lab_0x18000ab3c;
        } else {
            // 0x18000a9a5
            g119 = &v3;
            g117 = v2;
            _3f_utf8_str_40_wxString_40__40_QEBA_3f_BV_3f__24_wxScopedCharTypeBuffer_40_D_40__40_XZ(v2, &v3);
            int64_t v9 = v3; // 0x18000a9b4
            g114 = v9;
            int64_t cp = *(int64_t *)v9; // 0x18000a9b9
            g117 = cp;
            int32_t v10 = inet_addr((char *)cp); // 0x18000a9bc
            g114 = v10;
            int32_t * v11 = (int32_t *)(v8 + 4); // 0x18000a9c1
            *v11 = v10;
            if ((int32_t)g114 == -1) {
                int64_t v12 = v3; // 0x18000aa12
                g114 = v12;
                int64_t name = *(int64_t *)v12; // 0x18000aa17
                g117 = name;
                struct hostent * v13 = gethostbyname((char *)name); // 0x18000aa1a
                int64_t v14 = (int64_t)v13; // 0x18000aa1a
                g114 = v14;
                g114 = WSAGetLastError();
                if (v13 == NULL) {
                    goto lab_0x18000aaa9;
                } else {
                    // 0x18000aa2c
                    int64_t v15; // bp-1104
                    g114 = &v15;
                    int64_t v16; // bp-1048
                    g112 = &v16;
                    g119 = v14;
                    int64_t v17; // bp-1088
                    g117 = &v17;
                    int64_t v18 = function_180009690(&v17, v14, &v16, 1024, (int32_t *)&v15); // 0x18000aa49
                    g114 = v18;
                    if (v18 == 0) {
                        goto lab_0x18000aaa9;
                    } else {
                        // 0x18000aa53
                        int64_t v19;
                        int64_t v20 = *(int64_t *)v19; // 0x18000aa58
                        g117 = v20;
                        uint32_t v21 = *(int32_t *)v20; // 0x18000aa5b
                        g114 = v21;
                        *v11 = v21;
                        int64_t v22 = _3f_GetUntypedNullData_40_wxPrivate_40__40_YAPEAUUntypedBufferData_40_1_40_XZ(v20); // 0x18000aa60
                        g114 = v22;
                        int64_t v23 = v3; // 0x18000aa66
                        g117 = v23;
                        int64_t v24; // 0x18000aa9c
                        if (v23 != v22) {
                            // 0x18000aa70
                            g114 = 0xffff;
                            int16_t * v25 = (int16_t *)(v23 + 16); // 0x18000aa75
                            *v25 = *v25 - 1;
                            int64_t v26 = v3; // 0x18000aa79
                            g116 = v26;
                            if (*(int16_t *)(v26 + 16) == 0) {
                                // 0x18000aa85
                                int64_t v27; // 0x18000aa94
                                if (*(char *)(v26 + 18) != 0) {
                                    int64_t v28 = *(int64_t *)v26; // 0x18000aa8b
                                    g117 = v28;
                                    free((int64_t *)v28);
                                    g114 = &g122;
                                    v27 = g116;
                                } else {
                                    v27 = v26;
                                }
                                // 0x18000aa94
                                g117 = v27;
                                g114 = function_18001310e(v27);
                            }
                            // 0x18000aa9c
                            v24 = _3f_GetUntypedNullData_40_wxPrivate_40__40_YAPEAUUntypedBufferData_40_1_40_XZ(g117);
                            g114 = v24;
                        } else {
                            v24 = v22;
                        }
                        // 0x18000aaa2
                        g114 = v24 & -256 | 1;
                        goto lab_0x18000ab3c;
                    }
                }
            } else {
                int64_t v29 = _3f_GetUntypedNullData_40_wxPrivate_40__40_YAPEAUUntypedBufferData_40_1_40_XZ(cp); // 0x18000a9c9
                g114 = v29;
                int64_t v30 = v3; // 0x18000a9cf
                g117 = v30;
                int64_t v31; // 0x18000aa05
                if (v30 != v29) {
                    // 0x18000a9d9
                    g114 = 0xffff;
                    int16_t * v32 = (int16_t *)(v30 + 16); // 0x18000a9de
                    *v32 = *v32 - 1;
                    g116 = v3;
                    if (*(int16_t *)(v3 + 16) == 0) {
                        // 0x18000a9ee
                        int64_t v33; // 0x18000a9fd
                        if (*(char *)(v3 + 18) != 0) {
                            int64_t v34 = *(int64_t *)v3; // 0x18000a9f4
                            g117 = v34;
                            free((int64_t *)v34);
                            g114 = &g122;
                            v33 = g116;
                        } else {
                            v33 = v3;
                        }
                        // 0x18000a9fd
                        g117 = v33;
                        g114 = function_18001310e(v33);
                    }
                    // 0x18000aa05
                    v31 = _3f_GetUntypedNullData_40_wxPrivate_40__40_YAPEAUUntypedBufferData_40_1_40_XZ(g117);
                    g114 = v31;
                } else {
                    v31 = v29;
                }
                // 0x18000aa0b
                g114 = v31 & -256 | 1;
                goto lab_0x18000ab3c;
            }
        }
    }
  lab_0x18000ab3c:;
    // 0x18000ab3c
    int64_t v35; // bp-1160
    int64_t v36 = g61 ^ (int64_t)&v35 ^ g121; // 0x18000ab44
    g117 = v36;
    __security_check_cookie(v36);
    g114 = &g122;
    g116 = v1;
    return &g122;
  lab_0x18000aaa9:;
    int64_t v37 = _3f_GetUntypedNullData_40_wxPrivate_40__40_YAPEAUUntypedBufferData_40_1_40_XZ(g117); // 0x18000aaa9
    g114 = v37;
    int64_t v38 = v3; // 0x18000aaaf
    g117 = v38;
    int64_t v39; // 0x18000aae5
    if (v38 != v37) {
        // 0x18000aab9
        g114 = 0xffff;
        int16_t * v40 = (int16_t *)(v38 + 16); // 0x18000aabe
        *v40 = *v40 - 1;
        int64_t v41 = v3; // 0x18000aac2
        g116 = v41;
        if (*(int16_t *)(v41 + 16) == 0) {
            // 0x18000aace
            int64_t v42; // 0x18000aadd
            if (*(char *)(v41 + 18) != 0) {
                int64_t v43 = *(int64_t *)v41; // 0x18000aad4
                g117 = v43;
                free((int64_t *)v43);
                g114 = &g122;
                v42 = g116;
            } else {
                v42 = v41;
            }
            // 0x18000aadd
            g117 = v42;
            g114 = function_18001310e(v42);
        }
        // 0x18000aae5
        v39 = _3f_GetUntypedNullData_40_wxPrivate_40__40_YAPEAUUntypedBufferData_40_1_40_XZ(g117);
        g114 = v39;
    } else {
        v39 = v37;
    }
    // 0x18000aaeb
    g114 = v39 & -256;
    goto lab_0x18000ab3c;
}
 
// Address range: 0x18000ab60 - 0x18000ab9b
// Demangled:     public: wxIPaddress::Service
int64_t _3f_Service_40_wxIPaddress_40__40_QEAA_NAEBVwxString_40__40__40_Z(int64_t * a1, int64_t * a2) {
    // 0x18000ab60
    g119 = (int64_t)a2;
    g117 = (int64_t)a1;
    int64_t v1 = g116; // 0x18000ab60
    int64_t v2 = g118; // 0x18000ab65
    int64_t v3 = g117; // 0x18000ab6a
    g116 = v3;
    int64_t v4 = *(int64_t *)(v3 + 16); // 0x18000ab6d
    g117 = v4;
    int64_t v5 = g119; // 0x18000ab71
    g118 = v5;
    int64_t v6; // 0x18000ab7e
    int64_t v7; // 0x18000ab89
    if (*(int32_t *)v4 == 0) {
        // 0x18000ab79
        g114 = function_180009bc0(v4);
        v7 = g118;
        v6 = g116;
    } else {
        v7 = v5;
        v6 = v3;
    }
    int64_t v8 = *(int64_t *)(v6 + 16); // 0x18000ab7e
    g117 = v8;
    g112 = (int64_t)"tcp";
    g119 = v7;
    g116 = v1;
    g118 = v2;
    int64_t result = function_18000a840(v8, v7, "tcp"); // 0x18000ab96
    g114 = result;
    return result;
}
 
// Address range: 0x18000aba0 - 0x18000ac46
// Demangled:     public: wxIPaddress::Hostname
int64_t _3f_Hostname_40_wxIPaddress_40__40_QEAA_NAEBVwxString_40__40__40_Z(int64_t a1, int64_t a2) {
    // 0x18000aba0
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x18000aba0
    int64_t v2 = g118; // 0x18000aba5
    g116 = g117;
    g117 = a2;
    g118 = a2;
    int64_t v3 = _3f_empty_40_wxString_40__40_QEBA_NXZ(a2, a2); // 0x18000abb3
    g114 = v3;
    if ((char)v3 == 0) {
        int64_t v4 = g116 + 24; // 0x18000abbd
        g117 = v4;
        int64_t v5 = g118; // 0x18000abc1
        g119 = v5;
        g114 = _3f__3f_4wxString_40__40_QEAAAEAV0_40_AEBV0_40__40_Z(v4, v5);
        int64_t v6 = g116; // 0x18000abca
        int64_t v7 = *(int64_t *)(v6 + 16); // 0x18000abca
        g117 = v7;
        int64_t v8; // 0x18000abd8
        if (*(int32_t *)v7 == 0) {
            // 0x18000abd3
            g114 = function_180009bc0(v7);
            v8 = g116;
        } else {
            v8 = v6;
        }
        int64_t v9 = *(int64_t *)(v8 + 16); // 0x18000abd8
        g117 = v9;
        int64_t v10 = g118; // 0x18000abdc
        g119 = v10;
        g116 = v1;
        g118 = v2;
        int64_t result = function_18000a960(v9, v10); // 0x18000abe9
        g114 = result;
        return result;
    }
    int64_t v11 = *(int64_t *)0x180019440; // 0x18000abee
    g114 = v11;
    int64_t result2; // 0x18000ac39
    if (*(int64_t *)v11 == 0) {
        // 0x18000ac39
        result2 = v11 & -256;
        g114 = result2;
        g116 = v1;
        g118 = v2;
        return result2;
    }
    // 0x18000abfb
    g114 = (int64_t)"empty host name is invalid";
    g113 = (int64_t)"!name.empty()";
    g112 = (int64_t)"wxIPaddress::Hostname";
    g117 = (int64_t)"..\\..\\src\\common\\sckaddr.cpp";
    g119 = 805;
    int64_t v12 = _3f_wxOnAssert_40__40_YAXPEBDH000_40_Z("..\\..\\src\\common\\sckaddr.cpp", 805, "wxIPaddress::Hostname", "!name.empty()"); // 0x18000ac21
    g114 = v12;
    char * v13 = (char *)*(int64_t *)0x180019430; // 0x18000ac2e
    int64_t v14; // 0x18000ac38
    if (*v13 != 0) {
        // 0x18000ac34
        *v13 = 0;
        v14 = __asm_int3();
        g114 = v14;
    } else {
        v14 = v12;
    }
    // 0x18000ac39
    result2 = v14 & -256;
    g114 = result2;
    g116 = v1;
    g118 = v2;
    return result2;
}
 
// Address range: 0x18000ac50 - 0x18000ad14
// Demangled:     public: wxIPaddress::LocalHost
int64_t _3f_LocalHost_40_wxIPaddress_40__40_QEAA_NXZ(int64_t a1) {
    // 0x18000ac50
    g117 = a1;
    int64_t v1 = g116; // 0x18000ac50
    g116 = g117;
    g119 = (int64_t)"localhost";
    int64_t v2; // bp-64
    int64_t v3 = &v2; // 0x18000ac69
    g117 = v3;
    g114 = _3f__3f_0wxString_40__40_QEAA_40_PEBD_40_Z(&v2, (int64_t)"localhost");
    g117 = v3;
    int64_t v4 = _3f_empty_40_wxString_40__40_QEBA_NXZ(v3, g119); // 0x18000ac7a
    g114 = v4;
    char * v5;
    int64_t v6;
    char * v7;
    if ((char)v4 != 0) {
        int64_t v8 = *(int64_t *)0x180019440; // 0x18000acb4
        g114 = v8;
        char * v9;
        if (*(int64_t *)v8 != 0) {
            // 0x18000acc1
            g114 = (int64_t)"empty host name is invalid";
            g112 = (int64_t)"wxIPaddress::Hostname";
            g119 = 805;
            g117 = (int64_t)"..\\..\\src\\common\\sckaddr.cpp";
            g114 = _3f_wxOnAssert_40__40_YAXPEBDH000_40_Z("..\\..\\src\\common\\sckaddr.cpp", 805, "wxIPaddress::Hostname", "!name.empty()");
            char * v10 = (char *)*(int64_t *)0x180019430; // 0x18000acf4
            if (*v10 != 0) {
                // 0x18000acfa
                *v10 = 0;
                g114 = __asm_int3();
                v9 = "wxIPaddress::Hostname";
            } else {
                v9 = "wxIPaddress::Hostname";
            }
        } else {
            v9 = v7;
        }
        // 0x18000acff
        v5 = v9;
        v6 = g116 & -256;
    } else {
        int64_t v11 = g116 + 24; // 0x18000ac84
        g117 = v11;
        g119 = v3;
        g114 = _3f__3f_4wxString_40__40_QEAAAEAV0_40_AEBV0_40__40_Z(v11, v3);
        int64_t v12 = g116; // 0x18000ac93
        int64_t v13 = *(int64_t *)(v12 + 16); // 0x18000ac93
        g117 = v13;
        int64_t v14; // 0x18000aca6
        if (*(int32_t *)v13 == 0) {
            // 0x18000ac9c
            g114 = function_180009bc0(v13);
            v14 = g116;
        } else {
            v14 = v12;
        }
        // 0x18000aca1
        g119 = v3;
        int64_t v15 = *(int64_t *)(v14 + 16); // 0x18000aca6
        g117 = v15;
        int64_t v16 = function_18000a960(v15, v3); // 0x18000acaa
        g114 = v16;
        v5 = v7;
        v6 = v16;
    }
    // 0x18000ad01
    g116 = v6;
    g117 = v3;
    int64_t result = g116 | _3f__3f_1wxString_40__40_QEAA_40_XZ(v3, g119, (int64_t)v5) & -256; // 0x18000ad0c
    g114 = result;
    g116 = v1;
    return result;
}
 
// Address range: 0x18000ad20 - 0x18000ad28
// Demangled:     public: virtual wxFileProto::GetClassInfo
int64_t _3f_GetClassInfo_40_wxFileProto_40__40_UEBAPEAVwxClassInfo_40__40_XZ(void) {
    // 0x18000ad20
    g114 = 0x18002ec80;
    return 0x18002ec80;
}
 
// Address range: 0x18000ad60 - 0x18000ad6f
// Demangled:     public: virtual wxFileProto::~wxFileProto
int64_t _3f__3f_1wxFileProto_40__40_UEAA_40_XZ(int64_t a1) {
    // 0x18000ad60
    g117 = a1;
    g114 = &g28;
    *(int64_t *)a1 = (int64_t)&g28;
    int64_t result = _3f__3f_1wxProtocol_40__40_UEAA_40_XZ(a1); // 0x18000ad6a
    g114 = result;
    return result;
}
 
// Address range: 0x18000ad70 - 0x18000ae36
// Demangled:     public: virtual wxFileProto::GetInputStream
int64_t _3f_GetInputStream_40_wxFileProto_40__40_UEAAPEAVwxInputStream_40__40_AEBVwxString_40__40__40_Z(int64_t a1, int64_t a2) {
    // 0x18000ad70
    g119 = a2;
    g117 = a1;
    int64_t v1;
    g114 = &v1;
    int64_t v2 = g120; // 0x18000ad74
    int64_t v3 = g116; // 0x18000ad83
    int64_t v4 = g119; // 0x18000ad87
    int64_t v5 = g117; // 0x18000ad8a
    g120 = 0;
    g117 = 72;
    int64_t v6 = function_18001323c(72, v4); // 0x18000ad95
    g114 = v6;
    g116 = v6;
    int64_t v7; // bp-80
    if (v6 == 0) {
        // 0x18000addd
        g116 = 0;
    } else {
        // 0x18000adaa
        g119 = v4;
        g117 = &v7;
        int64_t v8 = _3f_Unescape_40_wxURI_40__40_SA_3f_AVwxString_40__40_AEBV2_40__40_Z(&v7, v4); // 0x18000adb2
        g114 = v8;
        g120 = 1;
        g119 = v8;
        int64_t v9 = g116; // 0x18000adc8
        g117 = v9;
        g114 = _3f__3f_0wxFileInputStream_40__40_QEAA_40_AEBVwxString_40__40__40_Z(v9, (int64_t *)v8);
        *(int64_t *)g116 = (int64_t)&g29;
    }
    // 0x18000addf
    int64_t v10; // 0x18000adf9
    if ((g120 & 1) == 0) {
        // 0x18000addf
        v10 = g114;
    } else {
        int64_t v11 = &v7; // 0x18000ade5
        g117 = v11;
        int64_t v12 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v11, g119, g112); // 0x18000adea
        g114 = v12;
        v10 = v12;
    }
    int64_t v13 = g116; // 0x18000adf0
    g119 = *(int64_t *)v13;
    g117 = v13;
    int32_t * v14 = (int32_t *)(v5 + 376); // 0x18000ae0c
    int64_t result;
    if ((char)v10 == 0) {
        // 0x18000ae0c
        *v14 = 6;
        int64_t v15 = g116; // 0x18000ae16
        g114 = *(int64_t *)v15;
        g119 = 1;
        g117 = v15;
        result = 0;
    } else {
        // 0x18000adfd
        *v14 = 0;
        result = g116;
    }
    // 0x18000ae26
    g114 = result;
    g116 = v3;
    g120 = v2;
    return result;
}
 
// Address range: 0x18000ae40 - 0x18000ae70
int64_t function_18000ae40(int64_t result, int64_t a2) {
    // 0x18000ae40
    g119 = a2;
    g117 = result;
    int64_t v1 = g116; // 0x18000ae40
    g116 = g119;
    g114 = _3f__3f_1wxFileInputStream_40__40_UEAA_40_XZ(result);
    if ((g116 & 1) != 0) {
        g117 = result;
        g114 = function_18001310e(result);
    }
    g114 = result;
    g116 = v1;
    return result;
}
 
// Address range: 0x18000ae70 - 0x18000aeec
int64_t function_18000ae70(int64_t a1, int64_t a2) {
    // 0x18000ae70
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x18000ae70
    int64_t v2 = g120; // 0x18000ae75
    int64_t v3 = g119; // 0x18000ae7a
    g120 = v3;
    g116 = a1;
    if ((v3 & 2) == 0) {
        // 0x18000aec1
        g114 = &g28;
        *(int64_t *)a1 = (int64_t)&g28;
        g114 = _3f__3f_1wxProtocol_40__40_UEAA_40_XZ(a1);
        if ((g120 & 1) != 0) {
            int64_t v4 = g116; // 0x18000aed6
            g117 = v4;
            g114 = function_18001310e(v4);
        }
        int64_t result = g116; // 0x18000aede
        g114 = result;
        g116 = v1;
        g120 = v2;
        return result;
    }
    uint32_t v5 = *(int32_t *)(a1 - 8); // 0x18000ae84
    g112 = v5;
    g119 = 392;
    g114 = function_180013168(a1, 392, v5, 0x18000ad60);
    if ((g120 & 1) != 0) {
        int64_t v6 = g116 - 8; // 0x18000aea4
        g117 = v6;
        g114 = function_180013114(v6);
    }
    int64_t result2 = g116 - 8; // 0x18000aead
    g114 = result2;
    g116 = v1;
    g120 = v2;
    return result2;
}
 
// Address range: 0x18000aef0 - 0x18000af35
// Demangled:     public: static wxFileProto::wxCreateObject
int64_t _3f_wxCreateObject_40_wxFileProto_40__40_SAPEAVwxObject_40__40_XZ(void) {
    int64_t v1 = g116; // 0x18000aef0
    g117 = 392;
    int64_t v2 = function_18001323c(392, g119); // 0x18000af04
    g114 = v2;
    g116 = v2;
    int64_t result;
    if (v2 == 0) {
        result = 0;
    } else {
        // 0x18000af16
        g117 = v2;
        g114 = _3f__3f_0wxProtocol_40__40_QEAA_40_XZ(v2, g119);
        *(int64_t *)g116 = (int64_t)&g28;
        result = g116;
    }
    // 0x18000af2f
    g114 = result;
    g116 = v1;
    return result;
}
 
// Address range: 0x18000af40 - 0x18000af47
// Demangled:     public: virtual wxTCPClient::~wxTCPClient
int64_t _3f__3f_1wxTCPClient_40__40_UEAA_40_XZ(void) {
    int64_t result = _3f__3f_1wxClientBase_40__40_UEAA_40_XZ(); // 0x18000af40
    g114 = result;
    return result;
}
 
// Address range: 0x18000af50 - 0x18000af72
// Demangled:     public: wxTCPClient::wxTCPClient
int64_t _3f__3f_0wxTCPClient_40__40_QEAA_40_AEBV0_40__40_Z(int64_t a1) {
    // 0x18000af50
    g117 = a1;
    int64_t v1 = g116; // 0x18000af50
    g116 = g117;
    _3f__3f_0wxClientBase_40__40_QEAA_40_AEBV0_40__40_Z();
    *(int64_t *)g116 = (int64_t)&g30;
    int64_t result = g116; // 0x18000af69
    g114 = result;
    g116 = v1;
    return result;
}
 
// Address range: 0x18000afa0 - 0x18000b013
int64_t function_18000afa0(int64_t a1, int64_t a2) {
    // 0x18000afa0
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x18000afa0
    int64_t v2 = g120; // 0x18000afa5
    int64_t v3 = g119; // 0x18000afaa
    g120 = v3;
    g116 = a1;
    if ((v3 & 2) == 0) {
        // 0x18000aff1
        g114 = _3f__3f_1wxClientBase_40__40_UEAA_40_XZ();
        if ((g120 & 1) != 0) {
            int64_t v4 = g116; // 0x18000affd
            g117 = v4;
            g114 = function_18001310e(v4);
        }
        int64_t result = g116; // 0x18000b005
        g114 = result;
        g116 = v1;
        g120 = v2;
        return result;
    }
    uint32_t v5 = *(int32_t *)(a1 - 8); // 0x18000afb4
    g112 = v5;
    g119 = 16;
    g114 = function_180013168(a1, 16, v5, 0x18000af40);
    if ((g120 & 1) != 0) {
        int64_t v6 = g116 - 8; // 0x18000afd4
        g117 = v6;
        g114 = function_180013114(v6);
    }
    int64_t result2 = g116 - 8; // 0x18000afdd
    g114 = result2;
    g116 = v1;
    g120 = v2;
    return result2;
}
 
// Address range: 0x18000b020 - 0x18000b0bd
int64_t function_18000b020(int64_t a1, int64_t a2) {
    // 0x18000b020
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x18000b02f
    int64_t v2 = g120; // 0x18000b034
    g118 = a2;
    g120 = g117;
    g117 = 80;
    int64_t v3 = function_18001323c(80, a2); // 0x18000b044
    g114 = v3;
    g116 = v3;
    int64_t v4; // 0x18000b085
    if (v3 == 0) {
        // 0x18000b080
        g116 = 0;
        v4 = 0;
    } else {
        // 0x18000b056
        g117 = v3;
        _3f__3f_0wxSockAddress_40__40_QEAA_40_XZ(v3);
        g114 = &g6;
        *(int64_t *)g116 = (int64_t)&g6;
        int64_t v5 = g116 + 24; // 0x18000b069
        g117 = v5;
        _3f__3f_0wxString_40__40_QEAA_40_XZ(v5);
        g114 = &g7;
        *(int64_t *)g116 = (int64_t)&g7;
        v4 = g116;
    }
    int64_t v6 = g120; // 0x18000b082
    g119 = v6;
    g117 = v4;
    g114 = _3f_Service_40_wxIPaddress_40__40_QEAA_NAEBVwxString_40__40__40_Z((int64_t *)v4, (int64_t *)v6);
    int64_t v7 = g118; // 0x18000b08d
    g117 = v7;
    int64_t v8 = _3f_empty_40_wxString_40__40_QEBA_NXZ(v7, v6); // 0x18000b090
    g114 = v8;
    if ((char)v8 == 0) {
        int64_t v9 = g118; // 0x18000b09a
        g119 = v9;
        int64_t v10 = g116; // 0x18000b09d
        g117 = v10;
        g114 = _3f_Hostname_40_wxIPaddress_40__40_QEAA_NAEBVwxString_40__40__40_Z(v10, v9);
    }
    int64_t result = g116;
    g114 = result;
    g116 = v1;
    g120 = v2;
    return result;
}
 
// Address range: 0x18000b0c0 - 0x18000b117
int64_t function_18000b0c0(int64_t a1, int64_t a2) {
    // 0x18000b0c0
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x18000b0c0
    g114 = g74;
    if (g74 != 0) {
        // 0x18000b111
        g116 = v1;
        return g74;
    }
    int64_t v2 = g74 + 120; // 0x18000b0db
    g117 = v2;
    int64_t v3 = function_18001323c(v2, a2); // 0x18000b0de
    g114 = v3;
    g116 = v3;
    int64_t result; // 0x18000b107
    if (v3 == 0) {
        // 0x18000b105
        g116 = 0;
        result = 0;
    } else {
        // 0x18000b0f0
        g117 = v3;
        g114 = _3f__3f_0wxEvtHandler_40__40_QEAA_40_XZ(v3);
        *(int64_t *)g116 = (int64_t)&g31;
        result = g116;
    }
    // 0x18000b107
    g74 = result;
    g114 = result;
    // 0x18000b111
    g116 = v1;
    return result;
}
 
// Address range: 0x18000b120 - 0x18000b123
// Demangled:     public: virtual wxFileProto::Abort
int64_t _3f_Abort_40_wxFileProto_40__40_UEAA_NXZ(void) {
    int64_t result = g114 & -256 | 1; // 0x18000b120
    g114 = result;
    return result;
}
 
// Address range: 0x18000b130 - 0x18000b138
int64_t function_18000b130(void) {
    // 0x18000b130
    g114 = &g75;
    return &g75;
}
 
// Address range: 0x18000b140 - 0x18000b186
int64_t function_18000b140(void) {
    int64_t v1 = g116; // 0x18000b140
    g117 = 80;
    int64_t v2 = function_18001323c(80, g119); // 0x18000b154
    g114 = v2;
    g116 = v2;
    int64_t result;
    if (v2 == 0) {
        result = 0;
    } else {
        // 0x18000b166
        g117 = v2;
        g114 = _3f__3f_0wxModule_40__40_QEAA_40_XZ(v2);
        *(int64_t *)g116 = (int64_t)&g32;
        result = g116;
    }
    // 0x18000b180
    g114 = result;
    g116 = v1;
    return result;
}
 
// Address range: 0x18000b190 - 0x18000b1b7
int64_t function_18000b190(int64_t a1) {
    // 0x18000b190
    g117 = a1;
    int64_t v1 = g117; // 0x18000b196
    g114 = *(int64_t *)(v1 + 104);
    int64_t v2 = v1 + 160; // 0x18000b1a4
    g117 = v2;
    int64_t result = _3f_Read8_40_wxDataInputStream_40__40_QEAAEXZ(v2); // 0x18000b1b0
    g114 = result;
    return result;
}
 
// Address range: 0x18000b1c0 - 0x18000b201
int64_t function_18000b1c0(int64_t a1, int64_t * a2) {
    // 0x18000b1c0
    g119 = (int64_t)a2;
    g117 = a1;
    int64_t v1 = g116; // 0x18000b1c0
    int64_t v2 = g117; // 0x18000b1ca
    g114 = *(int64_t *)(v2 + 104);
    g116 = v2;
    int64_t result = g119; // 0x18000b1d5
    int64_t v3 = v2 + 160; // 0x18000b1e3
    g117 = v3;
    _3f_ReadString_40_wxDataInputStream_40__40_QEAA_3f_AVwxString_40__40_XZ(v3, result);
    g116 = v1;
    g114 = result;
    return result;
}
 
// Address range: 0x18000b210 - 0x18000b336
int64_t function_18000b210(int64_t a1, int64_t a2, int64_t a3) {
    // 0x18000b210
    g112 = a3;
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x18000b210
    int64_t v2 = g120; // 0x18000b21a
    int64_t v3 = g117; // 0x18000b224
    int64_t v4 = v3 + 104; // 0x18000b224
    int64_t * v5 = (int64_t *)v4; // 0x18000b224
    g114 = *v5;
    g116 = v3;
    g117 = v4;
    int64_t v6 = g112; // 0x18000b22f
    int64_t v7 = g119; // 0x18000b232
    int64_t result;
    int64_t v8; // 0x18000b307
    int64_t v9; // 0x18000b307
    if (v7 == 0) {
        int64_t v10 = *(int64_t *)0x180019440; // 0x18000b2d4
        g114 = v10;
        if (*(int64_t *)v10 == 0) {
            goto lab_0x18000b31f;
        } else {
            // 0x18000b2e1
            g114 = (int64_t)"NULL connection parameter";
            g119 = 239;
            v9 = (int64_t)"conn";
            v8 = 239;
            goto lab_0x18000b2f4;
        }
    } else {
        if (v6 == 0) {
            int64_t v11 = *(int64_t *)0x180019440; // 0x18000b2b2
            g114 = v11;
            if (*(int64_t *)v11 == 0) {
                goto lab_0x18000b31f;
            } else {
                // 0x18000b2bf
                g114 = (int64_t)"NULL size parameter";
                g119 = 240;
                v9 = (int64_t)"size";
                v8 = 240;
                goto lab_0x18000b2f4;
            }
        } else {
            // 0x18000b246
            g114 = *v5;
            int64_t v12 = v3 + 160; // 0x18000b251
            g117 = v12;
            int64_t v13 = _3f_Read32_40_wxDataInputStream_40__40_QEAAIXZ(v12); // 0x18000b258
            g114 = v13;
            g117 = v7;
            g119 = v13;
            *(int64_t *)v6 = v13;
            int64_t v14 = _3f_GetBufferAtLeast_40_wxConnectionBase_40__40_QEAAPEAX_K_40_Z(v7); // 0x18000b266
            g114 = v14;
            g120 = v14;
            if (v14 != 0) {
                // 0x18000b274
                g119 = v14;
                g117 = g116;
                result = v14;
                // 0x18000b321
                g114 = result;
                g116 = v1;
                g120 = v2;
                return result;
            }
            int64_t v15 = *(int64_t *)0x180019440; // 0x18000b28c
            g114 = v15;
            if (*(int64_t *)v15 == 0) {
                goto lab_0x18000b31f;
            } else {
                // 0x18000b29d
                g114 = (int64_t)"IPC buffer allocation failed";
                g119 = 245;
                v9 = (int64_t)"data";
                v8 = 245;
                goto lab_0x18000b2f4;
            }
        }
    }
  lab_0x18000b31f:
    result = 0;
    // 0x18000b321
    g114 = result;
    g116 = v1;
    g120 = v2;
    return result;
  lab_0x18000b2f4:
    // 0x18000b2f4
    g112 = (int64_t)"wxIPCSocketStreams::ReadData";
    g117 = (int64_t)"..\\..\\src\\common\\sckipc.cpp";
    g114 = _3f_wxOnAssert_40__40_YAXPEBDH000_40_Z("..\\..\\src\\common\\sckipc.cpp", v8, "wxIPCSocketStreams::ReadData", (char *)v9);
    char * v16 = (char *)*(int64_t *)0x180019430; // 0x18000b314
    if (*v16 != 0) {
        // 0x18000b31a
        *v16 = 0;
        g114 = __asm_int3();
    }
    goto lab_0x18000b31f;
}
 
// Address range: 0x18000b340 - 0x18000b3f6
int64_t function_18000b340(int64_t a1, int64_t a2, int64_t * a3, int64_t * a4, int64_t a5) {
    int64_t v1 = (int64_t)a3;
    g112 = v1;
    g119 = a2;
    g117 = a1;
    int64_t v2 = g116; // 0x18000b340
    int64_t v3 = g120; // 0x18000b34a
    g120 = (int64_t)a4;
    g116 = v1;
    g115 = g119;
    int64_t v4 = g117; // 0x18000b35d
    g118 = v4;
    int64_t result;
    if (a3 != NULL) {
        // 0x18000b365
        g114 = *(int64_t *)(v4 + 104);
        int64_t v5 = v4 + 160; // 0x18000b370
        g117 = v5;
        int64_t v6 = _3f_Read8_40_wxDataInputStream_40__40_QEAAEXZ(v5); // 0x18000b377
        g114 = v6;
        int64_t v7 = g120; // 0x18000b37d
        g112 = v7;
        g119 = g115;
        g117 = g118;
        *(int32_t *)g116 = (int32_t)v6;
        result = function_18000b210(g118, g115, v7);
        // 0x18000b3e1
        g114 = result;
        g116 = v2;
        g120 = v3;
        return result;
    }
    int64_t v8 = *(int64_t *)0x180019440; // 0x18000b394
    g114 = v8;
    if (*(int64_t *)v8 != 0) {
        // 0x18000b3a1
        g114 = (int64_t)"NULL format parameter";
        g112 = (int64_t)"wxIPCSocketStreams::ReadFormatData";
        g117 = (int64_t)"..\\..\\src\\common\\sckipc.cpp";
        g119 = 256;
        g114 = _3f_wxOnAssert_40__40_YAXPEBDH000_40_Z("..\\..\\src\\common\\sckipc.cpp", 256, "wxIPCSocketStreams::ReadFormatData", "format");
        char * v9 = (char *)*(int64_t *)0x180019430; // 0x18000b3d4
        if (*v9 != 0) {
            // 0x18000b3da
            *v9 = 0;
            g114 = __asm_int3();
        }
    }
    result = 0;
    // 0x18000b3e1
    g114 = result;
    g116 = v2;
    g120 = v3;
    return result;
}
 
// Address range: 0x18000b400 - 0x18000b40f
int64_t function_18000b400(int64_t a1) {
    // 0x18000b400
    g117 = a1;
    int64_t v1 = a1 + 104; // 0x18000b403
    int64_t result = *(int64_t *)v1; // 0x18000b403
    g114 = result;
    g117 = v1;
    return result;
}
 
// Address range: 0x18000b410 - 0x18000b418
// Demangled:     public: virtual wxTCPServer::GetClassInfo
int64_t _3f_GetClassInfo_40_wxTCPServer_40__40_UEBAPEAVwxClassInfo_40__40_XZ(void) {
    // 0x18000b410
    g114 = 0x18002edb8;
    return 0x18002edb8;
}
 
// Address range: 0x18000b420 - 0x18000b428
// Demangled:     public: virtual wxTCPClient::GetClassInfo
int64_t _3f_GetClassInfo_40_wxTCPClient_40__40_UEBAPEAVwxClassInfo_40__40_XZ(void) {
    // 0x18000b420
    g114 = 0x18002ede8;
    return 0x18002ede8;
}
 
// Address range: 0x18000b430 - 0x18000b438
// Demangled:     public: virtual wxTCPConnection::GetClassInfo
int64_t _3f_GetClassInfo_40_wxTCPConnection_40__40_UEBAPEAVwxClassInfo_40__40_XZ(void) {
    // 0x18000b430
    g114 = 0x18002ee18;
    return 0x18002ee18;
}
 
// Address range: 0x18000b440 - 0x18000b462
// Demangled:     public: wxTCPClient::wxTCPClient
int64_t _3f__3f_0wxTCPClient_40__40_QEAA_40_XZ(int64_t a1) {
    // 0x18000b440
    g117 = a1;
    int64_t v1 = g116; // 0x18000b440
    g116 = a1;
    _3f__3f_0wxClientBase_40__40_QEAA_40_XZ(a1);
    *(int64_t *)g116 = (int64_t)&g30;
    int64_t result = g116; // 0x18000b459
    g114 = result;
    g116 = v1;
    return result;
}
 
// Address range: 0x18000b470 - 0x18000b507
// Demangled:     public: virtual wxTCPClient::ValidHost
int64_t _3f_ValidHost_40_wxTCPClient_40__40_UEAA_NAEBVwxString_40__40__40_Z(void) {
    int64_t v1 = g116; // 0x18000b470
    int64_t v2; // bp-152
    int64_t v3 = g61 ^ (int64_t)&v2; // 0x18000b489
    g114 = v3;
    g116 = g119;
    int32_t v4; // bp-104
    int64_t v5 = &v4; // 0x18000b497
    g117 = v5;
    _3f__3f_0wxSockAddress_40__40_QEAA_40_XZ(v5);
    g114 = &g6;
    v4 = &g6;
    int64_t v6; // bp-80
    int64_t v7 = &v6; // 0x18000b4ae
    g117 = v7;
    _3f__3f_0wxString_40__40_QEAA_40_XZ(v7);
    g114 = &g7;
    v4 = &g7;
    int64_t v8 = g116; // 0x18000b4c6
    g119 = v8;
    g117 = v5;
    int64_t v9 = _3f_Hostname_40_wxIPaddress_40__40_QEAA_NAEBVwxString_40__40__40_Z(v5, v8); // 0x18000b4ce
    g114 = v9;
    g116 = v9;
    g117 = v7;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v7, v8, g112);
    g117 = v5;
    g114 = g116 | _3f__3f_1wxSockAddress_40__40_UEAA_40_XZ(v5) & -256;
    int64_t v10 = g121 ^ v3; // 0x18000b4f6
    g117 = v10;
    __security_check_cookie(v10);
    g114 = &g122;
    g116 = v1;
    return &g122;
}
 
// Address range: 0x18000b510 - 0x18000b53a
// Demangled:     public: wxTCPServer::wxTCPServer
int64_t _3f__3f_0wxTCPServer_40__40_QEAA_40_XZ(int64_t a1) {
    // 0x18000b510
    g117 = a1;
    int64_t v1 = g116; // 0x18000b510
    g116 = a1;
    _3f__3f_0wxServerBase_40__40_QEAA_40_XZ(a1);
    *(int64_t *)(g116 + 16) = 0;
    int64_t v2 = g116; // 0x18000b52e
    g114 = v2;
    *(int64_t *)v2 = (int64_t)&g33;
    g116 = v1;
    return g114;
}
 
// Address range: 0x18000b540 - 0x18000b6c6
// Demangled:     public: virtual wxTCPServer::Create
int64_t _3f_Create_40_wxTCPServer_40__40_UEAA_NAEBVwxString_40__40__40_Z(int64_t a1, int64_t a2) {
    // 0x18000b540
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x18000b54f
    int64_t v2 = g120; // 0x18000b554
    g120 = g119;
    int64_t v3 = g117; // 0x18000b55f
    g118 = v3;
    int64_t v4 = *(int64_t *)(v3 + 16); // 0x18000b562
    g114 = v4;
    if (v4 != 0) {
        // 0x18000b56b
        *(int64_t *)(v4 + 224) = 0;
        int64_t v5 = *(int64_t *)(g117 + 16); // 0x18000b576
        g117 = v5;
        g114 = _3f_Destroy_40_wxSocketBase_40__40_QEAA_NXZ(v5);
        *(int64_t *)(g118 + 16) = 0;
    }
    int64_t v6 = *(int64_t *)0x180019b50; // 0x18000b587
    g119 = v6;
    int64_t v7 = *(int64_t *)v6; // 0x18000b58e
    g119 = v7;
    int64_t v8; // bp-64
    int64_t v9 = &v8; // 0x18000b591
    g117 = v9;
    g114 = _3f__3f_0wxString_40__40_QEAA_40_PEB_W_40_Z(&v8, v7, g112);
    g117 = 80;
    int64_t v10 = function_18001323c(80, v7); // 0x18000b5a2
    g114 = v10;
    g116 = v10;
    int64_t v11; // 0x18000b5e3
    if (v10 == 0) {
        // 0x18000b5de
        g116 = 0;
        v11 = 0;
    } else {
        // 0x18000b5b4
        g117 = v10;
        _3f__3f_0wxSockAddress_40__40_QEAA_40_XZ(v10);
        g114 = &g6;
        *(int64_t *)g116 = (int64_t)&g6;
        int64_t v12 = g116 + 24; // 0x18000b5c7
        g117 = v12;
        _3f__3f_0wxString_40__40_QEAA_40_XZ(v12);
        g114 = &g7;
        *(int64_t *)g116 = (int64_t)&g7;
        v11 = g116;
    }
    int64_t v13 = g120; // 0x18000b5e0
    g119 = v13;
    g117 = v11;
    g114 = _3f_Service_40_wxIPaddress_40__40_QEAA_NAEBVwxString_40__40__40_Z((int64_t *)v11, (int64_t *)v13);
    g117 = v9;
    int64_t v14 = _3f_empty_40_wxString_40__40_QEBA_NXZ(v9, g119); // 0x18000b5f0
    g114 = v14;
    if ((char)v14 == 0) {
        // 0x18000b5fa
        g119 = v9;
        int64_t v15 = g116; // 0x18000b5ff
        g117 = v15;
        g114 = _3f_Hostname_40_wxIPaddress_40__40_QEAA_NAEBVwxString_40__40__40_Z(v15, v9);
    }
    // 0x18000b608
    g117 = v9;
    int64_t v16 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v9, g119, g112); // 0x18000b60d
    g114 = v16;
    if (g116 == 0) {
        int64_t result = v16 & -256; // 0x18000b618
        g114 = result;
        // 0x18000b6b3
        g116 = v1;
        g120 = v2;
        return result;
    }
    // 0x18000b61f
    g117 = 248;
    int64_t v17 = function_18001323c(248, g119); // 0x18000b624
    g114 = v17;
    int64_t v18 = 0x100000000 * v17;
    int64_t v19;
    if (v18 == 0) {
        v19 = 0;
    } else {
        // 0x18000b633
        g112 = 44;
        int64_t v20 = g116; // 0x18000b639
        g119 = v20;
        int64_t v21 = v18 / 0x100000000; // 0x18000b63c
        g117 = v21;
        v19 = _3f__3f_0wxSocketServer_40__40_QEAA_40_AEBVwxSockAddress_40__40_H_40_Z(v21, (int64_t *)v20, 44);
    }
    // 0x18000b648
    g114 = v19;
    *(int64_t *)(g118 + 16) = v19;
    int64_t v22 = g116; // 0x18000b64c
    g114 = *(int64_t *)v22;
    g119 = 1;
    g117 = v22;
    int64_t v23 = *(int64_t *)(g118 + 16); // 0x18000b65a
    g117 = v23;
    int64_t result2; // 0x18000b6b1
    if (*(int64_t *)(v23 + 16) != 0) {
        int64_t v24 = function_18000b0c0(v23, 1); // 0x18000b676
        g114 = v24;
        g119 = v24;
        g112 = 1001;
        int64_t v25 = *(int64_t *)(g118 + 16); // 0x18000b684
        g117 = v25;
        g114 = _3f_SetEventHandler_40_wxSocketBase_40__40_QEAAXAEAVwxEvtHandler_40__40_H_40_Z(v25, v24, 1001);
        *(int64_t *)(*(int64_t *)(g118 + 16) + 224) = g118;
        g119 = 4;
        int64_t v26 = *(int64_t *)(g118 + 16); // 0x18000b69d
        g117 = v26;
        g114 = _3f_SetNotify_40_wxSocketBase_40__40_QEAAXH_40_Z(v26, 4);
        g119 = 1;
        int64_t v27 = *(int64_t *)(g118 + 16); // 0x18000b6a8
        g117 = v27;
        result2 = _3f_Notify_40_wxSocketBase_40__40_QEAAX_N_40_Z(v27, 1) & -256 | 1;
        g114 = result2;
    } else {
        // 0x18000b665
        g114 = _3f_Destroy_40_wxSocketBase_40__40_QEAA_NXZ(v23);
        *(int64_t *)(g118 + 16) = 0;
        int64_t v28 = g114 & -256; // 0x18000b672
        g114 = v28;
        result2 = v28;
    }
    // 0x18000b6b3
    g116 = v1;
    g120 = v2;
    return result2;
}
 
// Address range: 0x18000b6d0 - 0x18000b71d
// Demangled:     public: virtual wxTCPServer::~wxTCPServer
int64_t _3f__3f_1wxTCPServer_40__40_UEAA_40_XZ(int64_t a1) {
    // 0x18000b6d0
    g117 = a1;
    int64_t v1 = g116; // 0x18000b6d5
    int64_t v2 = g117; // 0x18000b6e3
    g116 = v2;
    g114 = &g33;
    *(int64_t *)v2 = (int64_t)&g33;
    int64_t v3 = *(int64_t *)(g117 + 16); // 0x18000b6f0
    g114 = v3;
    if (v3 != 0) {
        // 0x18000b6f9
        *(int64_t *)(v3 + 224) = 0;
        int64_t v4 = *(int64_t *)(g117 + 16); // 0x18000b704
        g117 = v4;
        g114 = _3f_Destroy_40_wxSocketBase_40__40_QEAA_NXZ(v4);
    }
    int64_t v5 = g116; // 0x18000b70e
    g117 = v5;
    g116 = v1;
    int64_t result = _3f__3f_1wxServerBase_40__40_UEAA_40_XZ(v5); // 0x18000b716
    g114 = result;
    return result;
}
 
// Address range: 0x18000b720 - 0x18000b72b
// Demangled:     private: wxTCPConnection::Init
int64_t _3f_Init_40_wxTCPConnection_40__40_AEAAXXZ(int64_t a1) {
    // 0x18000b720
    g117 = a1;
    g114 = 0;
    *(int64_t *)(a1 + 40) = 0;
    *(int64_t *)(g117 + 48) = g114;
    return g114;
}
 
// Address range: 0x18000b730 - 0x18000b7f0
// Demangled:     public: virtual wxTCPConnection::Disconnect
int64_t _3f_Disconnect_40_wxTCPConnection_40__40_UEAA_NXZ(int64_t a1) {
    // 0x18000b730
    g117 = a1;
    int64_t v1 = g116; // 0x18000b73f
    int64_t v2 = g117; // 0x18000b744
    g116 = v2;
    int64_t result;
    if (*(char *)(v2 + 33) == 0) {
        // 0x18000b7e5
        result = g114 & -256 | 1;
        g114 = result;
        g116 = v1;
        return result;
    }
    int64_t v3 = *(int64_t *)(v2 + 48); // 0x18000b754
    char v4 = v3; // 0x18000b754
    int64_t v5 = *(int64_t *)0x180019440; // 0x18000b75d
    g114 = v5;
    char * v6;
    char * v7;
    int64_t v8;
    char * v9;
    char * v10;
    int64_t v11;
    if (*(int64_t *)v5 != 0) {
        if (v4 == 0) {
            // 0x18000b76f
            g114 = (int64_t)"NULL streams pointer";
            g112 = (int64_t)"`anonymous-namespace'::IPCOutput::IPCOutput";
            g119 = 305;
            g117 = (int64_t)"..\\..\\src\\common\\sckipc.cpp";
            g114 = _3f_wxOnAssert_40__40_YAXPEBDH000_40_Z("..\\..\\src\\common\\sckipc.cpp", 305, "`anonymous-namespace'::IPCOutput::IPCOutput", "streams");
            char * v12 = (char *)*(int64_t *)0x180019430; // 0x18000b7a2
            if (*v12 != v4) {
                // 0x18000b7a7
                *v12 = v4;
                g114 = __asm_int3();
                v8 = 305;
                v7 = "`anonymous-namespace'::IPCOutput::IPCOutput";
                v6 = "streams";
            } else {
                v8 = 305;
                v7 = "`anonymous-namespace'::IPCOutput::IPCOutput";
                v6 = "streams";
            }
        } else {
            v8 = v11;
            v7 = v10;
            v6 = v9;
        }
    } else {
        v8 = v11;
        v7 = v10;
        v6 = v9;
    }
    int64_t v13 = 0x100000000000000 * v3 / 0x100000000000000; // 0x18000b7ab
    int64_t v14 = v13 + 184; // 0x18000b7ab
    g117 = v14;
    int64_t v15 = v8 & -256 | 11; // 0x18000b7b2
    g119 = v15;
    g114 = _3f_Write8_40_wxDataOutputStream_40__40_QEAAXE_40_Z(v14, 0x100000000 * v15 / 0x100000000, (int64_t)v7, (int64_t)v6);
    int64_t v16 = v13 + 104; // 0x18000b7bb
    g117 = v16;
    g114 = *(int64_t *)v16;
    int64_t v17 = g116; // 0x18000b7c5
    int64_t v18 = *(int64_t *)(v17 + 40); // 0x18000b7c5
    g117 = v18;
    int64_t v19; // 0x18000b7d5
    if (v18 != 0) {
        // 0x18000b7ce
        g119 = 0;
        g114 = _3f_Notify_40_wxSocketBase_40__40_QEAAX_N_40_Z(v18, 0);
        v19 = g116;
        int64_t v20 = *(int64_t *)(v19 + 40); // 0x18000b7d5
        g117 = v20;
        g114 = *(int64_t *)v20;
    } else {
        v19 = v17;
    }
    // 0x18000b7df
    *(char *)(v19 + 33) = 0;
    // 0x18000b7e5
    result = g114 & -256 | 1;
    g114 = result;
    g116 = v1;
    return result;
}
 
// Address range: 0x18000b7f0 - 0x18000b8de
// Demangled:     protected: virtual wxTCPConnection::DoExecute
int64_t _3f_DoExecute_40_wxTCPConnection_40__40_MEAA_NPEBX_KW4wxIPCFormat_40__40__40_Z(int64_t a1, int64_t a2, int64_t a3, int64_t a4) {
    g112 = a3;
    g119 = a2;
    g117 = a1;
    int64_t v1 = g120; // 0x18000b7f0
    int64_t v2 = a4; // 0x18000b80c
    g120 = g112;
    int64_t v3 = g119; // 0x18000b812
    int64_t v4 = g117; // 0x18000b815
    int64_t v5 = *(int64_t *)(v4 + 40); // 0x18000b815
    g114 = v5;
    int64_t result;
    if (*(char *)(v5 + 32) != 0) {
        int64_t v6 = *(int64_t *)(v4 + 48); // 0x18000b826
        char v7 = v6; // 0x18000b826
        int64_t v8 = *(int64_t *)0x180019440; // 0x18000b82f
        g114 = v8;
        if (*(int64_t *)v8 != 0) {
            if (v7 == 0) {
                // 0x18000b841
                g114 = (int64_t)"NULL streams pointer";
                a4 = (int64_t)"streams";
                g112 = (int64_t)"`anonymous-namespace'::IPCOutput::IPCOutput";
                g119 = 305;
                g117 = (int64_t)"..\\..\\src\\common\\sckipc.cpp";
                g114 = _3f_wxOnAssert_40__40_YAXPEBDH000_40_Z("..\\..\\src\\common\\sckipc.cpp", 305, "`anonymous-namespace'::IPCOutput::IPCOutput", "streams");
                char * v9 = (char *)*(int64_t *)0x180019430; // 0x18000b874
                if (*v9 != v7) {
                    // 0x18000b879
                    *v9 = v7;
                    g114 = __asm_int3();
                }
            }
        }
        int64_t v10 = g119 & -256 | 1; // 0x18000b87d
        g119 = v10;
        int64_t v11 = 0x100000000000000 * v6 / 0x100000000000000; // 0x18000b87f
        int64_t v12 = v11 + 184; // 0x18000b87f
        g117 = v12;
        g114 = _3f_Write8_40_wxDataOutputStream_40__40_QEAAXE_40_Z(v12, v10, g112, a4);
        g119 = v2;
        g117 = v12;
        g114 = _3f_Write8_40_wxDataOutputStream_40__40_QEAAXE_40_Z(v12, v2, g112, a4);
        int64_t v13 = g120; // 0x18000b89d
        g119 = v13;
        g117 = v12;
        g114 = _3f_Write32_40_wxDataOutputStream_40__40_QEAAXI_40_Z(v12, v13);
        int64_t v14 = v11 + 104; // 0x18000b8ac
        int64_t * v15 = (int64_t *)v14; // 0x18000b8ac
        g114 = *v15;
        g112 = g120;
        g119 = v3;
        g117 = v14;
        int64_t v16 = *v15; // 0x18000b8be
        g114 = v16;
        g117 = v14;
        result = v16 & -256 | 1;
    } else {
        // 0x18000b81f
        result = v5 & -256;
    }
    // 0x18000b8cb
    g114 = result;
    g120 = v1;
    return result;
}
 
// Address range: 0x18000b8e0 - 0x18000ba05
// Demangled:     public: virtual wxTCPConnection::Request
int64_t _3f_Request_40_wxTCPConnection_40__40_UEAAPEBXAEBVwxString_40__40_PEA_KW4wxIPCFormat_40__40__40_Z(int64_t a1, int64_t a2, int64_t a3, int64_t a4) {
    g112 = a3;
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x18000b8f3
    int64_t v2 = g120; // 0x18000b8fd
    int64_t v3 = a4; // 0x18000b902
    int64_t v4 = g112; // 0x18000b905
    int64_t v5 = g119; // 0x18000b908
    int64_t v6 = g117; // 0x18000b90b
    g118 = v6;
    int64_t v7 = *(int64_t *)(v6 + 40); // 0x18000b90e
    g114 = v7;
    int64_t result; // 0x18000b9e7
    if (*(char *)(v7 + 32) != 0) {
        int64_t v8 = *(int64_t *)(v6 + 48); // 0x18000b91f
        char v9 = v8; // 0x18000b91f
        g120 = v8;
        int64_t v10 = *(int64_t *)0x180019440; // 0x18000b928
        g114 = v10;
        if (*(int64_t *)v10 != 0) {
            if (v9 == 0) {
                // 0x18000b93a
                g114 = (int64_t)"NULL streams pointer";
                a4 = (int64_t)"streams";
                g112 = (int64_t)"`anonymous-namespace'::IPCOutput::IPCOutput";
                g119 = 305;
                g117 = (int64_t)"..\\..\\src\\common\\sckipc.cpp";
                g114 = _3f_wxOnAssert_40__40_YAXPEBDH000_40_Z("..\\..\\src\\common\\sckipc.cpp", 305, "`anonymous-namespace'::IPCOutput::IPCOutput", "streams");
                char * v11 = (char *)*(int64_t *)0x180019430; // 0x18000b96d
                if (*v11 != v9) {
                    // 0x18000b972
                    *v11 = v9;
                    g114 = __asm_int3();
                }
            }
        }
        int64_t v12 = g119 & -256 | 2; // 0x18000b976
        g119 = v12;
        int64_t v13 = 0x100000000000000 * v8 / 0x100000000000000; // 0x18000b978
        int64_t v14 = v13 + 184; // 0x18000b978
        g117 = v14;
        g114 = _3f_Write8_40_wxDataOutputStream_40__40_QEAAXE_40_Z(v14, v12, g112, a4);
        g119 = v5;
        g117 = v14;
        g114 = _3f_WriteString_40_wxDataOutputStream_40__40_QEAAXAEBVwxString_40__40__40_Z(v14, v5);
        g119 = v3;
        g117 = v14;
        g114 = _3f_Write8_40_wxDataOutputStream_40__40_QEAAXE_40_Z(v14, v3, g112, a4);
        int64_t v15 = v13 + 104; // 0x18000b9a7
        g117 = v15;
        g114 = *(int64_t *)v15;
        int64_t v16 = *(int64_t *)(g118 + 48); // 0x18000b9b1
        g116 = v16;
        int64_t v17 = v16 + 104; // 0x18000b9b5
        g117 = v17;
        g114 = *(int64_t *)v17;
        int64_t v18 = v16 + 160; // 0x18000b9bf
        g117 = v18;
        int64_t v19 = _3f_Read8_40_wxDataInputStream_40__40_QEAAEXZ(v18); // 0x18000b9c6
        g114 = v19;
        if ((char)v19 == 8) {
            // 0x18000b9d4
            int64_t v20; // bp-32
            int64_t v21 = v4 != 0 ? v4 : (int64_t)&v20; // 0x18000b9dc
            g112 = v21;
            g119 = g118;
            int64_t v22 = *(int64_t *)(g118 + 48); // 0x18000b9e3
            g117 = v22;
            result = function_18000b210(v22, g118, v21);
            g114 = result;
        } else {
            // 0x18000b9d0
            g114 = 0;
            result = 0;
        }
    } else {
        // 0x18000b918
        g114 = 0;
        result = 0;
    }
    // 0x18000b9ec
    g116 = v1;
    g120 = v2;
    return result;
}
 
// Address range: 0x18000ba10 - 0x18000bb12
// Demangled:     protected: virtual wxTCPConnection::DoPoke
int64_t _3f_DoPoke_40_wxTCPConnection_40__40_MEAA_NAEBVwxString_40__40_PEBX_KW4wxIPCFormat_40__40__40_Z(int64_t a1, int64_t a2, int64_t a3, int64_t a4, unsigned char a5) {
    g112 = a3;
    g119 = a2;
    g117 = a1;
    int64_t v1 = g120; // 0x18000ba10
    g120 = a4;
    int64_t v2 = g112; // 0x18000ba2f
    int64_t v3 = g119; // 0x18000ba32
    int64_t v4 = g117; // 0x18000ba35
    int64_t v5 = *(int64_t *)(v4 + 40); // 0x18000ba35
    g114 = v5;
    int64_t result;
    if (*(char *)(v5 + 32) != 0) {
        int64_t v6 = *(int64_t *)(v4 + 48); // 0x18000ba46
        char v7 = v6; // 0x18000ba46
        int64_t v8 = *(int64_t *)0x180019440; // 0x18000ba4f
        g114 = v8;
        if (*(int64_t *)v8 != 0) {
            if (v7 == 0) {
                // 0x18000ba61
                g114 = (int64_t)"NULL streams pointer";
                a4 = (int64_t)"streams";
                g112 = (int64_t)"`anonymous-namespace'::IPCOutput::IPCOutput";
                g119 = 305;
                g117 = (int64_t)"..\\..\\src\\common\\sckipc.cpp";
                g114 = _3f_wxOnAssert_40__40_YAXPEBDH000_40_Z("..\\..\\src\\common\\sckipc.cpp", 305, "`anonymous-namespace'::IPCOutput::IPCOutput", "streams");
                char * v9 = (char *)*(int64_t *)0x180019430; // 0x18000ba94
                if (*v9 != v7) {
                    // 0x18000ba99
                    *v9 = v7;
                    g114 = __asm_int3();
                }
            }
        }
        int64_t v10 = g119 & -256 | 3; // 0x18000ba9d
        g119 = v10;
        int64_t v11 = 0x100000000000000 * v6 / 0x100000000000000; // 0x18000ba9f
        int64_t v12 = v11 + 184; // 0x18000ba9f
        g117 = v12;
        g114 = _3f_Write8_40_wxDataOutputStream_40__40_QEAAXE_40_Z(v12, v10, g112, a4);
        g119 = v3;
        g117 = v12;
        g114 = _3f_WriteString_40_wxDataOutputStream_40__40_QEAAXAEBVwxString_40__40__40_Z(v12, v3);
        g119 = a5;
        g117 = v12;
        g114 = _3f_Write8_40_wxDataOutputStream_40__40_QEAAXE_40_Z(v12, (int64_t)a5, g112, a4);
        int64_t v13 = g120; // 0x18000bad1
        g119 = v13;
        g117 = v12;
        g114 = _3f_Write32_40_wxDataOutputStream_40__40_QEAAXI_40_Z(v12, v13);
        int64_t v14 = v11 + 104; // 0x18000bae0
        int64_t * v15 = (int64_t *)v14; // 0x18000bae0
        g114 = *v15;
        g112 = g120;
        g119 = v2;
        g117 = v14;
        int64_t v16 = *v15; // 0x18000baf2
        g114 = v16;
        g117 = v14;
        result = v16 & -256 | 1;
    } else {
        // 0x18000ba3f
        result = v5 & -256;
    }
    // 0x18000baff
    g114 = result;
    g120 = v1;
    return result;
}
 
// Address range: 0x18000bb20 - 0x18000bc0b
// Demangled:     public: virtual wxTCPConnection::StartAdvise
int64_t _3f_StartAdvise_40_wxTCPConnection_40__40_UEAA_NAEBVwxString_40__40__40_Z(int64_t a1, int64_t a2) {
    // 0x18000bb20
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x18000bb2f
    int64_t v2 = g120; // 0x18000bb39
    int64_t v3 = g119; // 0x18000bb3e
    int64_t v4 = g117; // 0x18000bb41
    g120 = v4;
    int64_t v5 = *(int64_t *)(v4 + 40); // 0x18000bb44
    g114 = v5;
    int64_t result;
    if (*(char *)(v5 + 32) != 0) {
        int64_t v6 = *(int64_t *)(v4 + 48); // 0x18000bb55
        char v7 = v6; // 0x18000bb55
        int64_t v8 = *(int64_t *)0x180019440; // 0x18000bb5e
        g114 = v8;
        char * v9;
        char * v10;
        char * v11;
        char * v12;
        if (*(int64_t *)v8 != 0) {
            if (v7 == 0) {
                // 0x18000bb70
                g114 = (int64_t)"NULL streams pointer";
                g112 = (int64_t)"`anonymous-namespace'::IPCOutput::IPCOutput";
                g119 = 305;
                g117 = (int64_t)"..\\..\\src\\common\\sckipc.cpp";
                g114 = _3f_wxOnAssert_40__40_YAXPEBDH000_40_Z("..\\..\\src\\common\\sckipc.cpp", 305, "`anonymous-namespace'::IPCOutput::IPCOutput", "streams");
                char * v13 = (char *)*(int64_t *)0x180019430; // 0x18000bba3
                if (*v13 != v7) {
                    // 0x18000bba8
                    *v13 = v7;
                    g114 = __asm_int3();
                    v10 = "`anonymous-namespace'::IPCOutput::IPCOutput";
                    v9 = "streams";
                } else {
                    v10 = "`anonymous-namespace'::IPCOutput::IPCOutput";
                    v9 = "streams";
                }
            } else {
                v10 = v12;
                v9 = v11;
            }
        } else {
            v10 = v12;
            v9 = v11;
        }
        int64_t v14 = g119 & -256 | 4; // 0x18000bbac
        g119 = v14;
        int64_t v15 = 0x100000000000000 * v6 / 0x100000000000000; // 0x18000bbae
        int64_t v16 = v15 + 184; // 0x18000bbae
        g117 = v16;
        g114 = _3f_Write8_40_wxDataOutputStream_40__40_QEAAXE_40_Z(v16, v14, (int64_t)v10, (int64_t)v9);
        g119 = v3;
        g117 = v16;
        g114 = _3f_WriteString_40_wxDataOutputStream_40__40_QEAAXAEBVwxString_40__40__40_Z(v16, v3);
        int64_t v17 = v15 + 104; // 0x18000bbcc
        g117 = v17;
        g114 = *(int64_t *)v17;
        int64_t v18 = *(int64_t *)(g120 + 48); // 0x18000bbd6
        g116 = v18;
        int64_t v19 = v18 + 104; // 0x18000bbda
        g117 = v19;
        g114 = *(int64_t *)v19;
        int64_t v20 = v18 + 160; // 0x18000bbe4
        g117 = v20;
        int64_t v21 = _3f_Read8_40_wxDataInputStream_40__40_QEAAEXZ(v20); // 0x18000bbeb
        g114 = v21;
        result = (int64_t)((char)v21 == 4) | v21 & -256;
    } else {
        // 0x18000bb4e
        result = v5 & -256;
    }
    // 0x18000bbf6
    g114 = result;
    g116 = v1;
    g120 = v2;
    return result;
}
 
// Address range: 0x18000bc10 - 0x18000bcfb
// Demangled:     public: virtual wxTCPConnection::StopAdvise
int64_t _3f_StopAdvise_40_wxTCPConnection_40__40_UEAA_NAEBVwxString_40__40__40_Z(int64_t a1, int64_t a2) {
    // 0x18000bc10
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x18000bc1f
    int64_t v2 = g120; // 0x18000bc29
    int64_t v3 = g119; // 0x18000bc2e
    int64_t v4 = g117; // 0x18000bc31
    g120 = v4;
    int64_t v5 = *(int64_t *)(v4 + 40); // 0x18000bc34
    g114 = v5;
    int64_t result;
    if (*(char *)(v5 + 32) != 0) {
        int64_t v6 = *(int64_t *)(v4 + 48); // 0x18000bc45
        char v7 = v6; // 0x18000bc45
        int64_t v8 = *(int64_t *)0x180019440; // 0x18000bc4e
        g114 = v8;
        char * v9;
        char * v10;
        char * v11;
        char * v12;
        if (*(int64_t *)v8 != 0) {
            if (v7 == 0) {
                // 0x18000bc60
                g114 = (int64_t)"NULL streams pointer";
                g112 = (int64_t)"`anonymous-namespace'::IPCOutput::IPCOutput";
                g119 = 305;
                g117 = (int64_t)"..\\..\\src\\common\\sckipc.cpp";
                g114 = _3f_wxOnAssert_40__40_YAXPEBDH000_40_Z("..\\..\\src\\common\\sckipc.cpp", 305, "`anonymous-namespace'::IPCOutput::IPCOutput", "streams");
                char * v13 = (char *)*(int64_t *)0x180019430; // 0x18000bc93
                if (*v13 != v7) {
                    // 0x18000bc98
                    *v13 = v7;
                    g114 = __asm_int3();
                    v10 = "`anonymous-namespace'::IPCOutput::IPCOutput";
                    v9 = "streams";
                } else {
                    v10 = "`anonymous-namespace'::IPCOutput::IPCOutput";
                    v9 = "streams";
                }
            } else {
                v10 = v12;
                v9 = v11;
            }
        } else {
            v10 = v12;
            v9 = v11;
        }
        int64_t v14 = g119 & -256 | 7; // 0x18000bc9c
        g119 = v14;
        int64_t v15 = 0x100000000000000 * v6 / 0x100000000000000; // 0x18000bc9e
        int64_t v16 = v15 + 184; // 0x18000bc9e
        g117 = v16;
        g114 = _3f_Write8_40_wxDataOutputStream_40__40_QEAAXE_40_Z(v16, v14, (int64_t)v10, (int64_t)v9);
        g119 = v3;
        g117 = v16;
        g114 = _3f_WriteString_40_wxDataOutputStream_40__40_QEAAXAEBVwxString_40__40__40_Z(v16, v3);
        int64_t v17 = v15 + 104; // 0x18000bcbc
        g117 = v17;
        g114 = *(int64_t *)v17;
        int64_t v18 = *(int64_t *)(g120 + 48); // 0x18000bcc6
        g116 = v18;
        int64_t v19 = v18 + 104; // 0x18000bcca
        g117 = v19;
        g114 = *(int64_t *)v19;
        int64_t v20 = v18 + 160; // 0x18000bcd4
        g117 = v20;
        int64_t v21 = _3f_Read8_40_wxDataInputStream_40__40_QEAAEXZ(v20); // 0x18000bcdb
        g114 = v21;
        result = (int64_t)((char)v21 == 7) | v21 & -256;
    } else {
        // 0x18000bc3e
        result = v5 & -256;
    }
    // 0x18000bce6
    g114 = result;
    g116 = v1;
    g120 = v2;
    return result;
}
 
// Address range: 0x18000bd00 - 0x18000be02
// Demangled:     protected: virtual wxTCPConnection::DoAdvise
int64_t _3f_DoAdvise_40_wxTCPConnection_40__40_MEAA_NAEBVwxString_40__40_PEBX_KW4wxIPCFormat_40__40__40_Z(int64_t a1, int64_t a2, int64_t a3, int64_t a4, unsigned char a5) {
    g112 = a3;
    g119 = a2;
    g117 = a1;
    int64_t v1 = g120; // 0x18000bd00
    g120 = a4;
    int64_t v2 = g112; // 0x18000bd1f
    int64_t v3 = g119; // 0x18000bd22
    int64_t v4 = g117; // 0x18000bd25
    int64_t v5 = *(int64_t *)(v4 + 40); // 0x18000bd25
    g114 = v5;
    int64_t result;
    if (*(char *)(v5 + 32) != 0) {
        int64_t v6 = *(int64_t *)(v4 + 48); // 0x18000bd36
        char v7 = v6; // 0x18000bd36
        int64_t v8 = *(int64_t *)0x180019440; // 0x18000bd3f
        g114 = v8;
        if (*(int64_t *)v8 != 0) {
            if (v7 == 0) {
                // 0x18000bd51
                g114 = (int64_t)"NULL streams pointer";
                a4 = (int64_t)"streams";
                g112 = (int64_t)"`anonymous-namespace'::IPCOutput::IPCOutput";
                g119 = 305;
                g117 = (int64_t)"..\\..\\src\\common\\sckipc.cpp";
                g114 = _3f_wxOnAssert_40__40_YAXPEBDH000_40_Z("..\\..\\src\\common\\sckipc.cpp", 305, "`anonymous-namespace'::IPCOutput::IPCOutput", "streams");
                char * v9 = (char *)*(int64_t *)0x180019430; // 0x18000bd84
                if (*v9 != v7) {
                    // 0x18000bd89
                    *v9 = v7;
                    g114 = __asm_int3();
                }
            }
        }
        int64_t v10 = g119 & -256 | 6; // 0x18000bd8d
        g119 = v10;
        int64_t v11 = 0x100000000000000 * v6 / 0x100000000000000; // 0x18000bd8f
        int64_t v12 = v11 + 184; // 0x18000bd8f
        g117 = v12;
        g114 = _3f_Write8_40_wxDataOutputStream_40__40_QEAAXE_40_Z(v12, v10, g112, a4);
        g119 = v3;
        g117 = v12;
        g114 = _3f_WriteString_40_wxDataOutputStream_40__40_QEAAXAEBVwxString_40__40__40_Z(v12, v3);
        g119 = a5;
        g117 = v12;
        g114 = _3f_Write8_40_wxDataOutputStream_40__40_QEAAXE_40_Z(v12, (int64_t)a5, g112, a4);
        int64_t v13 = g120; // 0x18000bdc1
        g119 = v13;
        g117 = v12;
        g114 = _3f_Write32_40_wxDataOutputStream_40__40_QEAAXI_40_Z(v12, v13);
        int64_t v14 = v11 + 104; // 0x18000bdd0
        int64_t * v15 = (int64_t *)v14; // 0x18000bdd0
        g114 = *v15;
        g112 = g120;
        g119 = v2;
        g117 = v14;
        int64_t v16 = *v15; // 0x18000bde2
        g114 = v16;
        g117 = v14;
        result = v16 & -256 | 1;
    } else {
        // 0x18000bd2f
        result = v5 & -256;
    }
    // 0x18000bdef
    g114 = result;
    g120 = v1;
    return result;
}
 
// Address range: 0x18000be10 - 0x18000be18
int64_t function_18000be10(void) {
    // 0x18000be10
    g114 = &g60;
    return &g60;
}
 
// Address range: 0x18000be20 - 0x18000be28
int64_t function_18000be20(void) {
    // 0x18000be20
    g114 = &g77;
    return &g77;
}
 
// Address range: 0x18000be30 - 0x18000be70
int64_t function_18000be30(int64_t a1, int64_t a2) {
    // 0x18000be30
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x18000be30
    int64_t v2 = g119; // 0x18000be36
    g116 = v2;
    g119 = 0;
    int64_t v3 = *(int64_t *)(v2 + 40); // 0x18000be3b
    g117 = v3;
    g114 = _3f_Notify_40_wxSocketBase_40__40_QEAAX_N_40_Z(v3, 0);
    int64_t v4 = g116; // 0x18000be44
    int64_t * v5 = (int64_t *)(v4 + 40); // 0x18000be44
    int64_t v6 = *v5; // 0x18000be44
    g117 = v6;
    g114 = *(int64_t *)v6;
    g117 = v4;
    *(int64_t *)(*v5 + 224) = 0;
    g114 = 0;
    *(char *)(g116 + 33) = 0;
    g116 = v1;
    return g114;
}
 
// Address range: 0x18000be70 - 0x18000beb5
// Demangled:     public: wxTCPConnection::wxTCPConnection
int64_t _3f__3f_0wxTCPConnection_40__40_QEAA_40_XZ(int64_t a1) {
    // 0x18000be70
    g117 = a1;
    int64_t v1 = g116; // 0x18000be75
    g116 = a1;
    _3f__3f_0wxConnectionBase_40__40_QEAA_40_XZ(a1);
    g114 = &g34;
    *(int64_t *)g116 = (int64_t)&g34;
    int64_t v2 = g116 + 56; // 0x18000be97
    g117 = v2;
    _3f__3f_0wxString_40__40_QEAA_40_XZ(v2);
    *(int64_t *)(g116 + 40) = 0;
    *(int64_t *)(g116 + 48) = 0;
    int64_t result = g116; // 0x18000beac
    g114 = result;
    g116 = v1;
    return result;
}
 
// Address range: 0x18000bec0 - 0x18000bf05
// Demangled:     public: wxTCPConnection::wxTCPConnection
int64_t _3f__3f_0wxTCPConnection_40__40_QEAA_40_PEAX_K_40_Z(int64_t a1) {
    // 0x18000bec0
    g117 = a1;
    int64_t v1 = g116; // 0x18000bec5
    g116 = g117;
    _3f__3f_0wxConnectionBase_40__40_QEAA_40_PEAX_K_40_Z();
    g114 = &g34;
    *(int64_t *)g116 = (int64_t)&g34;
    int64_t v2 = g116 + 56; // 0x18000bee7
    g117 = v2;
    _3f__3f_0wxString_40__40_QEAA_40_XZ(v2);
    *(int64_t *)(g116 + 40) = 0;
    *(int64_t *)(g116 + 48) = 0;
    int64_t result = g116; // 0x18000befc
    g114 = result;
    g116 = v1;
    return result;
}
 
// Address range: 0x18000bf10 - 0x18000bfb3
int64_t function_18000bf10(int64_t a1, int64_t a2) {
    // 0x18000bf10
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x18000bf23
    int64_t v2 = g120; // 0x18000bf28
    int64_t v3 = g119; // 0x18000bf2d
    g120 = v3;
    g116 = a1;
    int64_t result;
    if ((v3 & 2) != 0) {
        uint32_t v4 = *(int32_t *)(a1 - 8); // 0x18000bf3e
        g112 = v4;
        g119 = 24;
        g114 = function_180013168(a1, 24, v4, 0x18000b6d0);
        if ((g120 & 1) != 0) {
            int64_t v5 = g116 - 8; // 0x18000bf52
            g117 = v5;
            g114 = function_180013114(v5);
        }
        // 0x18000bf5b
        result = g116 - 8;
        // 0x18000bfa3
        g114 = result;
        g116 = v1;
        g120 = v2;
        return result;
    }
    // 0x18000bf61
    g114 = &g33;
    *(int64_t *)a1 = (int64_t)&g33;
    int64_t * v6 = (int64_t *)(a1 + 16); // 0x18000bf6b
    int64_t v7 = *v6; // 0x18000bf6b
    g114 = v7;
    if (v7 != 0) {
        // 0x18000bf74
        *(int64_t *)(v7 + 224) = 0;
        int64_t v8 = *v6; // 0x18000bf7f
        g117 = v8;
        g114 = _3f_Destroy_40_wxSocketBase_40__40_QEAA_NXZ(v8);
    }
    int64_t v9 = g116; // 0x18000bf89
    g117 = v9;
    g114 = _3f__3f_1wxServerBase_40__40_UEAA_40_XZ(v9);
    if ((g120 & 1) != 0) {
        int64_t v10 = g116; // 0x18000bf98
        g117 = v10;
        g114 = function_18001310e(v10);
    }
    // 0x18000bfa0
    result = g116;
    // 0x18000bfa3
    g114 = result;
    g116 = v1;
    g120 = v2;
    return result;
}
 
// Address range: 0x18000bfc0 - 0x18000bff0
int64_t function_18000bfc0(int64_t a1, int64_t a2) {
    // 0x18000bfc0
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x18000bfc0
    g116 = g119;
    int64_t result = g117; // rdi
    g114 = _3f__3f_1wxEvtHandler_40__40_UEAA_40_XZ();
    if ((g116 & 1) != 0) {
        g117 = result;
        g114 = function_18001310e(result);
    }
    g114 = result;
    g116 = v1;
    return result;
}
 
// Address range: 0x18000bff0 - 0x18000c01b
int64_t function_18000bff0(void) {
    int64_t v1 = g74; // 0x18000bff4
    g117 = v1;
    int64_t result; // 0x18000c01a
    if (v1 == 0) {
        // 0x18000bff0
        result = g114;
    } else {
        int64_t v2 = *(int64_t *)v1; // 0x18000c000
        g114 = v2;
        g119 = 1;
        g74 = 0;
        result = v2;
    }
    // 0x18000c016
    return result;
}
 
// Address range: 0x18000c020 - 0x18000c0de
int64_t function_18000c020(int64_t result, int64_t a2) {
    // 0x18000c020
    g119 = a2;
    g117 = result;
    int64_t v1 = g116; // 0x18000c033
    g116 = result;
    g114 = _3f__3f_0wxSocketStream_40__40_QEAA_40_AEAVwxSocketBase_40__40__40_Z(result, a2);
    int64_t v2;
    if (result == 0) {
        v2 = 0;
    } else {
        // 0x18000c046
        v2 = result + 64;
    }
    // 0x18000c04e
    g119 = v2;
    g112 = 1448;
    int64_t v3 = result + 104; // 0x18000c054
    g117 = v3;
    g114 = _3f__3f_0wxBufferedOutputStream_40__40_QEAA_40_AEAVwxOutputStream_40__40__K_40_Z(v3, (int32_t)v2, 1448);
    int64_t v4 = *(int64_t *)0x1800198b0; // 0x18000c05f
    g112 = v4;
    int64_t v5; // 0x18000c07c
    if (*(int64_t *)v4 == 0) {
        int64_t v6 = _3f_wxGet_wxConvUTF8Ptr_40__40_YAPEAVwxMBConvStrictUTF8_40__40_XZ(); // 0x18000c06c
        g114 = v6;
        int64_t v7 = *(int64_t *)0x1800198b0; // 0x18000c072
        g117 = v7;
        *(int64_t *)v7 = v6;
        v5 = *(int64_t *)0x1800198b0;
        g112 = v5;
    } else {
        v5 = v4;
    }
    int64_t v8 = result + 160; // 0x18000c083
    g117 = v8;
    int64_t v9 = *(int64_t *)v5; // 0x18000c08a
    g112 = v9;
    g119 = result;
    g114 = _3f__3f_0wxDataInputStream_40__40_QEAA_40_AEAVwxInputStream_40__40_AEBVwxMBConv_40__40__40_Z(v8, result, v9);
    int64_t v10 = *(int64_t *)0x1800198b0; // 0x18000c097
    g112 = v10;
    int64_t v11; // 0x18000c0b4
    if (*(int64_t *)v10 == 0) {
        int64_t v12 = _3f_wxGet_wxConvUTF8Ptr_40__40_YAPEAVwxMBConvStrictUTF8_40__40_XZ(); // 0x18000c0a4
        g114 = v12;
        int64_t v13 = *(int64_t *)0x1800198b0; // 0x18000c0aa
        g117 = v13;
        *(int64_t *)v13 = v12;
        v11 = *(int64_t *)0x1800198b0;
        g112 = v11;
    } else {
        v11 = v10;
    }
    int64_t v14 = result + 184; // 0x18000c0bb
    g117 = v14;
    int64_t v15 = *(int64_t *)v11; // 0x18000c0c2
    g112 = v15;
    g119 = v3;
    _3f__3f_0wxDataOutputStream_40__40_QEAA_40_AEAVwxOutputStream_40__40_AEBVwxMBConv_40__40__40_Z(v14, v3, v15);
    g114 = result;
    g116 = v1;
    return result;
}
 
// Address range: 0x18000c0e0 - 0x18000c12e
// Demangled:     public: static wxTCPServer::wxCreateObject
int64_t _3f_wxCreateObject_40_wxTCPServer_40__40_SAPEAVwxObject_40__40_XZ(void) {
    int64_t v1 = g116; // 0x18000c0e0
    g117 = 24;
    int64_t v2 = function_18001323c(24, g119); // 0x18000c0f4
    g114 = v2;
    g116 = v2;
    int64_t result;
    if (v2 == 0) {
        result = 0;
    } else {
        // 0x18000c106
        g117 = v2;
        g114 = _3f__3f_0wxServerBase_40__40_QEAA_40_XZ(v2);
        *(int64_t *)g116 = (int64_t)&g33;
        *(int64_t *)(g116 + 16) = 0;
        result = g116;
    }
    // 0x18000c128
    g114 = result;
    g116 = v1;
    return result;
}
 
// Address range: 0x18000c130 - 0x18000c176
// Demangled:     public: static wxTCPClient::wxCreateObject
int64_t _3f_wxCreateObject_40_wxTCPClient_40__40_SAPEAVwxObject_40__40_XZ(void) {
    int64_t v1 = g116; // 0x18000c130
    g117 = 16;
    int64_t v2 = function_18001323c(16, g119); // 0x18000c144
    g114 = v2;
    g116 = v2;
    int64_t result;
    if (v2 == 0) {
        result = 0;
    } else {
        // 0x18000c156
        g117 = v2;
        g114 = _3f__3f_0wxClientBase_40__40_QEAA_40_XZ(v2);
        *(int64_t *)g116 = (int64_t)&g30;
        result = g116;
    }
    // 0x18000c170
    g114 = result;
    g116 = v1;
    return result;
}
 
// Address range: 0x18000c180 - 0x18000c1ec
int64_t function_18000c180(int64_t a1, int64_t a2) {
    // 0x18000c180
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x18000c193
    g116 = g119;
    int64_t v2 = g117; // 0x18000c19a
    int64_t result = v2; // rdi
    int64_t v3 = v2 + 184; // 0x18000c19d
    g117 = v3;
    g114 = _3f__3f_1wxDataStreamBase_40__40_IEAA_40_XZ(v3);
    int64_t v4 = v2 + 160; // 0x18000c1ab
    g117 = v4;
    g114 = _3f__3f_1wxDataStreamBase_40__40_IEAA_40_XZ(v4);
    int64_t v5 = result + 104; // 0x18000c1b9
    g117 = v5;
    g114 = _3f__3f_1wxBufferedOutputStream_40__40_UEAA_40_XZ(v5);
    g117 = result;
    g114 = _3f__3f_1wxSocketStream_40__40_UEAA_40_XZ(result);
    if ((g116 & 1) != 0) {
        // 0x18000c1d1
        g117 = result;
        g114 = function_18001310e(result);
    }
    // 0x18000c1e1
    g114 = result;
    g116 = v1;
    return result;
}
 
// Address range: 0x18000c1f0 - 0x18000c251
// Demangled:     public: virtual wxTCPClient::OnMakeConnection
int64_t _3f_OnMakeConnection_40_wxTCPClient_40__40_UEAAPEAVwxConnectionBase_40__40_XZ(void) {
    int64_t v1 = g116; // 0x18000c1f0
    g117 = 112;
    int64_t v2 = function_18001323c(112, g119); // 0x18000c204
    g114 = v2;
    g116 = v2;
    int64_t result;
    if (v2 == 0) {
        result = 0;
    } else {
        // 0x18000c216
        g117 = v2;
        _3f__3f_0wxConnectionBase_40__40_QEAA_40_XZ(v2);
        g114 = &g34;
        *(int64_t *)g116 = (int64_t)&g34;
        int64_t v3 = g116 + 56; // 0x18000c22a
        g117 = v3;
        g114 = _3f__3f_0wxString_40__40_QEAA_40_XZ(v3);
        *(int64_t *)(g116 + 40) = 0;
        *(int64_t *)(g116 + 48) = 0;
        result = g116;
    }
    // 0x18000c24b
    g114 = result;
    g116 = v1;
    return result;
}
 
// Address range: 0x18000c260 - 0x18000c2c1
// Demangled:     public: virtual wxTCPServer::OnAcceptConnection
int64_t _3f_OnAcceptConnection_40_wxTCPServer_40__40_UEAAPEAVwxConnectionBase_40__40_AEBVwxString_40__40__40_Z(void) {
    int64_t v1 = g116; // 0x18000c260
    g117 = 112;
    int64_t v2 = function_18001323c(112, g119); // 0x18000c274
    g114 = v2;
    g116 = v2;
    int64_t result;
    if (v2 == 0) {
        result = 0;
    } else {
        // 0x18000c286
        g117 = v2;
        _3f__3f_0wxConnectionBase_40__40_QEAA_40_XZ(v2);
        g114 = &g34;
        *(int64_t *)g116 = (int64_t)&g34;
        int64_t v3 = g116 + 56; // 0x18000c29a
        g117 = v3;
        g114 = _3f__3f_0wxString_40__40_QEAA_40_XZ(v3);
        *(int64_t *)(g116 + 40) = 0;
        *(int64_t *)(g116 + 48) = 0;
        result = g116;
    }
    // 0x18000c2bb
    g114 = result;
    g116 = v1;
    return result;
}
 
// Address range: 0x18000c2d0 - 0x18000c37c
// Demangled:     public: virtual wxTCPConnection::~wxTCPConnection
int64_t _3f__3f_1wxTCPConnection_40__40_UEAA_40_XZ(int64_t a1) {
    // 0x18000c2d0
    g117 = a1;
    int64_t v1 = g116; // 0x18000c2e3
    g116 = a1;
    g114 = &g34;
    *(int64_t *)a1 = (int64_t)&g34;
    g114 = _3f_Disconnect_40_wxTCPConnection_40__40_UEAA_NXZ(a1);
    int64_t v2 = g116; // 0x18000c2fa
    int64_t v3 = *(int64_t *)(v2 + 40); // 0x18000c2fa
    g114 = v3;
    int64_t v4; // 0x18000c317
    if (v3 != 0) {
        // 0x18000c303
        *(int64_t *)(v3 + 224) = 0;
        int64_t v5 = *(int64_t *)(g116 + 40); // 0x18000c30e
        g117 = v5;
        g114 = _3f_Destroy_40_wxSocketBase_40__40_QEAA_NXZ(v5);
        v4 = g116;
    } else {
        v4 = v2;
    }
    int64_t v6 = *(int64_t *)(v4 + 48); // 0x18000c317
    int64_t v7; // 0x18000c35d
    if (v6 != 0) {
        int64_t v8 = v6 + 184; // 0x18000c325
        g117 = v8;
        g114 = _3f__3f_1wxDataStreamBase_40__40_IEAA_40_XZ(v8);
        int64_t v9 = v6 + 160; // 0x18000c333
        g117 = v9;
        g114 = _3f__3f_1wxDataStreamBase_40__40_IEAA_40_XZ(v9);
        int64_t v10 = v6 + 104; // 0x18000c341
        g117 = v10;
        g114 = _3f__3f_1wxBufferedOutputStream_40__40_UEAA_40_XZ(v10);
        g117 = v6;
        g114 = _3f__3f_1wxSocketStream_40__40_UEAA_40_XZ(v6);
        g117 = v6;
        g114 = function_18001310e(v6);
        v7 = g116;
    } else {
        v7 = v4;
    }
    int64_t v11 = v7 + 56; // 0x18000c35d
    g117 = v11;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v11, g119, g112);
    int64_t v12 = g116; // 0x18000c368
    g117 = v12;
    g116 = v1;
    int64_t result = _3f__3f_1wxConnectionBase_40__40_UEAA_40_XZ(v12); // 0x18000c375
    g114 = result;
    return result;
}
 
// Address range: 0x18000c380 - 0x18000c5af
int64_t function_18000c380(void) {
    int64_t v1 = g116; // 0x18000c394
    int64_t v2 = g120; // 0x18000c398
    int64_t v3; // bp-136
    int64_t v4 = g61 ^ (int64_t)&v3; // 0x18000c3a3
    g114 = v4;
    int64_t v5 = g119; // 0x18000c3ab
    g116 = v5;
    g117 = v5;
    int64_t v6 = _3f_GetEventObject_40_wxEvent_40__40_QEBAPEAVwxObject_40__40_XZ(v5); // 0x18000c3b1
    g114 = v6;
    char * v7;
    char * v8;
    int64_t v9; // 0x18000c558
    int64_t v10; // 0x18000c48d
    int64_t v11;
    if (v6 == 0) {
        goto lab_0x18000c58d;
    } else {
        int64_t v12 = *(int64_t *)(v6 + 224); // 0x18000c3c0
        g120 = v12;
        if (v12 == 0) {
            goto lab_0x18000c58d;
        } else {
            // 0x18000c3d0
            if (*(int32_t *)(g116 + 80) != 2) {
                goto lab_0x18000c58d;
            } else {
                int64_t v13 = g119 & -256 | 1; // 0x18000c3da
                g119 = v13;
                g117 = v6;
                int64_t v14 = _3f_Accept_40_wxSocketServer_40__40_QEAAPEAVwxSocketBase_40__40__N_40_Z(v6, v13); // 0x18000c3df
                g114 = v14;
                g118 = v14;
                if (v14 == 0) {
                    goto lab_0x18000c58d;
                } else {
                    // 0x18000c3f0
                    if (*(int64_t *)(v14 + 16) != 0) {
                        // 0x18000c404
                        g117 = 208;
                        int64_t v15 = function_18001323c(208, g119); // 0x18000c409
                        g114 = v15;
                        int64_t v16; // 0x18000c43c
                        if (v15 == 0) {
                            v16 = 0;
                        } else {
                            int64_t v17 = g118; // 0x18000c418
                            g119 = v17;
                            g117 = v15;
                            int64_t v18 = function_18000c020(v15, v17); // 0x18000c41e
                            g114 = v18;
                            v16 = v18;
                        }
                        // 0x18000c42a
                        g116 = v16;
                        int64_t v19 = *(int64_t *)0x180019440; // 0x18000c42f
                        g114 = v19;
                        char * v20;
                        char * v21;
                        int64_t v22; // 0x18000c47d
                        if (*(int64_t *)v19 != 0) {
                            if (v16 == 0) {
                                // 0x18000c441
                                g114 = (int64_t)"NULL streams pointer";
                                g112 = (int64_t)"`anonymous-namespace'::IPCOutput::IPCOutput";
                                g119 = 305;
                                g117 = (int64_t)"..\\..\\src\\common\\sckipc.cpp";
                                g114 = _3f_wxOnAssert_40__40_YAXPEBDH000_40_Z("..\\..\\src\\common\\sckipc.cpp", 305, "`anonymous-namespace'::IPCOutput::IPCOutput", "streams");
                                char * v23 = (char *)*(int64_t *)0x180019430; // 0x18000c474
                                int64_t v24 = g116; // 0x18000c474
                                char v25 = v24; // 0x18000c474
                                if (*v23 != v25) {
                                    // 0x18000c479
                                    *v23 = v25;
                                    g114 = __asm_int3();
                                    v22 = g116;
                                    v8 = "`anonymous-namespace'::IPCOutput::IPCOutput";
                                    v7 = "streams";
                                } else {
                                    v22 = v24;
                                    v8 = "`anonymous-namespace'::IPCOutput::IPCOutput";
                                    v7 = "streams";
                                }
                            } else {
                                v22 = v16;
                                v8 = v21;
                                v7 = v20;
                            }
                        } else {
                            v22 = v16;
                            v8 = v21;
                            v7 = v20;
                        }
                        // 0x18000c47d
                        g117 = v22;
                        int64_t v26 = function_18000b190(v22); // 0x18000c480
                        g114 = v26;
                        if ((char)v26 != 10) {
                            // 0x18000c47d
                            v11 = (int64_t)v8;
                            goto lab_0x18000c55e;
                        } else {
                            // 0x18000c48d
                            int64_t v27; // bp-72
                            v10 = &v27;
                            g119 = v10;
                            int64_t v28 = g116; // 0x18000c492
                            g117 = v28;
                            g114 = function_18000b1c0(v28, &v27);
                            int64_t v29 = *(int64_t *)v12; // 0x18000c49b
                            g114 = v29;
                            g119 = v10;
                            g117 = v12;
                            g120 = v29;
                            if (v29 == 0) {
                                v9 = v10;
                                goto lab_0x18000c553;
                            } else {
                                // 0x18000c4b5
                                g117 = v29;
                                g119 = 0x18002ee18;
                                int64_t v30 = _3f_IsKindOf_40_wxClassInfo_40__40_QEBA_NPEBV1_40__40_Z(v29, 0x18002ee18); // 0x18000c4c7
                                g114 = v30;
                                if ((char)v30 == 0) {
                                    int64_t v31 = g120; // 0x18000c544
                                    g114 = *(int64_t *)v31;
                                    g119 = 1;
                                    g117 = v31;
                                    v9 = 1;
                                    goto lab_0x18000c553;
                                } else {
                                    int64_t v32 = g116 + 184; // 0x18000c4d1
                                    g117 = v32;
                                    g119 = &g76;
                                    int64_t v33 = _3f_Write8_40_wxDataOutputStream_40__40_QEAAXE_40_Z(v32, (int64_t)&g76, (int64_t)v8, (int64_t)v7); // 0x18000c4da
                                    g114 = v33;
                                    *(int64_t *)(g120 + 40) = g118;
                                    *(int64_t *)(g120 + 48) = g116;
                                    int64_t v34 = g120 + 56; // 0x18000c4e8
                                    g117 = v34;
                                    g119 = v10;
                                    g114 = _3f__3f_4wxString_40__40_QEAAAEAV0_40_AEBV0_40__40_Z(v34, v10);
                                    int64_t v35 = function_18000b0c0(v34, v10); // 0x18000c4f7
                                    g114 = v35;
                                    g119 = v35;
                                    g112 = 1000;
                                    g117 = g118;
                                    g114 = _3f_SetEventHandler_40_wxSocketBase_40__40_QEAAXAEAVwxEvtHandler_40__40_H_40_Z(g118, v35, 1000);
                                    *(int64_t *)(g118 + 224) = g120;
                                    g119 = 9;
                                    g117 = g118;
                                    g114 = _3f_SetNotify_40_wxSocketBase_40__40_QEAAXH_40_Z(g118, 9);
                                    g119 = 1;
                                    g117 = g118;
                                    g114 = _3f_Notify_40_wxSocketBase_40__40_QEAAX_N_40_Z(g118, 1);
                                    g117 = v10;
                                    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v10, 1, 1000);
                                    int64_t v36 = g116 + 104; // 0x18000c538
                                    g117 = v36;
                                    g114 = *(int64_t *)v36;
                                    goto lab_0x18000c58d;
                                }
                            }
                        }
                    } else {
                        // 0x18000c3f7
                        g117 = v14;
                        g114 = _3f_Destroy_40_wxSocketBase_40__40_QEAA_NXZ(v14);
                        goto lab_0x18000c58d;
                    }
                }
            }
        }
    }
  lab_0x18000c58d:;
    int64_t v37 = g121 ^ v4; // 0x18000c592
    g117 = v37;
    __security_check_cookie(v37);
    g114 = &g122;
    g116 = v1;
    g120 = v2;
    return &g122;
  lab_0x18000c55e:;
    int64_t v38 = g116 + 184; // 0x18000c55e
    g117 = v38;
    int64_t v39 = g119 & -256 | 9; // 0x18000c565
    g119 = v39;
    g114 = _3f_Write8_40_wxDataOutputStream_40__40_QEAAXE_40_Z(v38, v39, v11, (int64_t)v7);
    int64_t v40 = g116; // 0x18000c56e
    int64_t v41 = v40 + 104; // 0x18000c56e
    g117 = v41;
    g114 = *(int64_t *)v41;
    g119 = 1;
    g117 = v40;
    g114 = function_18000c180(v40, 1);
    g117 = g118;
    g114 = _3f_Destroy_40_wxSocketBase_40__40_QEAA_NXZ(g118);
    goto lab_0x18000c58d;
  lab_0x18000c553:
    // 0x18000c553
    g117 = v10;
    int64_t v42 = (int64_t)v8; // 0x18000c558
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v10, v9, v42);
    v11 = v42;
    goto lab_0x18000c55e;
}
 
// Address range: 0x18000c5b0 - 0x18000c64c
int64_t function_18000c5b0(int64_t a1, int64_t a2) {
    // 0x18000c5b0
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x18000c5b0
    int64_t v2 = g120; // 0x18000c5b5
    int64_t v3 = g119; // 0x18000c5bf
    g120 = a1;
    int64_t v4 = function_180013462(a1); // 0x18000c5c5
    g114 = v4;
    g117 = v3;
    g116 = v4;
    int64_t v5 = function_180013462(v3); // 0x18000c5d0
    g114 = v5;
    int64_t v6 = g116; // 0x18000c5d5
    g119 = v6;
    g117 = v5;
    int64_t v7 = _3f__3f_9type_info_40__40_QEBA_NAEBV0_40__40_Z(v5, v6); // 0x18000c5db
    g114 = v7;
    if ((char)v7 != 0) {
        int64_t result = v7 & -256; // 0x18000c5e5
        g114 = result;
        g116 = v1;
        g120 = v2;
        return result;
    }
    int64_t v8 = g120; // 0x18000c5f7
    int64_t v9 = *(int64_t *)(v8 + 16); // 0x18000c5f7
    g114 = v9;
    int64_t v10 = *(int64_t *)(v3 + 16); // 0x18000c5fb
    g117 = v10;
    if (v9 != v10) {
        goto lab_0x18000c611;
    } else {
        if (v9 == 0) {
            goto lab_0x18000c616;
        } else {
            uint32_t v11 = *(int32_t *)(v3 + 24); // 0x18000c609
            g114 = v11;
            if (*(int32_t *)(v8 + 24) == v11) {
                goto lab_0x18000c616;
            } else {
                goto lab_0x18000c611;
            }
        }
    }
  lab_0x18000c611:
    if (v10 != 0) {
        // 0x18000c63a
        g116 = v1;
        g120 = v2;
        g114 = 0;
        return 0;
    }
    goto lab_0x18000c616;
  lab_0x18000c616:;
    int64_t v12 = *(int64_t *)(v3 + 8); // 0x18000c616
    g114 = v12;
    if (*(int64_t *)(v8 + 8) == v12) {
        // 0x18000c625
        g114 = 1;
        g116 = v1;
        g120 = v2;
        return 1;
    }
    if (v12 != 0) {
        // 0x18000c63a
        g116 = v1;
        g120 = v2;
        g114 = 0;
        return 0;
    }
    // 0x18000c625
    g114 = 1;
    g116 = v1;
    g120 = v2;
    return 1;
}
 
// Address range: 0x18000c650 - 0x18000c6ca
int64_t function_18000c650(int64_t a1, int64_t result4, int64_t a3) {
    // 0x18000c650
    g112 = a3;
    g119 = result4;
    g117 = a1;
    int64_t v1 = g117; // 0x18000c654
    int64_t v2 = *(int64_t *)(v1 + 8); // 0x18000c654
    g114 = v2;
    if (v2 == 0) {
        // 0x18000c660
        g114 = result4;
        if (result4 == 0) {
            int64_t result = *(int64_t *)0x180019440; // 0x18000c668
            g114 = result;
            if (*(int64_t *)result == result4) {
                // 0x18000c6c5
                return result;
            }
            // 0x18000c674
            g114 = (int64_t)"invalid event handler";
            g112 = (int64_t)"wxEventFunctorMethod<class wxEventTypeTag<class wxSocketEvent>,class wxEvtHandler,class wxEvent,class wxEvtHandler>::operator ()";
            g117 = (int64_t)"C:\\BUILD\\wxPython-src-3.0.2.0\\include\\wx/event.h";
            g119 = 399;
            int64_t result2 = _3f_wxOnAssert_40__40_YAXPEBDH000_40_Z("C:\\BUILD\\wxPython-src-3.0.2.0\\include\\wx/event.h", 399, "wxEventFunctorMethod<class wxEventTypeTag<class wxSocketEvent>,class wxEvtHandler,class wxEvent,class wxEvtHandler>::operator ()", "realHandler"); // 0x18000c69a
            g114 = result2;
            char * v3 = (char *)*(int64_t *)0x180019430; // 0x18000c6a7
            if (*v3 == 0) {
                // 0x18000c6c5
                return result2;
            }
            // 0x18000c6ad
            *v3 = 0;
            int64_t result3 = __asm_int3(); // 0x18000c6b1
            g114 = result3;
            return result3;
        }
    } else {
        result4 = v2;
    }
    // 0x18000c6b7
    g119 = g112;
    g117 = (int64_t)*(int32_t *)(v1 + 24) + result4;
    // 0x18000c6c5
    return result4;
}
 
// Address range: 0x18000c6d0 - 0x18000c6d5
int64_t function_18000c6d0(int64_t a1) {
    // 0x18000c6d0
    g117 = a1;
    int64_t result = *(int64_t *)(a1 + 8); // 0x18000c6d0
    g114 = result;
    return result;
}
 
// Address range: 0x18000c6e0 - 0x18000c6f3
int64_t function_18000c6e0(int64_t a1, int64_t a2) {
    // 0x18000c6e0
    g119 = a2;
    g117 = a1;
    int64_t v1 = *(int64_t *)(a2 + 16); // 0x18000c6e0
    g114 = v1;
    *(int64_t *)a1 = v1;
    *(int64_t *)(g117 + 8) = *(int64_t *)(g119 + 24);
    int64_t result = g117; // 0x18000c6ef
    g114 = result;
    return result;
}
 
// Address range: 0x18000c700 - 0x18000c730
int64_t function_18000c700(int64_t result, int64_t a2) {
    // 0x18000c700
    g119 = a2;
    g117 = result;
    int64_t v1 = g116; // 0x18000c700
    g116 = g119;
    g114 = _3f__3f_1wxEventFunctor_40__40_UEAA_40_XZ(result);
    if ((g116 & 1) != 0) {
        g117 = result;
        g114 = function_18001310e(result);
    }
    g114 = result;
    g116 = v1;
    return result;
}
 
// Address range: 0x18000c730 - 0x18000c7a2
int64_t function_18000c730(int64_t a1, int64_t a2) {
    // 0x18000c730
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x18000c730
    int64_t v2 = g120; // 0x18000c735
    int64_t v3 = g119; // 0x18000c73a
    g120 = v3;
    g116 = a1;
    if ((v3 & 2) == 0) {
        // 0x18000c781
        g114 = _3f__3f_1wxTCPConnection_40__40_UEAA_40_XZ(a1);
        if ((g120 & 1) != 0) {
            int64_t v4 = g116; // 0x18000c78c
            g117 = v4;
            g114 = function_18001310e(v4);
        }
        int64_t result = g116; // 0x18000c794
        g114 = result;
        g116 = v1;
        g120 = v2;
        return result;
    }
    uint32_t v5 = *(int32_t *)(a1 - 8); // 0x18000c744
    g112 = v5;
    g119 = 112;
    g114 = function_180013168(a1, 112, v5, 0x18000c2d0);
    if ((g120 & 1) != 0) {
        int64_t v6 = g116 - 8; // 0x18000c764
        g117 = v6;
        g114 = function_180013114(v6);
    }
    int64_t result2 = g116 - 8; // 0x18000c76d
    g114 = result2;
    g116 = v1;
    g120 = v2;
    return result2;
}
 
// Address range: 0x18000c7b0 - 0x18000c9ee
// Demangled:     public: virtual wxTCPClient::MakeConnection
int64_t _3f_MakeConnection_40_wxTCPClient_40__40_UEAAPEAVwxConnectionBase_40__40_AEBVwxString_40__40_00_40_Z(int64_t a1) {
    // 0x18000c7b0
    g117 = a1;
    int64_t v1 = g116; // 0x18000c7c3
    int64_t v2 = g120; // 0x18000c7cd
    g109 = g113;
    g108 = g117;
    int64_t v3 = g112; // 0x18000c7d8
    g117 = v3;
    int64_t v4 = function_18000b020(v3, g119); // 0x18000c7db
    g114 = v4;
    g115 = v4;
    int64_t result; // 0x18000c9ed
    if (v4 == 0) {
        result = 0;
        goto lab_0x18000c9d5;
    } else {
        // 0x18000c7ec
        g117 = 256;
        int64_t v5 = function_18001323c(256, g119); // 0x18000c7f1
        g114 = v5;
        g118 = 0;
        int64_t v6;
        int64_t v7; // 0x18000c808
        if (v5 != 0) {
            // 0x18000c802
            g119 = 12;
            g117 = v5;
            v7 = _3f__3f_0wxSocketClient_40__40_QEAA_40_H_40_Z(v5);
            g114 = v7;
            v6 = 12;
        } else {
            int64_t v8;
            v6 = v8;
            v7 = 0;
        }
        // 0x18000c815
        g120 = v7;
        g117 = 208;
        int64_t v9 = function_18001323c(208, v6); // 0x18000c81a
        g114 = v9;
        if (v9 != 0) {
            int64_t v10 = g120; // 0x18000c829
            g119 = v10;
            g117 = v9;
            int64_t v11 = function_18000c020(v9, v10); // 0x18000c82f
            g114 = v11;
            g118 = v11;
        }
        int64_t v12 = g120; // 0x18000c837
        int64_t v13 = *(int64_t *)v12; // 0x18000c837
        g114 = v13;
        g112 = g112 & -256 | 1;
        g119 = g115;
        g117 = v12;
        g116 = v13;
        g112 = *(int64_t *)g115;
        g119 = 1;
        g117 = g115;
        if ((char)v13 == 0) {
            goto lab_0x18000c98a;
        } else {
            int64_t v14 = *(int64_t *)0x180019440; // 0x18000c866
            g114 = v14;
            char * v15;
            char * v16;
            if (*(int64_t *)v14 != 0) {
                // 0x18000c873
                if (g118 == 0) {
                    // 0x18000c878
                    g114 = (int64_t)"NULL streams pointer";
                    g112 = (int64_t)"`anonymous-namespace'::IPCOutput::IPCOutput";
                    g119 = 305;
                    g117 = (int64_t)"..\\..\\src\\common\\sckipc.cpp";
                    g114 = _3f_wxOnAssert_40__40_YAXPEBDH000_40_Z("..\\..\\src\\common\\sckipc.cpp", 305, "`anonymous-namespace'::IPCOutput::IPCOutput", "streams");
                    char * v17 = (char *)*(int64_t *)0x180019430; // 0x18000c8ab
                    char v18 = g118; // 0x18000c8ab
                    if (*v17 != v18) {
                        // 0x18000c8b0
                        *v17 = v18;
                        g114 = __asm_int3();
                        v15 = "streams";
                    } else {
                        v15 = "streams";
                    }
                } else {
                    v15 = v16;
                }
            } else {
                v15 = v16;
            }
            int64_t v19 = g119 & -256 | 10; // 0x18000c8b4
            g119 = v19;
            int64_t v20 = g118 + 184; // 0x18000c8b6
            g117 = v20;
            g114 = _3f_Write8_40_wxDataOutputStream_40__40_QEAAXE_40_Z(v20, v19, g112, (int64_t)v15);
            g119 = g109;
            int64_t v21 = g118 + 184; // 0x18000c8c6
            g117 = v21;
            g114 = _3f_WriteString_40_wxDataOutputStream_40__40_QEAAXAEBVwxString_40__40__40_Z(v21, g109);
            g114 = *(int64_t *)(g118 + 104);
            int64_t v22 = g118 + 160; // 0x18000c8eb
            g117 = v22;
            int64_t v23 = _3f_Read8_40_wxDataInputStream_40__40_QEAAEXZ(v22); // 0x18000c8f2
            g114 = v23;
            if ((char)v23 != 10) {
                goto lab_0x18000c98a;
            } else {
                // 0x18000c900
                g114 = v22;
                g117 = g108;
                g116 = v22;
                if (v22 == 0) {
                    goto lab_0x18000c98a;
                } else {
                    // 0x18000c912
                    g117 = v22;
                    g119 = 0x18002ee18;
                    int64_t v24 = _3f_IsKindOf_40_wxClassInfo_40__40_QEBA_NPEBV1_40__40_Z(v22, 0x18002ee18); // 0x18000c924
                    g114 = v24;
                    if ((char)v24 == 0) {
                        // 0x18000c97c
                        g114 = v22;
                        g119 = 1;
                        g117 = g116;
                        goto lab_0x18000c98a;
                    } else {
                        int64_t v25 = g116 + 56; // 0x18000c92e
                        g117 = v25;
                        g119 = g109;
                        g114 = _3f__3f_4wxString_40__40_QEAAAEAV0_40_AEBV0_40__40_Z(v25, g109);
                        *(int64_t *)(g116 + 40) = g120;
                        *(int64_t *)(g116 + 48) = g118;
                        int64_t v26 = function_18000b0c0(v25, g109); // 0x18000c943
                        g114 = v26;
                        g119 = v26;
                        g112 = 1000;
                        int64_t v27 = g120; // 0x18000c951
                        g117 = v27;
                        g114 = _3f_SetEventHandler_40_wxSocketBase_40__40_QEAAXAEAVwxEvtHandler_40__40_H_40_Z(v27, v26, 1000);
                        *(int64_t *)(g120 + 224) = g116;
                        g119 = 9;
                        int64_t v28 = g120; // 0x18000c965
                        g117 = v28;
                        g114 = _3f_SetNotify_40_wxSocketBase_40__40_QEAAXH_40_Z(v28, 9);
                        g119 = 1;
                        int64_t v29 = g120; // 0x18000c96f
                        g117 = v29;
                        _3f_Notify_40_wxSocketBase_40__40_QEAAX_N_40_Z(v29, 1);
                        int64_t v30 = g116; // 0x18000c977
                        g114 = v30;
                        result = v30;
                        goto lab_0x18000c9d5;
                    }
                }
            }
        }
    }
  lab_0x18000c9d5:
    // 0x18000c9d5
    g116 = v1;
    g120 = v2;
    return result;
  lab_0x18000c98a:
    // 0x18000c98a
    if (g118 != 0) {
        int64_t v31 = g118 + 184; // 0x18000c994
        g117 = v31;
        g114 = _3f__3f_1wxDataStreamBase_40__40_IEAA_40_XZ(v31);
        int64_t v32 = g118 + 160; // 0x18000c9a2
        g117 = v32;
        g114 = _3f__3f_1wxDataStreamBase_40__40_IEAA_40_XZ(v32);
        int64_t v33 = g118 + 104; // 0x18000c9b0
        g117 = v33;
        g114 = _3f__3f_1wxBufferedOutputStream_40__40_UEAA_40_XZ(v33);
        g117 = g118;
        g114 = _3f__3f_1wxSocketStream_40__40_UEAA_40_XZ(g118);
        g117 = g118;
        g114 = function_18001310e(g118);
    }
    int64_t v34 = g120; // 0x18000c9cb
    g117 = v34;
    _3f_Destroy_40_wxSocketBase_40__40_QEAA_NXZ(v34);
    g114 = 0;
    result = 0;
    goto lab_0x18000c9d5;
}
 
// Address range: 0x18000c9f0 - 0x18000ca98
int64_t function_18000c9f0(int32_t * a1, int64_t * a2, int64_t a3) {
    // 0x18000c9f0
    g112 = a3;
    int64_t v1 = (int64_t)a2;
    g119 = v1;
    g117 = (int64_t)a1;
    int64_t v2 = g116; // 0x18000c9f0
    int64_t v3 = g120; // 0x18000c9f5
    int64_t v4 = g112; // rdi
    g116 = v1;
    g120 = g117;
    if (a2 != NULL) {
        // 0x18000ca0d
        g119 = 1;
        g117 = v1;
        int64_t v5 = _3f_GetArgumentType_40_wxFormatString_40__40_QEBA_3f_AW4ArgumentType_40_1_40_I_40_Z(v1, 1); // 0x18000ca15
        g114 = v5;
        int64_t v6 = *(int64_t *)0x180019440; // 0x18000ca1b
        g113 = v6;
        if (*(int64_t *)v6 != 0) {
            int32_t v7 = v5; // 0x18000ca2b
            uint32_t v8 = v7 & 9; // 0x18000ca2b
            g112 = v8;
            if (v8 != v7) {
                // 0x18000ca34
                g114 = (int64_t)"format specifier doesn't match argument type";
                g113 = (int64_t)"(argtype & (wxFormatStringSpecifier<T>::value)) == argtype";
                g112 = (int64_t)"wxArgNormalizer<int>::wxArgNormalizer";
                g117 = (int64_t)"C:\\BUILD\\wxPython-src-3.0.2.0\\include\\wx/strvararg.h";
                g119 = 456;
                g114 = _3f_wxOnAssert_40__40_YAXPEBDH000_40_Z("C:\\BUILD\\wxPython-src-3.0.2.0\\include\\wx/strvararg.h", 456, "wxArgNormalizer<int>::wxArgNormalizer", "(argtype & (wxFormatStringSpecifier<T>::value)) == argtype");
                char * v9 = (char *)*(int64_t *)0x180019430; // 0x18000ca67
                if (*v9 != 0) {
                    // 0x18000ca6d
                    *v9 = 0;
                    g114 = __asm_int3();
                }
            }
        }
    }
    int64_t v10 = g116; // 0x18000ca72
    g117 = v10;
    int64_t v11 = _3f__3f_BwxFormatString_40__40_QEBAPEB_WXZ(v10); // 0x18000ca75
    g114 = v11;
    g112 = v4;
    int64_t v12 = g120; // 0x18000ca7e
    g117 = v12;
    g119 = v11;
    g116 = v2;
    g120 = v3;
    int64_t result = function_1800024f0((int32_t *)v12, v11, v4, g113); // 0x18000ca93
    g114 = result;
    return result;
}
 
// Address range: 0x18000caa0 - 0x18000d1c4
int64_t function_18000caa0(int64_t a1, int64_t a2) {
    // 0x18000caa0
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x18000cab8
    int64_t v2 = g120; // 0x18000cac0
    int64_t v3; // bp-936
    int64_t v4 = g61 ^ (int64_t)&v3; // 0x18000cacb
    g114 = v4;
    int64_t v5 = g119; // 0x18000cad6
    g116 = g117;
    g117 = v5;
    int64_t v6 = _3f_GetEventObject_40_wxEvent_40__40_QEBAPEAVwxObject_40__40_XZ(v5); // 0x18000cadf
    g114 = v6;
    if (v6 != 0) {
        uint32_t v7 = *(int32_t *)(v5 + 80); // 0x18000caee
        g119 = v7;
        int64_t v8 = *(int64_t *)(v6 + 224); // 0x18000caf1
        if (v8 != 0) {
            if (v7 != 3) {
                // 0x18000cb39
                g120 = *(int64_t *)(v8 + 48);
                int64_t v9 = v8 + 56; // 0x18000cb3d
                g119 = v9;
                int64_t v10; // bp-96
                int64_t v11 = &v10; // 0x18000cb41
                g117 = v11;
                g114 = _3f__3f_0wxString_40__40_QEAA_40_AEBV0_40__40_Z(v11, v9);
                int64_t v12; // bp-152
                int64_t v13 = &v12; // 0x18000cb50
                g117 = v13;
                g114 = _3f__3f_0wxString_40__40_QEAA_40_XZ(v13);
                int64_t v14 = g120; // 0x18000cb5f
                g114 = *(int64_t *)(v14 + 104);
                int64_t v15 = v14 + 160; // 0x18000cb6a
                g117 = v15;
                int64_t v16 = _3f_Read8_40_wxDataInputStream_40__40_QEAAEXZ(v15); // 0x18000cb71
                int64_t result = v16 - 1; // 0x18000cb7a
                g114 = result;
                if ((int32_t)result < 11) {
                    // 0x18000cb86
                    g119 = 0x180000000;
                    g117 = (int64_t)*(int32_t *)(4 * result + 0x18000d1c4) + 0x180000000;
                    return result;
                }
                // 0x18000d056
                g118 = (int64_t)"wx";
                g119 = (int64_t)"wx";
                int64_t v17; // bp-208
                g117 = &v17;
                int64_t v18 = _3f__3f_0wxString_40__40_QEAA_40_PEBD_40_Z(&v17, (int64_t)"wx"); // 0x18000d068
                g114 = v18;
                g119 = v18;
                g117 = 6;
                int64_t v19 = _3f_IsLevelEnabled_40_wxLog_40__40_SA_NKVwxString_40__40__40_Z(6, v18); // 0x18000d076
                g114 = v19;
                if ((char)v19 != 0) {
                    // 0x18000d084
                    g119 = (int64_t)"Unknown message code %d received.";
                    int64_t v20; // bp-584
                    int64_t v21 = &v20; // 0x18000d08b
                    g117 = v21;
                    _3f__3f_0wxFormatString_40__40_QEAA_40_PEBD_40_Z(&v20, "Unknown message code %d received.");
                    int32_t v22 = 6; // bp-864
                    g114 = (int64_t)"wxTCPEventHandler::Client_OnRequest";
                    g117 = 0;
                    g114 = _time64(NULL);
                    g114 = _3f_GetCurrentId_40_wxThread_40__40_SAKXZ();
                    g116 = 0;
                    int64_t v23; // bp-800
                    int64_t v24 = &v23; // 0x18000d0e8
                    g117 = v24;
                    g114 = _3f__3f_0wxString_40__40_QEAA_40_XZ(v24);
                    g112 = v16;
                    g119 = v21;
                    g117 = &v22;
                    g114 = function_18000c9f0(&v22, &v20, v16);
                    g117 = v24;
                    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v24, g119, v16);
                    g117 = v21;
                    g114 = _3f__3f_1wxFormatString_40__40_QEAA_40_XZ(&v20);
                } else {
                    int64_t v25;
                    v16 = v25;
                }
                int64_t v26 = g120 + 184; // 0x18000d15e
                g117 = v26;
                int64_t v27 = g119 & -256 | 9; // 0x18000d165
                g119 = v27;
                g114 = _3f_Write8_40_wxDataOutputStream_40__40_QEAAXE_40_Z(v26, v27, v16, g113);
                g114 = *(int64_t *)(g120 + 104);
                g117 = v13;
                g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v13, v27, v16);
                g117 = v11;
                g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v11, v27, v16);
            } else {
                // 0x18000cb06
                g119 = 0;
                int64_t * v28 = (int64_t *)(v8 + 40); // 0x18000cb08
                int64_t v29 = *v28; // 0x18000cb08
                g117 = v29;
                g114 = _3f_Notify_40_wxSocketBase_40__40_QEAAX_N_40_Z(v29, 0);
                int64_t v30 = *v28; // 0x18000cb11
                g117 = v30;
                g114 = *(int64_t *)v30;
                int64_t v31 = *v28; // 0x18000cb1b
                g119 = v31;
                g116 = 0;
                *(int64_t *)(v31 + 224) = 0;
                *(char *)(v8 + 33) = (char)g116;
                g114 = *(int64_t *)v8;
                g117 = v8;
            }
        }
    }
    int64_t v32 = g121 ^ v4; // 0x18000d19f
    g117 = v32;
    __security_check_cookie(v32);
    g114 = &g122;
    g116 = v1;
    g120 = v2;
    return &g122;
}
 
// Address range: 0x18000d1c4 - 0x18000d1c6
int64_t function_18000d1c4(void) {
    int64_t result = __asm_wait(); // 0x18000d1c4
    g114 = result;
    return result;
}
 
// Address range: 0x18000d1c6 - 0x18000d1da
int64_t function_18000d1c6(void) {
    int64_t v1 = g114; // 0x18000d1c6
    *(char *)v1 = (char)v1 + *(char *)&g114;
    __asm_int(0);
    int64_t v2; // rdi
    char * v3 = (char *)(v2 - 51); // 0x18000d1cb
    *v3 = (char)(g114 / 256) + *v3;
    int64_t v4 = g114; // 0x18000d1ce
    *(char *)v4 = (char)v4 + *(char *)&g114;
    __asm_outsd((int16_t)g119, *(int32_t *)&g120);
    int64_t v5 = __asm_int3(); // 0x18000d1d1
    g114 = v5;
    *(char *)v5 = 2 * (char)v5;
    unsigned char v6 = *(char *)&g114; // 0x18000d1d5
    *(char *)g114 = v6 / 128 | 2 * v6;
    uint64_t v7 = g119; // 0x18000d1d7
    uint64_t result = g114; // 0x18000d1d7
    g119 = 256 * (result / 256 + v7 / 256 & 255) | v7 & -0xff01;
    return result;
}
 
// Address range: 0x18000d1da - 0x18000d1de
int64_t function_18000d1da(void) {
    int64_t v1 = g114; // 0x18000d1da
    *(char *)v1 = (char)v1 + *(char *)&g114;
    return g114;
}
 
// Address range: 0x18000d1f0 - 0x18000d222
// Demangled:     public: wxSocketOutputStream::wxSocketOutputStream
int64_t _3f__3f_0wxSocketOutputStream_40__40_QEAA_40_AEAVwxSocketBase_40__40__40_Z(int64_t result, int64_t a2) {
    // 0x18000d1f0
    g119 = a2;
    g117 = result;
    int64_t v1 = g116; // 0x18000d1f0
    g116 = g119;
    _3f__3f_0wxOutputStream_40__40_QEAA_40_XZ(result);
    *(int64_t *)(result + 32) = g116;
    g116 = v1;
    *(int64_t *)result = (int64_t)&g36;
    g114 = result;
    return result;
}
 
// Address range: 0x18000d230 - 0x18000d241
// Demangled:     public: virtual wxSocketOutputStream::~wxSocketOutputStream
int64_t _3f__3f_1wxSocketOutputStream_40__40_UEAA_40_XZ(int64_t a1) {
    // 0x18000d230
    g117 = a1;
    g114 = &g36;
    *(int64_t *)a1 = (int64_t)&g36;
    int64_t result = _3f__3f_1wxOutputStream_40__40_UEAA_40_XZ(a1); // 0x18000d23a
    g114 = result;
    return result;
}
 
// Address range: 0x18000d250 - 0x18000d2a8
// Demangled:     protected: virtual wxSocketOutputStream::OnSysWrite
int64_t _3f_OnSysWrite_40_wxSocketOutputStream_40__40_MEAA_KPEBX_K_40_Z(int64_t a1) {
    // 0x18000d250
    g117 = a1;
    int64_t v1 = g116; // 0x18000d250
    int64_t v2 = g117; // 0x18000d25a
    g116 = v2;
    int64_t v3 = *(int64_t *)(v2 + 32); // 0x18000d25d
    g117 = v3;
    int64_t v4 = _3f_Write_40_wxSocketBase_40__40_QEAAAEAV1_40_PEBXI_40_Z(v3, g119, g112); // 0x18000d261
    g114 = v4;
    int64_t v5 = *(int64_t *)(g116 + 32); // 0x18000d266
    g117 = v5;
    int64_t v6 = _3f_LastError_40_wxSocketBase_40__40_QEBA_3f_AW4wxSocketError_40__40_XZ(v5); // 0x18000d26d
    g114 = (int64_t)*(int32_t *)(v4 + 40);
    int64_t v7 = g116; // 0x18000d296
    if ((int32_t)v6 == 0) {
        // 0x18000d296
        *(int32_t *)(v7 + 24) = 0;
        g116 = v1;
        return g114;
    }
    int64_t v8 = *(int64_t *)(v7 + 32); // 0x18000d279
    g117 = v8;
    char v9 = *(char *)(v8 + 36); // 0x18000d27d
    g119 = -v9;
    uint32_t v10 = (int32_t)(v9 != 0) + 2; // 0x18000d285
    g117 = v10;
    *(int32_t *)(v7 + 24) = v10;
    g116 = v1;
    return g114;
}
 
// Address range: 0x18000d2b0 - 0x18000d2e2
// Demangled:     public: wxSocketInputStream::wxSocketInputStream
int64_t _3f__3f_0wxSocketInputStream_40__40_QEAA_40_AEAVwxSocketBase_40__40__40_Z(int64_t a1, int64_t a2) {
    // 0x18000d2b0
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x18000d2b0
    g116 = g119;
    int64_t result = g117; // 0x18000d2bd
    _3f__3f_0wxInputStream_40__40_QEAA_40_XZ();
    *(int64_t *)(result + 56) = g116;
    g116 = v1;
    *(int64_t *)result = (int64_t)&g37;
    g114 = result;
    return result;
}
 
// Address range: 0x18000d2f0 - 0x18000d301
// Demangled:     public: virtual wxSocketInputStream::~wxSocketInputStream
int64_t _3f__3f_1wxSocketInputStream_40__40_UEAA_40_XZ(int64_t a1) {
    // 0x18000d2f0
    g117 = a1;
    g114 = &g37;
    *(int64_t *)a1 = (int64_t)&g37;
    int64_t result = _3f__3f_1wxInputStream_40__40_UEAA_40_XZ(a1); // 0x18000d2fa
    g114 = result;
    return result;
}
 
// Address range: 0x18000d310 - 0x18000d371
// Demangled:     protected: virtual wxSocketInputStream::OnSysRead
int64_t _3f_OnSysRead_40_wxSocketInputStream_40__40_MEAA_KPEAX_K_40_Z(int64_t a1) {
    // 0x18000d310
    g117 = a1;
    int64_t v1 = g116; // 0x18000d310
    int64_t v2 = g117; // 0x18000d31a
    g116 = v2;
    int64_t v3 = *(int64_t *)(v2 + 56); // 0x18000d31d
    g117 = v3;
    int64_t v4 = _3f_Read_40_wxSocketBase_40__40_QEAAAEAV1_40_PEAXI_40_Z(v3, g119, g112); // 0x18000d321
    g114 = v4;
    int64_t v5 = *(int64_t *)(g116 + 56); // 0x18000d326
    g117 = v5;
    int64_t result = (int64_t)*(int32_t *)(v4 + 40); // rdi
    int64_t v6 = _3f_LastError_40_wxSocketBase_40__40_QEBA_3f_AW4wxSocketError_40__40_XZ(v5); // 0x18000d32d
    g114 = v6;
    int64_t v7 = g116; // 0x18000d35c
    if ((int32_t)v6 == 0) {
        // 0x18000d35c
        *(int32_t *)(v7 + 24) = 0;
        g116 = v1;
        g114 = result;
        return result;
    }
    int64_t v8 = *(int64_t *)(v7 + 56); // 0x18000d336
    g117 = v8;
    g114 = 1;
    g119 = 3;
    int64_t v9 = *(char *)(v8 + 36) != 0 ? 1 : 3;
    g119 = v9;
    g114 = result;
    *(int32_t *)(v7 + 24) = (int32_t)v9;
    g116 = v1;
    return g114;
}
 
// Address range: 0x18000d380 - 0x18000d3ed
// Demangled:     public: wxSocketStream::wxSocketStream
int64_t _3f__3f_0wxSocketStream_40__40_QEAA_40_AEAVwxSocketBase_40__40__40_Z(int64_t a1, int64_t a2) {
    // 0x18000d380
    g119 = a2;
    g117 = a1;
    int64_t v1 = g120; // 0x18000d398
    int64_t v2 = g119; // rdi
    g120 = g117;
    g114 = _3f__3f_0wxInputStream_40__40_QEAA_40_XZ();
    *(int64_t *)g120 = (int64_t)&g37;
    *(int64_t *)(g120 + 56) = v2;
    int64_t v3 = g120 + 64; // 0x18000d3b7
    g117 = v3;
    _3f__3f_0wxOutputStream_40__40_QEAA_40_XZ(v3);
    *(int64_t *)(g120 + 96) = v2;
    *(int64_t *)g120 = (int64_t)&g39;
    *(int64_t *)(g120 + 64) = (int64_t)&g38;
    int64_t result = g120; // 0x18000d3da
    g114 = result;
    g120 = v1;
    return result;
}
 
// Address range: 0x18000d3f0 - 0x18000d43e
// Demangled:     public: virtual wxSocketStream::~wxSocketStream
int64_t _3f__3f_1wxSocketStream_40__40_UEAA_40_XZ(int64_t a1) {
    // 0x18000d3f0
    g117 = a1;
    int64_t v1 = g116; // 0x18000d3f5
    int64_t v2 = g117; // 0x18000d403
    g116 = v2;
    *(int64_t *)v2 = (int64_t)&g39;
    int64_t v3 = g117 + 64; // 0x18000d410
    g117 = v3;
    g114 = &g36;
    *(int64_t *)v3 = (int64_t)&g36;
    _3f__3f_1wxOutputStream_40__40_UEAA_40_XZ(v3);
    g114 = &g37;
    *(int64_t *)g116 = (int64_t)&g37;
    int64_t v4 = g116; // 0x18000d42f
    g117 = v4;
    g116 = v1;
    int64_t result = _3f__3f_1wxInputStream_40__40_UEAA_40_XZ(v4); // 0x18000d437
    g114 = result;
    return result;
}
 
// Address range: 0x18000d440 - 0x18000d4bd
int64_t function_18000d440(int64_t a1, int64_t a2) {
    // 0x18000d440
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x18000d440
    int64_t v2 = g120; // 0x18000d445
    int64_t v3 = g119; // 0x18000d44a
    g120 = v3;
    g116 = a1;
    if ((v3 & 2) == 0) {
        // 0x18000d491
        g114 = &g36;
        *(int64_t *)a1 = (int64_t)&g36;
        g114 = _3f__3f_1wxOutputStream_40__40_UEAA_40_XZ(a1);
        if ((g120 & 1) != 0) {
            int64_t v4 = g116; // 0x18000d4a7
            g117 = v4;
            g114 = function_18001310e(v4);
        }
        int64_t result = g116; // 0x18000d4af
        g114 = result;
        g116 = v1;
        g120 = v2;
        return result;
    }
    uint32_t v5 = *(int32_t *)(a1 - 8); // 0x18000d454
    g112 = v5;
    g119 = 40;
    g114 = function_180013168(a1, 40, v5, 0x18000d230);
    if ((g120 & 1) != 0) {
        int64_t v6 = g116 - 8; // 0x18000d474
        g117 = v6;
        g114 = function_180013114(v6);
    }
    int64_t result2 = g116 - 8; // 0x18000d47d
    g114 = result2;
    g116 = v1;
    g120 = v2;
    return result2;
}
 
// Address range: 0x18000d4c0 - 0x18000d53d
int64_t function_18000d4c0(int64_t a1, int64_t a2) {
    // 0x18000d4c0
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x18000d4c0
    int64_t v2 = g120; // 0x18000d4c5
    int64_t v3 = g119; // 0x18000d4ca
    g120 = v3;
    g116 = a1;
    if ((v3 & 2) == 0) {
        // 0x18000d511
        g114 = &g37;
        *(int64_t *)a1 = (int64_t)&g37;
        g114 = _3f__3f_1wxInputStream_40__40_UEAA_40_XZ(a1);
        if ((g120 & 1) != 0) {
            int64_t v4 = g116; // 0x18000d527
            g117 = v4;
            g114 = function_18001310e(v4);
        }
        int64_t result = g116; // 0x18000d52f
        g114 = result;
        g116 = v1;
        g120 = v2;
        return result;
    }
    uint32_t v5 = *(int32_t *)(a1 - 8); // 0x18000d4d4
    g112 = v5;
    g119 = 64;
    g114 = function_180013168(a1, 64, v5, 0x18000d2f0);
    if ((g120 & 1) != 0) {
        int64_t v6 = g116 - 8; // 0x18000d4f4
        g117 = v6;
        g114 = function_180013114(v6);
    }
    int64_t result2 = g116 - 8; // 0x18000d4fd
    g114 = result2;
    g116 = v1;
    g120 = v2;
    return result2;
}
 
// Address range: 0x18000d540 - 0x18000d5e4
int64_t function_18000d540(int64_t a1, int64_t a2) {
    // 0x18000d540
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x18000d553
    int64_t v2 = g120; // 0x18000d558
    int64_t v3 = g119; // 0x18000d55d
    g120 = v3;
    g116 = a1;
    int64_t result;
    if ((v3 & 2) != 0) {
        uint32_t v4 = *(int32_t *)(a1 - 8); // 0x18000d56e
        g112 = v4;
        g119 = 104;
        g114 = function_180013168(a1, 104, v4, 0x18000d3f0);
        if ((g120 & 1) != 0) {
            int64_t v5 = g116 - 8; // 0x18000d582
            g117 = v5;
            g114 = function_180013114(v5);
        }
        // 0x18000d58b
        result = g116 - 8;
        // 0x18000d5d4
        g114 = result;
        g116 = v1;
        g120 = v2;
        return result;
    }
    // 0x18000d591
    *(int64_t *)a1 = (int64_t)&g39;
    int64_t v6 = a1 + 64; // 0x18000d59b
    g117 = v6;
    g114 = &g36;
    *(int64_t *)v6 = (int64_t)&g36;
    _3f__3f_1wxOutputStream_40__40_UEAA_40_XZ(v6);
    g114 = &g37;
    *(int64_t *)g116 = (int64_t)&g37;
    int64_t v7 = g116; // 0x18000d5ba
    g117 = v7;
    g114 = _3f__3f_1wxInputStream_40__40_UEAA_40_XZ(v7);
    if ((g120 & 1) != 0) {
        int64_t v8 = g116; // 0x18000d5c9
        g117 = v8;
        g114 = function_18001310e(v8);
    }
    // 0x18000d5d1
    result = g116;
    // 0x18000d5d4
    g114 = result;
    g116 = v1;
    g120 = v2;
    return result;
}
 
// Address range: 0x18000d5f0 - 0x18000d5f9
int64_t function_18000d5f0(int64_t a1) {
    int64_t v1 = a1 - 64; // 0x18000d5f0
    g117 = v1;
    int64_t result = function_18000d540(v1, g119); // 0x18000d5f4
    g114 = result;
    return result;
}
 
// Address range: 0x18000d600 - 0x18000d608
// Demangled:     public: virtual wxSocketBase::GetClassInfo
int64_t _3f_GetClassInfo_40_wxSocketBase_40__40_UEBAPEAVwxClassInfo_40__40_XZ(void) {
    // 0x18000d600
    g114 = 0x18002eef8;
    return 0x18002eef8;
}
 
// Address range: 0x18000d610 - 0x18000d618
// Demangled:     public: virtual wxSocketServer::GetClassInfo
int64_t _3f_GetClassInfo_40_wxSocketServer_40__40_UEBAPEAVwxClassInfo_40__40_XZ(void) {
    // 0x18000d610
    g114 = 0x18002ef28;
    return 0x18002ef28;
}
 
// Address range: 0x18000d620 - 0x18000d628
// Demangled:     public: virtual wxSocketClient::GetClassInfo
int64_t _3f_GetClassInfo_40_wxSocketClient_40__40_UEBAPEAVwxClassInfo_40__40_XZ(void) {
    // 0x18000d620
    g114 = 0x18002ef58;
    return 0x18002ef58;
}
 
// Address range: 0x18000d630 - 0x18000d638
// Demangled:     public: virtual wxDatagramSocket::GetClassInfo
int64_t _3f_GetClassInfo_40_wxDatagramSocket_40__40_UEBAPEAVwxClassInfo_40__40_XZ(void) {
    // 0x18000d630
    g114 = 0x18002ef88;
    return 0x18002ef88;
}
 
// Address range: 0x18000d640 - 0x18000d648
// Demangled:     public: virtual wxSocketEvent::GetClassInfo
int64_t _3f_GetClassInfo_40_wxSocketEvent_40__40_UEBAPEAVwxClassInfo_40__40_XZ(void) {
    // 0x18000d640
    g114 = 0x18002efb8;
    return 0x18002efb8;
}
 
// Address range: 0x18000d650 - 0x18000d67e
int64_t function_18000d650(int64_t a1) {
    // 0x18000d650
    g117 = a1;
    *(char *)(g117 + 34) = 0;
    int64_t result = g117; // 0x18000d65b
    g114 = result;
    int64_t v1 = *(int64_t *)(result + 16); // 0x18000d65e
    g117 = v1;
    if (v1 == 0) {
        // 0x18000d679
        return result;
    }
    // 0x18000d667
    int64_t result2; // 0x18000d66e
    if (*(int64_t *)(v1 + 8) != -1) {
        // 0x18000d66e
        result2 = *(int64_t *)v1;
        g114 = result2;
        g119 = 1;
    } else {
        result2 = result;
    }
    // 0x18000d679
    return result2;
}
 
// Address range: 0x18000d680 - 0x18000d6ae
int64_t function_18000d680(int64_t a1) {
    // 0x18000d680
    g117 = a1;
    *(char *)(g117 + 35) = 0;
    int64_t result = g117; // 0x18000d68b
    g114 = result;
    int64_t v1 = *(int64_t *)(result + 16); // 0x18000d68e
    g117 = v1;
    if (v1 == 0) {
        // 0x18000d6a9
        return result;
    }
    // 0x18000d697
    int64_t result2; // 0x18000d69e
    if (*(int64_t *)(v1 + 8) != -1) {
        // 0x18000d69e
        result2 = *(int64_t *)v1;
        g114 = result2;
        g119 = 2;
    } else {
        result2 = result;
    }
    // 0x18000d6a9
    return result2;
}
 
// Address range: 0x18000d6b0 - 0x18000d7cf
int64_t function_18000d6b0(int64_t a1) {
    // 0x18000d6b0
    g117 = a1;
    int64_t v1 = g116; // 0x18000d6b0
    int64_t v2 = g117; // 0x18000d6b6
    g116 = v2;
    int64_t option_value;
    int64_t v3; // 0x18000d6fb
    if (*(char *)(v2 + 78) != 0) {
        int64_t sock = *(int64_t *)(v2 + 8); // 0x18000d6bf
        g117 = sock;
        g113 = &option_value;
        g119 = 0xffff;
        g112 = 4;
        option_value = 1;
        g114 = setsockopt((int32_t)sock, 0xffff, 4, (char *)&option_value, 4);
        v3 = g116;
    } else {
        v3 = v2;
    }
    // 0x18000d6e8
    int64_t v4; // 0x18000d76f
    if (*(char *)(v3 + 79) != 0) {
        int64_t v5 = *(int64_t *)0x180019440; // 0x18000d6ee
        g114 = v5;
        if (*(int64_t *)v5 != 0) {
            // 0x18000d6fb
            if (*(char *)(v3 + 76) != 0) {
                // 0x18000d701
                g114 = &g41;
                g112 = (int64_t)"wxSocketImpl::PostCreation";
                g117 = (int64_t)"..\\..\\src\\common\\socket.cpp";
                g119 = 357;
                g114 = _3f_wxOnAssert_40__40_YAXPEBDH000_40_Z("..\\..\\src\\common\\socket.cpp", 357, "wxSocketImpl::PostCreation", "!m_stream");
                char * v6 = (char *)*(int64_t *)0x180019430; // 0x18000d734
                if (*v6 != 0) {
                    // 0x18000d73a
                    *v6 = 0;
                    g114 = __asm_int3();
                }
            }
        }
        int64_t sock2 = *(int64_t *)(g116 + 8); // 0x18000d73f
        g117 = sock2;
        g113 = &option_value;
        g119 = 0xffff;
        g112 = 32;
        option_value = 1;
        g114 = setsockopt((int32_t)sock2, 0xffff, 32, (char *)&option_value, 4);
        v4 = g116;
    } else {
        v4 = v3;
    }
    uint32_t v7 = *(int32_t *)(v4 + 16); // 0x18000d768
    int64_t v8 = v7; // 0x18000d768
    g114 = v8;
    int64_t v9; // 0x18000d79b
    if (v7 >= 0) {
        int64_t sock3 = *(int64_t *)(v4 + 8); // 0x18000d76f
        g117 = sock3;
        g113 = &option_value;
        g119 = 0xffff;
        g112 = 0x1002;
        option_value = v8;
        int32_t v10 = setsockopt((int32_t)sock3, 0xffff, 0x1002, (char *)&option_value, 4); // 0x18000d78f
        g114 = v10;
        v9 = g116;
    } else {
        v9 = v4;
    }
    uint32_t v11 = *(int32_t *)(v9 + 20); // 0x18000d794
    int64_t v12 = v11; // 0x18000d794
    g114 = v12;
    int64_t v13; // 0x18000d7c3
    if (v11 >= 0) {
        int64_t sock4 = *(int64_t *)(v9 + 8); // 0x18000d79b
        g117 = sock4;
        g113 = &option_value;
        g119 = 0xffff;
        g112 = 0x1001;
        option_value = v12;
        int32_t v14 = setsockopt((int32_t)sock4, 0xffff, 0x1001, (char *)&option_value, 4); // 0x18000d7bb
        g114 = v14;
        v13 = g116;
    } else {
        v13 = v9;
    }
    int64_t result = g117; // 0x18000d7c0
    g114 = result;
    g117 = v13;
    g116 = v1;
    return result;
}
 
// Address range: 0x18000d7d0 - 0x18000d874
int64_t function_18000d7d0(int64_t a1) {
    // 0x18000d7d0
    g117 = a1;
    int64_t v1 = g116; // 0x18000d7d0
    int64_t v2 = g117; // 0x18000d7da
    int64_t sock = *(int64_t *)(v2 + 8); // 0x18000d7da
    g116 = v2;
    if (sock == -1 || *(char *)(v2 + 92) != 0) {
        // 0x18000d85f
        g116 = v1;
        *(int32_t *)(v2 + 72) = 4;
        g114 = 0xffffffff;
        return 0xffffffff;
    }
    // 0x18000d7ed
    int64_t result;
    int32_t v3;
    if (*(char *)(v2 + 76) == 0) {
        // 0x18000d800
        if (*(int32_t *)(v2 + 48) != 0) {
            uint32_t dest_len = *(int32_t *)(v2 + 64); // 0x18000d812
            g114 = dest_len;
            int64_t dest_addr = *(int64_t *)(v2 + 56); // 0x18000d815
            g113 = 0;
            g117 = sock;
            v3 = sendto((int32_t)sock, (char *)g119, (int32_t)g112, 0, (struct sockaddr *)dest_addr, dest_len);
            goto lab_0x18000d82d;
        } else {
            // 0x18000d806
            *(int32_t *)(v2 + 72) = 3;
            result = 0xffffffff;
            goto lab_0x18000d82f;
        }
    } else {
        // 0x18000d7f3
        g113 = 0;
        g117 = sock;
        v3 = send((int32_t)sock, (char *)g119, (int32_t)g112, 0);
        goto lab_0x18000d82d;
    }
  lab_0x18000d82d:
    // 0x18000d82d
    result = v3;
    g114 = result;
    goto lab_0x18000d82f;
  lab_0x18000d82f:
    // 0x18000d82f
    if ((int32_t)result != -1) {
        // 0x18000d84d
        *(int32_t *)(g116 + 72) = 0;
        g114 = result;
        g116 = v1;
        return result;
    }
    int64_t v4 = g117; // 0x18000d834
    int64_t v5 = g116; // 0x18000d837
    g117 = v5;
    *(int32_t *)(v5 + 72) = (int32_t)v4;
    g114 = result;
    g116 = v1;
    return result;
}
 
// Address range: 0x18000d880 - 0x18000d888
// Demangled:     private: wxSocketBase::SetError
int64_t _3f_SetError_40_wxSocketBase_40__40_AEAAXW4wxSocketError_40__40__40_Z(int64_t a1, int64_t a2) {
    // 0x18000d880
    g119 = a2;
    g117 = a1;
    int64_t v1 = *(int64_t *)(a1 + 16); // 0x18000d880
    g114 = v1;
    *(int32_t *)(v1 + 72) = (int32_t)a2;
    return g114;
}
 
// Address range: 0x18000d890 - 0x18000d898
// Demangled:     public: wxSocketBase::LastError
int64_t _3f_LastError_40_wxSocketBase_40__40_QEBA_3f_AW4wxSocketError_40__40_XZ(int64_t a1) {
    // 0x18000d890
    g117 = a1;
    int64_t v1 = *(int64_t *)(a1 + 16); // 0x18000d890
    g114 = v1;
    int64_t result = (int64_t)*(int32_t *)(v1 + 72); // 0x18000d894
    g114 = result;
    return result;
}
 
// Address range: 0x18000d8a0 - 0x18000d8e1
// Demangled:     public: wxSocketBase::ShutdownOutput
int64_t _3f_ShutdownOutput_40_wxSocketBase_40__40_QEAAXXZ(int64_t a1) {
    // 0x18000d8a0
    g117 = a1;
    int64_t v1 = g116; // 0x18000d8a0
    int64_t v2 = *(int64_t *)(g117 + 16); // 0x18000d8a6
    g116 = v2;
    if (v2 == 0) {
        // 0x18000d8db
        g116 = v1;
        return g114;
    }
    int64_t * v3 = (int64_t *)(v2 + 8); // 0x18000d8af
    int64_t sock = *v3; // 0x18000d8af
    g117 = sock;
    if ((sock & 0xffffffff) == 0xffffffff) {
        // 0x18000d8db
        g116 = v1;
        return g114;
    }
    // 0x18000d8b9
    g119 = 1;
    g114 = shutdown((int32_t)sock, SHUT_WR);
    if (*v3 != -1) {
        // 0x18000d8ca
        g114 = *(int64_t *)v2;
        g117 = v2;
        *v3 = -1;
    }
    // 0x18000d8db
    g116 = v1;
    return g114;
}
 
// Address range: 0x18000d8f0 - 0x18000db8f
int64_t function_18000d8f0(int64_t a1, int64_t a2, int64_t a3) {
    // 0x18000d8f0
    g112 = a3;
    g119 = a2;
    g117 = a1;
    int64_t v1 = g120; // 0x18000d8f0
    int64_t v2 = g117; // 0x18000d8fa
    int64_t v3 = *(int64_t *)(v2 + 8); // 0x18000d8fd
    g117 = v3;
    int64_t v4 = g119; // 0x18000d901
    g120 = v4;
    if (v3 == -1) {
        int64_t result = v4 & 8; // 0x18000d909
        g114 = result;
        g120 = v1;
        return result;
    }
    int64_t v5 = g116; // 0x18000d918
    g116 = 0;
    if (a3 != 0) {
        // 0x18000d947
        g114 = a3;
    } else {
        a3 = 0;
    }
    int64_t timeout = a3; // bp-1640
    int64_t v6; // bp-1096
    int64_t v7 = &v6; // 0x18000d95c
    int64_t v8; // bp-568
    int64_t v9 = &v8; // 0x18000d964
    int64_t readfds = (v4 & 1) == 0 ? 0 : v7; // rbp
    int64_t v10 = (v4 & 2) == 0 ? 0 : v9; // 0x18000d976
    uint32_t v11 = (int32_t)v4 & 4; // 0x18000d97a
    if (v11 == 0) {
        goto lab_0x18000d997;
    } else {
        // 0x18000d980
        if (*(char *)(v2 + 92) == 0) {
            // 0x18000d98f
            v10 = v9;
            goto lab_0x18000d997;
        } else {
            // 0x18000d985
            readfds = v7;
            goto lab_0x18000d99c;
        }
    }
  lab_0x18000d997:;
    int64_t v12; // 0x18000d9af
    if ((v4 & 1) == 0) {
        v12 = v10;
        goto lab_0x18000d9a6;
    } else {
        goto lab_0x18000d99c;
    }
  lab_0x18000d9a6:;
    int64_t writefds; // 0x18000d9c5
    if (v12 != 0) {
        // 0x18000d9ab
        g114 = *(int64_t *)(v2 + 8);
        *(int32_t *)v12 = (int32_t)g116;
        *(int64_t *)(v10 + 8) = g114;
        int32_t * v13 = (int32_t *)v10; // 0x18000d9b8
        *v13 = *v13 + 1;
        writefds = v10;
    } else {
        writefds = 0;
    }
    // 0x18000d9bc
    int64_t errorfds; // bp-1624
    int64_t v14 = &errorfds; // 0x18000d9c0
    g113 = v14;
    g112 = writefds;
    int64_t nfds = *(int64_t *)(v2 + 8) + 1; // 0x18000d9c8
    g117 = nfds;
    g114 = &timeout;
    g119 = readfds;
    errorfds = 1;
    int32_t v15 = select((int32_t)nfds, (struct fd_set *)readfds, (struct fd_set *)writefds, (struct fd_set *)&errorfds, (struct timeval *)&timeout); // 0x18000d9e5
    int64_t v16 = v15; // 0x18000d9e5
    g114 = v16;
    int64_t v17; // r13
    int32_t option_value; // bp+32
    int64_t option_len;
    int64_t result2; // 0x18000d9ff
    if (v15 == -1) {
        goto lab_0x18000db55;
    } else {
        int64_t v18 = *(int64_t *)(v2 + 8); // 0x18000d9f6
        g117 = v18;
        g119 = v14;
        int32_t v19 = __WSAFDIsSet((int32_t)v18, (struct fd_set *)&errorfds); // 0x18000d9ff
        result2 = v19;
        g114 = result2;
        if (v19 != 0) {
            goto lab_0x18000db55;
        } else {
            int32_t v20 = v16; // 0x18000da0c
            if (v20 == 0) {
                goto lab_0x18000db5d;
            } else {
                int64_t v21 = *(int64_t *)0x180019440; // 0x18000da15
                g114 = v21;
                if (*(int64_t *)v21 != g116) {
                    if (v20 != 1) {
                        // 0x18000da27
                        g114 = (int64_t)"unexpected select() return value";
                        g113 = (int64_t)"rc == 1";
                        g112 = (int64_t)"wxSocketImpl::Select";
                        g117 = (int64_t)"..\\..\\src\\common\\socket.cpp";
                        g119 = 1356;
                        g114 = _3f_wxOnAssert_40__40_YAXPEBDH000_40_Z("..\\..\\src\\common\\socket.cpp", 1356, "wxSocketImpl::Select", "rc == 1");
                        char * v22 = (char *)*(int64_t *)0x180019430; // 0x18000da5a
                        char v23 = g116; // 0x18000da5a
                        if (*v22 != v23) {
                            // 0x18000da5f
                            *v22 = v23;
                            g114 = __asm_int3();
                        }
                    }
                }
                // 0x18000da63
                v17 = 8;
                if (readfds == 0) {
                    goto lab_0x18000dad7;
                } else {
                    int64_t v24 = *(int64_t *)(v2 + 8); // 0x18000da6e
                    g117 = v24;
                    g119 = readfds;
                    int32_t v25 = __WSAFDIsSet((int32_t)v24, (struct fd_set *)readfds); // 0x18000da75
                    g114 = v25;
                    if (v25 == 0) {
                        goto lab_0x18000dad7;
                    } else {
                        char v26 = g116; // 0x18000da7e
                        if (*(char *)(v2 + 92) == v26) {
                            // 0x18000dad2
                            g116 = 1;
                            goto lab_0x18000dad7;
                        } else {
                            // 0x18000da83
                            if ((int32_t)(int64_t)v11 == 0) {
                                // 0x18000dad2
                                g116 = 1;
                                goto lab_0x18000dad7;
                            } else {
                                int64_t sock = *(int64_t *)(v2 + 8); // 0x18000da88
                                g117 = sock;
                                g114 = &option_len;
                                g113 = &option_value;
                                g119 = 0xffff;
                                g112 = 0x1007;
                                option_len = 4;
                                *(char *)(v2 + 77) = v26;
                                int32_t v27 = getsockopt((int32_t)sock, 0xffff, 0x1007, (char *)&option_value, (int32_t *)&option_len); // 0x18000daba
                                g114 = v27;
                                g116 = option_value != 0 ? v17 & 0xffffffff : 4;
                                goto lab_0x18000dad7;
                            }
                        }
                    }
                }
            }
        }
    }
  lab_0x18000d99c:
    // 0x18000d99c
    *(int32_t *)&v6 = 0;
    *(int64_t *)(v7 + 8) = v3;
    int32_t * v28 = (int32_t *)readfds; // 0x18000d9a3
    *v28 = *v28 + 1;
    v12 = v10;
    goto lab_0x18000d9a6;
  lab_0x18000db55:
    // 0x18000db55
    g120 &= 8;
    *(char *)(v2 + 77) = (char)g116;
    int64_t v29 = g120; // 0x18000db5b
    g114 = v29;
    result2 = v29;
    goto lab_0x18000db5d;
  lab_0x18000db5d:
    // 0x18000db5d
    g116 = v5;
    g120 = v1;
    return result2;
  lab_0x18000dad7:
    // 0x18000dad7
    if (v10 == 0) {
        goto lab_0x18000db4f;
    } else {
        int64_t v30 = *(int64_t *)(v2 + 8); // 0x18000dadc
        g117 = v30;
        g119 = v10;
        int32_t v31 = __WSAFDIsSet((int32_t)v30, (struct fd_set *)v10); // 0x18000dae3
        g114 = v31;
        if (v31 == 0) {
            goto lab_0x18000db4f;
        } else {
            char * v32 = (char *)(v2 + 77); // 0x18000daec
            if (*v32 == 0) {
                // 0x18000db4c
                g116 = g116 & 0xfffffffd | 2;
                goto lab_0x18000db4f;
            } else {
                // 0x18000daf2
                if (*(char *)(v2 + 92) != 0) {
                    // 0x18000db4c
                    g116 = g116 & 0xfffffffd | 2;
                    goto lab_0x18000db4f;
                } else {
                    int64_t sock2 = *(int64_t *)(v2 + 8); // 0x18000daf8
                    g117 = sock2;
                    g114 = &option_len;
                    g113 = &option_value;
                    g119 = 0xffff;
                    g112 = 0x1007;
                    option_len = 4;
                    *v32 = 0;
                    int32_t v33 = getsockopt((int32_t)sock2, 0xffff, 0x1007, (char *)&option_value, (int32_t *)&option_len); // 0x18000db2b
                    g114 = v33;
                    if (option_value == 0) {
                        int64_t v34 = g120 & (g116 | 4) & 0xffffffff; // 0x18000db46
                        g116 = v34;
                        g114 = v34;
                        result2 = v34;
                    } else {
                        int64_t v35 = g120 & v17 & 0xffffffff; // 0x18000db3d
                        g116 = v35;
                        g114 = v35;
                        result2 = v35;
                    }
                    goto lab_0x18000db5d;
                }
            }
        }
    }
  lab_0x18000db4f:;
    int64_t v36 = g120 & g116 & 0xffffffff; // 0x18000db4f
    g116 = v36;
    g114 = v36;
    result2 = v36;
    goto lab_0x18000db5d;
}
 
// Address range: 0x18000db90 - 0x18000dc0a
// Demangled:     public: virtual wxSocketBase::GetPeer
int64_t _3f_GetPeer_40_wxSocketBase_40__40_UEBA_NAEAVwxSockAddress_40__40__40_Z(int64_t a1, int64_t a2) {
    // 0x18000db90
    g119 = a2;
    g117 = a1;
    int64_t v1 = g119; // 0x18000db94
    g114 = v1;
    int64_t v2 = *(int64_t *)(g117 + 16); // 0x18000db97
    g119 = v2;
    int64_t result; // 0x18000dc03
    if (v2 != 0) {
        int64_t v3 = v2 + 48; // 0x18000dba0
        g119 = v3;
        if (*(int32_t *)v3 == 0) {
            // 0x18000dc03
            result = v1 & -256;
            g114 = result;
            return result;
        }
        // 0x18000dba9
        g117 = v1;
        int64_t result2 = _3f_SetAddress_40_wxSockAddress_40__40_QEAAXAEBVwxSockAddressImpl_40__40__40_Z(v1, v3) & -256 | 1; // 0x18000dbb1
        g114 = result2;
        return result2;
    }
    int64_t v4 = *(int64_t *)0x180019440; // 0x18000dbb8
    g114 = v4;
    if (*(int64_t *)v4 == 0) {
        // 0x18000dc03
        result = v4 & -256;
        g114 = result;
        return result;
    }
    // 0x18000dbc5
    g114 = (int64_t)"invalid socket";
    g112 = (int64_t)"wxSocketBase::GetPeer";
    g117 = (int64_t)"..\\..\\src\\common\\socket.cpp";
    g119 = 1578;
    int64_t v5 = _3f_wxOnAssert_40__40_YAXPEBDH000_40_Z("..\\..\\src\\common\\socket.cpp", 1578, "wxSocketBase::GetPeer", "m_impl"); // 0x18000dbeb
    g114 = v5;
    char * v6 = (char *)*(int64_t *)0x180019430; // 0x18000dbf8
    int64_t v7; // 0x18000dc02
    if (*v6 != 0) {
        // 0x18000dbfe
        *v6 = 0;
        v7 = __asm_int3();
        g114 = v7;
    } else {
        v7 = v5;
    }
    // 0x18000dc03
    result = v7 & -256;
    g114 = result;
    return result;
}
 
// Address range: 0x18000dc10 - 0x18000dc91
// Demangled:     public: wxSocketBase::SaveState
int64_t _3f_SaveState_40_wxSocketBase_40__40_QEAAXXZ(int64_t a1) {
    // 0x18000dc10
    g117 = a1;
    int64_t v1 = g116; // 0x18000dc1f
    int64_t v2 = g117; // rdi
    g117 = 40;
    int64_t v3 = function_18001323c(40, g119); // 0x18000dc2c
    g114 = v3;
    g116 = v3;
    int32_t * v4; // 0x18000dc58
    if (v3 == 0) {
        // 0x18000dc53
        g116 = 0;
        v4 = (int32_t *)16;
    } else {
        // 0x18000dc3e
        g117 = v3;
        g114 = _3f__3f_0wxObject_40__40_QEAA_40_XZ(v3);
        *(int64_t *)g116 = (int64_t)&g40;
        v4 = (int32_t *)(g116 + 16);
    }
    uint32_t v5 = *(int32_t *)(v2 + 28); // 0x18000dc55
    g114 = v5;
    *v4 = v5;
    unsigned char v6 = *(char *)(v2 + 232); // 0x18000dc5b
    g114 = v6;
    *(char *)(g116 + 24) = v6;
    uint32_t v7 = *(int32_t *)(v2 + 236); // 0x18000dc65
    g114 = v7;
    *(int32_t *)(g116 + 20) = v7;
    int64_t v8 = *(int64_t *)(v2 + 224); // 0x18000dc6e
    g114 = v8;
    *(int64_t *)(g116 + 32) = v8;
    int64_t v9 = v2 + 56; // 0x18000dc79
    g117 = v9;
    int64_t v10 = g116; // 0x18000dc7d
    g119 = v10;
    g116 = v1;
    int64_t result = _3f_Append_40_wxObjectList_40__40_QEAAPEAVwxObjectListNode_40__40_PEAVwxObject_40__40__40_Z(v9, v10); // 0x18000dc8a
    g114 = result;
    return result;
}
 
// Address range: 0x18000dca0 - 0x18000dd63
// Demangled:     public: wxSocketBase::RestoreState
int64_t _3f_RestoreState_40_wxSocketBase_40__40_QEAAXXZ(int64_t a1, int64_t a2) {
    // 0x18000dca0
    g119 = a2;
    g117 = a1;
    int64_t v1 = g117; // 0x18000dcaa
    int64_t v2; // bp+16
    int64_t v3 = &v2; // 0x18000dcad
    g117 = v3;
    g119 = 0;
    int64_t v4 = _3f__3f_0compatibility_iterator_40_wxObjectList_40__40_QEAA_40_PEAVwxObjectListNode_40__40__40_Z(&v2, 0); // 0x18000dcb4
    g114 = v4;
    int64_t v5 = v1 + 56; // 0x18000dcba
    g117 = v5;
    int64_t v6 = _3f_GetLast_40_wxObjectList_40__40_QEBAPEAVwxObjectListNode_40__40_XZ(v5); // 0x18000dcbe
    g114 = v6;
    g117 = &v2;
    g119 = v6;
    int64_t v7 = _3f__3f_0compatibility_iterator_40_wxObjectList_40__40_QEAA_40_PEAVwxObjectListNode_40__40__40_Z(&v2, (int32_t)v6); // 0x18000dccc
    g114 = v7;
    g117 = v3;
    int64_t v8 = _3f__3f_Bcompatibility_iterator_40_wxObjectList_40__40_QEBAPEAVwxObjectListNode_40__40_XZ(&v2); // 0x18000dce1
    g114 = v8;
    int64_t result; // 0x18000dd3e
    if (v8 != 0) {
        // 0x18000dcec
        g117 = v3;
        int64_t v9 = g116; // 0x18000dcf1
        int64_t v10 = _3f__3f_Ccompatibility_iterator_40_wxObjectList_40__40_QEBAPEAVwxObjectListNode_40__40_XZ(&v2); // 0x18000dcf6
        g114 = v10;
        g117 = v10;
        int64_t v11 = _3f_GetData_40_wxObjectListNode_40__40_QEBAPEAVwxObject_40__40_XZ(v10); // 0x18000dcff
        g114 = v11;
        g117 = v3;
        uint32_t v12 = *(int32_t *)(v11 + 16); // 0x18000dd0a
        g119 = v12;
        g116 = v11;
        *(int32_t *)(v1 + 28) = v12;
        unsigned char v13 = *(char *)(g114 + 24); // 0x18000dd13
        g119 = v13;
        *(char *)(v1 + 232) = v13;
        uint32_t v14 = *(int32_t *)(g114 + 20); // 0x18000dd1d
        g119 = v14;
        *(int32_t *)(v1 + 236) = v14;
        int64_t v15 = *(int64_t *)(g114 + 32); // 0x18000dd26
        g119 = v15;
        *(int64_t *)(v1 + 224) = v15;
        int64_t v16 = _3f__3f_Bcompatibility_iterator_40_wxObjectList_40__40_QEBAPEAVwxObjectListNode_40__40_XZ(&v2); // 0x18000dd31
        g114 = v16;
        int64_t v17 = v1 + 56; // 0x18000dd37
        g117 = v17;
        g119 = v16;
        result = _3f_Erase_40_wxObjectList_40__40_QEAAXPEAVwxObjectListNode_40__40__40_Z(v17, v16);
        g114 = result;
        g119 = 1;
        g117 = g116;
        g116 = v9;
    } else {
        result = 0;
    }
    // 0x18000dd58
    return result;
}
 
// Address range: 0x18000dd70 - 0x18000ddab
// Demangled:     public: virtual wxSocketBase::SetTimeout
int64_t _3f_SetTimeout_40_wxSocketBase_40__40_UEAAXJ_40_Z(int64_t a1, int64_t a2) {
    // 0x18000dd70
    g119 = a2;
    g117 = a1;
    int64_t v1 = *(int64_t *)(a1 + 16); // 0x18000dd70
    g112 = a2;
    *(int32_t *)(a1 + 52) = (int32_t)a2;
    if (v1 != 0) {
        int64_t v2 = g112; // 0x18000dd7f
        g112 = 1000 * v2;
        int64_t v3 = 0x4000000038 * v2; // 0x18000dd8b
        g114 = v3;
        int64_t v4 = v3 / 0x4000000000; // 0x18000dd8e1
        g119 = v4;
        *(int32_t *)(v1 + 84) = (int32_t)v4;
        int64_t v5 = 1000 * g119; // 0x18000dd95
        g119 = v5;
        int64_t v6 = 1000 * (g112 - v5 & 0xffffffff); // 0x18000dd9e
        g112 = v6;
        *(int32_t *)(v1 + 88) = (int32_t)v6;
    }
    // 0x18000dda9
    return g114;
}
 
// Address range: 0x18000ddb0 - 0x18000de30
// Demangled:     public: wxSocketBase::SetFlags
int64_t _3f_SetFlags_40_wxSocketBase_40__40_QEAAXH_40_Z(int64_t a1, int64_t a2) {
    // 0x18000ddb0
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x18000ddb0
    int64_t v2 = *(int64_t *)0x180019440; // 0x18000ddba
    g114 = v2;
    int64_t v3 = g119; // 0x18000ddc1
    g116 = v3;
    int64_t v4 = g117; // 0x18000ddc3
    if (*(int64_t *)v2 == 0) {
        // 0x18000de22
        *(int32_t *)(v4 + 28) = (int32_t)v3;
        g116 = v1;
        return g114;
    }
    if ((v3 & 3) == 0) {
        // 0x18000de22
        *(int32_t *)(v4 + 28) = (int32_t)v3;
        g116 = v1;
        return g114;
    }
    if ((v3 & 28) == 0) {
        // 0x18000de22
        *(int32_t *)(v4 + 28) = (int32_t)v3;
        g116 = v1;
        return g114;
    }
    // 0x18000ddd6
    g114 = (int64_t)"Using wxSOCKET_WAITALL or wxSOCKET_BLOCK with wxSOCKET_NOWAIT doesn't make sense";
    g113 = (int64_t)"!(flags & wxSOCKET_NOWAIT) || !(flags & (wxSOCKET_WAITALL | wxSOCKET_BLOCK))";
    g112 = (int64_t)"wxSocketBase::SetFlags";
    g117 = (int64_t)"..\\..\\src\\common\\socket.cpp";
    g119 = 1659;
    g114 = _3f_wxOnAssert_40__40_YAXPEBDH000_40_Z("..\\..\\src\\common\\socket.cpp", 1659, "wxSocketBase::SetFlags", "!(flags & wxSOCKET_NOWAIT) || !(flags & (wxSOCKET_WAITALL | wxSOCKET_BLOCK))");
    char * v5 = (char *)*(int64_t *)0x180019430; // 0x18000de09
    if (*v5 != 0) {
        // 0x18000de0f
        *v5 = 0;
        g114 = __asm_int3();
    }
    // 0x18000de14
    *(int32_t *)(v4 + 28) = (int32_t)g116;
    g116 = v1;
    return g114;
}
 
// Address range: 0x18000de30 - 0x18000de37
// Demangled:     public: wxSocketBase::Notify
int64_t _3f_Notify_40_wxSocketBase_40__40_QEAAX_N_40_Z(int64_t a1, int32_t a2) {
    // 0x18000de30
    g119 = a2;
    g117 = a1;
    *(char *)(a1 + 232) = (char)a2;
    return g114;
}
 
// Address range: 0x18000de40 - 0x18000de47
// Demangled:     public: wxSocketBase::SetNotify
int64_t _3f_SetNotify_40_wxSocketBase_40__40_QEAAXH_40_Z(int64_t a1, int32_t a2) {
    // 0x18000de40
    g119 = a2;
    g117 = a1;
    *(int32_t *)(a1 + 236) = a2;
    return g114;
}
 
// Address range: 0x18000de50 - 0x18000de5f
// Demangled:     public: wxSocketBase::SetEventHandler
int64_t _3f_SetEventHandler_40_wxSocketBase_40__40_QEAAXAEAVwxEvtHandler_40__40_H_40_Z(int64_t a1, int64_t a2, int64_t a3) {
    // 0x18000de50
    g112 = a3;
    g119 = a2;
    g117 = a1;
    *(int64_t *)(a1 + 216) = a2;
    *(int32_t *)(g117 + 208) = (int32_t)g112;
    return g114;
}
 
// Address range: 0x18000de60 - 0x18000df1e
// Demangled:     private: wxSocketBase::Pushback
int64_t _3f_Pushback_40_wxSocketBase_40__40_AEAAXPEBXI_40_Z(int64_t a1, int64_t a2, int64_t a3) {
    // 0x18000de60
    g112 = a3;
    g119 = a2;
    g117 = a1;
    int64_t v1 = g112; // 0x18000de60
    int32_t size2 = v1; // 0x18000de60
    if (size2 == 0) {
        // 0x18000df1c
        return g114;
    }
    int64_t v2 = g120; // 0x18000de69
    int64_t v3 = g117; // 0x18000de79
    g120 = v1;
    int64_t v4 = g119; // 0x18000de84
    int64_t v5; // 0x18000dec7
    if (*(int64_t *)(v3 + 192) != 0) {
        int64_t v6 = g116; // 0x18000deac
        uint32_t size = *(int32_t *)(v3 + 200) + size2; // 0x18000deb1
        g117 = size;
        int64_t mem = (int64_t)malloc(size); // 0x18000deb3
        g114 = mem;
        uint32_t v7 = *(int32_t *)(v3 + 200); // 0x18000deb9
        g112 = v7;
        int64_t v8 = *(int64_t *)(v3 + 192); // 0x18000dec0
        g119 = v8;
        v5 = g120;
        int64_t v9 = v5 + mem; // 0x18000dec7
        g117 = v9;
        g116 = mem;
        g114 = (int64_t)memcpy((int64_t *)v9, (int64_t *)v8, v7);
        int64_t v10 = *(int64_t *)(v3 + 192); // 0x18000ded6
        g117 = v10;
        free((int64_t *)v10);
        g114 = &g122;
        *(int64_t *)(v3 + 192) = g116;
        g116 = v6;
    } else {
        // 0x18000de91
        g117 = v1;
        v5 = v1;
        int64_t mem2 = (int64_t)malloc(size2); // 0x18000de97
        g114 = mem2;
        *(int64_t *)(v3 + 192) = mem2;
    }
    int64_t v11 = *(int64_t *)(v3 + 192); // 0x18000deef
    g117 = v11;
    int32_t * v12 = (int32_t *)(v3 + 200); // 0x18000def6
    *v12 = (int32_t)g120 + *v12;
    g112 = v5;
    g119 = v4;
    int64_t dest_mem = (int64_t)memcpy((int64_t *)v11, (int64_t *)v4, (int32_t)v5); // 0x18000df02
    g114 = dest_mem;
    g120 = v2;
    // 0x18000df1c
    return dest_mem;
}
 
// Address range: 0x18000df20 - 0x18000e024
// Demangled:     private: wxSocketBase::GetPushback
int64_t _3f_GetPushback_40_wxSocketBase_40__40_AEAAIPEAXI_N_40_Z(int64_t a1, int64_t a2, int64_t a3, int32_t a4) {
    // 0x18000df20
    g113 = a4;
    g112 = a3;
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x18000df20
    int64_t v2 = g120; // 0x18000df25
    g120 = g113;
    int64_t v3 = g112; // 0x18000df33
    int64_t v4 = g117; // 0x18000df39
    g116 = v4;
    if (a2 == 0) {
        int64_t v5 = *(int64_t *)0x180019440; // 0x18000dfc7
        g114 = v5;
        if (*(int64_t *)v5 == 0) {
            // 0x18000e012
            g116 = v1;
            g120 = v2;
            g114 = 0;
            return 0;
        }
        // 0x18000dfd4
        g114 = (int64_t)"NULL buffer";
        g113 = (int64_t)"buffer";
        g112 = (int64_t)"wxSocketBase::GetPushback";
        g117 = (int64_t)"..\\..\\src\\common\\socket.cpp";
        g119 = 1776;
        g114 = _3f_wxOnAssert_40__40_YAXPEBDH000_40_Z("..\\..\\src\\common\\socket.cpp", 1776, "wxSocketBase::GetPushback", "buffer");
        char * v6 = (char *)*(int64_t *)0x180019430; // 0x18000e007
        if (*v6 != 0) {
            // 0x18000e00d
            *v6 = 0;
            g114 = __asm_int3();
        }
        // 0x18000e012
        g116 = v1;
        g120 = v2;
        g114 = 0;
        return 0;
    }
    uint32_t v7 = *(int32_t *)(v4 + 200); // 0x18000df45
    g114 = v7;
    if (v7 == 0) {
        // 0x18000e012
        g116 = v1;
        g120 = v2;
        g114 = 0;
        return 0;
    }
    int32_t * v8 = (int32_t *)(v4 + 204); // 0x18000df53
    uint32_t v9 = v7 - *v8; // 0x18000df53
    int64_t v10 = v9; // 0x18000df53
    g114 = v10;
    int64_t v11 = (int64_t)*v8; // 0x18000df59
    g119 = v11;
    int64_t v12 = (int32_t)v3 > v9 ? v10 : v3;
    int64_t v13 = v12 & 0xffffffff; // 0x18000df62
    int64_t v14 = *(int64_t *)(v4 + 192) + v11; // 0x18000df65
    g119 = v14;
    g117 = a2;
    g112 = v13;
    g114 = (int64_t)memcpy((int64_t *)a2, (int64_t *)v14, (int32_t)v12);
    int64_t result; // 0x18000dfb5
    if ((char)g120 != 0) {
        // 0x18000dfb5
        result = v13;
        g114 = result;
        g116 = v1;
        g120 = v2;
        return result;
    }
    int32_t * v15 = (int32_t *)(g116 + 204); // 0x18000df7c
    *v15 = (int32_t)v13 + *v15;
    int64_t v16 = g116; // 0x18000df82
    uint32_t v17 = *(int32_t *)(v16 + 204); // 0x18000df82
    g117 = v17;
    if (*(int32_t *)(v16 + 200) == v17) {
        int64_t v18 = *(int64_t *)(v16 + 192); // 0x18000df90
        g117 = v18;
        free((int64_t *)v18);
        g114 = &g122;
        int64_t v19 = 0; // r11
        *(int64_t *)(g116 + 192) = 0;
        *(int32_t *)(g116 + 200) = (int32_t)v19;
        *(int32_t *)(g116 + 204) = (int32_t)v19;
    }
    // 0x18000dfb5
    result = v13;
    g114 = result;
    g116 = v1;
    g120 = v2;
    return result;
}
 
// Address range: 0x18000e030 - 0x18000e0a7
// Demangled:     public: wxSocketBase::GetSocket
int64_t _3f_GetSocket_40_wxSocketBase_40__40_QEBA_KXZ(int64_t a1) {
    // 0x18000e030
    g117 = a1;
    int64_t v1 = g116; // 0x18000e030
    int64_t v2 = *(int64_t *)0x180019440; // 0x18000e036
    g114 = v2;
    int64_t v3 = g117; // 0x18000e03d
    g116 = v3;
    int64_t v4 = *(int64_t *)(v3 + 16);
    int64_t result; // 0x18000e09d
    if (*(int64_t *)v2 == 0) {
        // 0x18000e099
        g114 = v4;
        result = *(int64_t *)(v4 + 8);
        g114 = result;
        g116 = v1;
        return result;
    }
    if (v4 != 0) {
        // 0x18000e099
        g114 = v4;
        result = *(int64_t *)(v4 + 8);
        g114 = result;
        g116 = v1;
        return result;
    }
    // 0x18000e04d
    g114 = (int64_t)L"Socket not initialised";
    g112 = (int64_t)"wxSocketBase::GetSocket";
    g117 = (int64_t)"..\\..\\src\\common\\socket.cpp";
    g119 = 1916;
    g114 = _3f_wxOnAssert_40__40_YAXPEBDH00PEB_W_40_Z((int64_t)"..\\..\\src\\common\\socket.cpp", 1916, (int64_t)"wxSocketBase::GetSocket", "m_impl", (int64_t)L"Socket not initialised");
    char * v5 = (char *)*(int64_t *)0x180019430; // 0x18000e080
    if (*v5 != 0) {
        // 0x18000e086
        *v5 = 0;
        g114 = __asm_int3();
    }
    int64_t v6 = *(int64_t *)(g116 + 16); // 0x18000e08b
    g114 = v6;
    int64_t result2 = *(int64_t *)(v6 + 8); // 0x18000e08f
    g114 = result2;
    g116 = v1;
    return result2;
}
 
// Address range: 0x18000e0b0 - 0x18000e16e
// Demangled:     public: wxSocketBase::GetOption
int64_t _3f_GetOption_40_wxSocketBase_40__40_QEAA_NHHPEAXPEAH_40_Z(int64_t a1, int64_t a2, int64_t a3, int64_t a4, int64_t a5) {
    // 0x18000e0b0
    g112 = a3;
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x18000e0b0
    int64_t v2 = g120; // 0x18000e0ba
    int64_t v3 = *(int64_t *)0x180019440; // 0x18000e0c2
    g114 = v3;
    g120 = a4;
    int64_t option_name = g112; // rbp
    int64_t level = g119; // r12
    int64_t v4 = g117; // 0x18000e0d6
    g116 = v4;
    if (*(int64_t *)v3 != 0) {
        // 0x18000e0db
        if (*(int64_t *)(v4 + 16) == 0) {
            // 0x18000e0e2
            g114 = (int64_t)L"Socket not initialised";
            g112 = (int64_t)"wxSocketBase::GetOption";
            g117 = (int64_t)"..\\..\\src\\common\\socket.cpp";
            g119 = 1924;
            g114 = _3f_wxOnAssert_40__40_YAXPEBDH00PEB_W_40_Z((int64_t)"..\\..\\src\\common\\socket.cpp", 1924, (int64_t)"wxSocketBase::GetOption", "m_impl", (int64_t)L"Socket not initialised");
            char * v5 = (char *)*(int64_t *)0x180019430; // 0x18000e115
            if (*v5 != 0) {
                // 0x18000e11b
                *v5 = 0;
                g114 = __asm_int3();
            }
        }
    }
    int64_t v6 = *(int64_t *)(g116 + 16); // 0x18000e120
    g117 = v6;
    uint32_t option_len = *(int32_t *)a5; // 0x18000e12c
    g114 = option_len;
    g112 = option_name;
    g119 = level;
    int64_t sock = *(int64_t *)(v6 + 8); // 0x18000e138
    g117 = sock;
    g114 = &option_len;
    int32_t v7 = getsockopt((int32_t)sock, (int32_t)level, (int32_t)option_name, (char *)g120, &option_len); // 0x18000e146
    int64_t v8 = v7; // 0x18000e146
    g114 = v8;
    int64_t result;
    if (v7 == 0) {
        g114 = option_len;
        *(int32_t *)a5 = option_len;
        result = g114 & -256 | 1;
    } else {
        // 0x18000e14f
        result = v8 & -256;
    }
    // 0x18000e15b
    g114 = result;
    g116 = v1;
    g120 = v2;
    return result;
}
 
// Address range: 0x18000e170 - 0x18000e218
// Demangled:     public: wxSocketBase::SetOption
int64_t _3f_SetOption_40_wxSocketBase_40__40_QEAA_NHHPEBXH_40_Z(int64_t a1, int64_t a2, int64_t a3, int64_t option_value, uint32_t option_len) {
    // 0x18000e170
    g112 = a3;
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x18000e170
    int64_t v2 = g120; // 0x18000e17a
    int64_t v3 = *(int64_t *)0x180019440; // 0x18000e184
    g114 = v3;
    g120 = g112;
    int64_t level = g119; // rbp
    int64_t v4 = g117; // 0x18000e197
    g116 = v4;
    if (*(int64_t *)v3 != 0) {
        // 0x18000e19c
        if (*(int64_t *)(v4 + 16) == 0) {
            // 0x18000e1a3
            g114 = (int64_t)L"Socket not initialised";
            g112 = (int64_t)"wxSocketBase::SetOption";
            g117 = (int64_t)"..\\..\\src\\common\\socket.cpp";
            g119 = 1939;
            g114 = _3f_wxOnAssert_40__40_YAXPEBDH00PEB_W_40_Z((int64_t)"..\\..\\src\\common\\socket.cpp", 1939, (int64_t)"wxSocketBase::SetOption", "m_impl", (int64_t)L"Socket not initialised");
            char * v5 = (char *)*(int64_t *)0x180019430; // 0x18000e1d6
            if (*v5 != 0) {
                // 0x18000e1dc
                *v5 = 0;
                g114 = __asm_int3();
            }
        }
    }
    int64_t v6 = *(int64_t *)(g116 + 16); // 0x18000e1e1
    g117 = v6;
    g114 = option_len;
    int64_t sock = *(int64_t *)(v6 + 8); // 0x18000e1ec
    g117 = sock;
    int64_t option_name = g120; // 0x18000e1f0
    g112 = option_name;
    g119 = level;
    int32_t v7 = setsockopt((int32_t)sock, (int32_t)level, (int32_t)option_name, (char *)option_value, option_len); // 0x18000e1f9
    g116 = v1;
    g120 = v2;
    int64_t result = (int64_t)v7 & -256 | (int64_t)(v7 == 0); // 0x18000e20f
    g114 = result;
    return result;
}
 
// Address range: 0x18000e220 - 0x18000e254
// Demangled:     public: virtual wxSocketBase::SetLocal
int64_t _3f_SetLocal_40_wxSocketBase_40__40_UEAA_NAEBVwxIPV4address_40__40__40_Z(int64_t a1, int64_t a2) {
    // 0x18000e220
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x18000e220
    int64_t v2 = g117 + 112; // 0x18000e22a
    g116 = v2;
    g118 = a2;
    g117 = v2;
    g114 = _3f__3f_4wxSockAddress_40__40_QEAAAEAV0_40_AEBV0_40__40_Z(v2, a2);
    int64_t v3 = g118 + 24; // 0x18000e239
    g119 = v3;
    int64_t v4 = g116 + 24; // 0x18000e23d
    g117 = v4;
    g116 = v1;
    int64_t result = _3f__3f_4wxString_40__40_QEAAAEAV0_40_AEBV0_40__40_Z(v4, v3) & -256 | 1; // 0x18000e24c
    g114 = result;
    return result;
}
 
// Address range: 0x18000e260 - 0x18000e26e
// Demangled:     public: virtual wxSocketClient::Connect
int64_t _3f_Connect_40_wxSocketClient_40__40_UEAA_NAEBVwxSockAddress_40__40__N_40_Z(int64_t result) {
    // 0x18000e260
    g117 = result;
    g114 = result;
    g112 = 0;
    return result;
}
 
// Address range: 0x18000e270 - 0x18000e277
// Demangled:     public: wxSocketClient::Connect
int64_t _3f_Connect_40_wxSocketClient_40__40_QEAA_NAEBVwxSockAddress_40__40_0_N_40_Z(int64_t result) {
    // 0x18000e270
    g117 = result;
    g114 = result;
    return result;
}
 
// Address range: 0x18000e280 - 0x18000e288
int64_t function_18000e280(void) {
    // 0x18000e280
    g114 = &g83;
    return &g83;
}
 
// Address range: 0x18000e290 - 0x18000e35d
int64_t function_18000e290(int64_t * a1, int64_t * a2, int64_t a3) {
    // 0x18000e290
    g112 = a3;
    g119 = (int64_t)a2;
    g117 = (int64_t)a1;
    int64_t v1 = g120; // 0x18000e295
    int64_t size = g112; // rbp
    g120 = g119;
    int64_t result = g117; // 0x18000e2a9
    if (*(int16_t *)&g119 == 2) {
        // 0x18000e317
        *(int32_t *)result = 2;
        g119 = size;
        g117 = 1;
        int64_t * mem = calloc(1, (int32_t)size); // 0x18000e32a
        int64_t v2 = (int64_t)mem; // 0x18000e32a
        g114 = v2;
        g112 = size;
        int64_t v3 = g120; // 0x18000e333
        g119 = v3;
        g117 = v2;
        int32_t v4 = size; // 0x18000e339
        *(int32_t *)(result + 16) = v4;
        *(int64_t *)(result + 8) = g114;
        memcpy(mem, (int64_t *)v3, v4);
        g120 = v1;
        g114 = result;
        return result;
    }
    int64_t v5 = *(int64_t *)0x180019440; // 0x18000e2ae
    g114 = v5;
    if (*(int64_t *)v5 != 0) {
        // 0x18000e2bb
        g114 = (int64_t)"unsupported socket address family";
        g112 = (int64_t)"wxSockAddressImpl::wxSockAddressImpl";
        g117 = (int64_t)"C:\\BUILD\\wxPython-src-3.0.2.0\\include\\wx/private/sckaddr.h";
        g119 = 123;
        g114 = _3f_wxOnAssert_40__40_YAXPEBDH000_40_Z("C:\\BUILD\\wxPython-src-3.0.2.0\\include\\wx/private/sckaddr.h", 123, "wxSockAddressImpl::wxSockAddressImpl", "Assert failure");
        char * v6 = (char *)*(int64_t *)0x180019430; // 0x18000e2ee
        if (*v6 != 0) {
            // 0x18000e2f4
            *v6 = 0;
            g114 = __asm_int3();
        }
    }
    // 0x18000e2f9
    g114 = 0;
    *(int32_t *)result = 0;
    *(int64_t *)(result + 8) = g114;
    *(int32_t *)(result + 16) = (int32_t)g114;
    g114 = result;
    g120 = v1;
    return result;
}
 
// Address range: 0x18000e360 - 0x18000e3af
// Demangled:     public: static wxSocketEvent::wxCreateObject
int64_t _3f_wxCreateObject_40_wxSocketEvent_40__40_SAPEAVwxObject_40__40_XZ(void) {
    int64_t v1 = g116; // 0x18000e360
    g117 = 96;
    int64_t v2 = function_18001323c(96, g119); // 0x18000e374
    g114 = v2;
    g116 = v2;
    int64_t result;
    if (v2 == 0) {
        result = 0;
    } else {
        uint32_t v3 = *(int32_t *)0x18002eef0; // 0x18000e386
        g112 = v3;
        g119 = 0;
        g117 = v2;
        g114 = _3f__3f_0wxEvent_40__40_QEAA_40_HH_40_Z(v2, 0, v3);
        *(int64_t *)g116 = (int64_t)&g8;
        result = g116;
    }
    // 0x18000e3a9
    g114 = result;
    g116 = v1;
    return result;
}
 
// Address range: 0x18000e3b0 - 0x18000e3e0
int64_t function_18000e3b0(int64_t result, int64_t a2) {
    // 0x18000e3b0
    g119 = a2;
    g117 = result;
    int64_t v1 = g116; // 0x18000e3b0
    g116 = g119;
    g114 = _3f__3f_1wxObject_40__40_UEAA_40_XZ(result);
    if ((g116 & 1) != 0) {
        g117 = result;
        g114 = function_18001310e(result);
    }
    g114 = result;
    g116 = v1;
    return result;
}
 
// Address range: 0x18000e3e0 - 0x18000e3eb
int64_t function_18000e3e0(int64_t a1) {
    // 0x18000e3e0
    g117 = a1;
    int64_t v1 = (int64_t)*(int32_t *)(a1 + 8); // 0x18000e3e0
    g119 = v1;
    g117 = a1;
    int64_t result = _3f_SetFlags_40_wxSocketBase_40__40_QEAAXH_40_Z(a1, v1); // 0x18000e3e6
    g114 = result;
    return result;
}
 
// Address range: 0x18000e3f0 - 0x18000e51b
int64_t function_18000e3f0(int64_t a1, int64_t a2, int64_t a3) {
    // 0x18000e3f0
    g112 = a3;
    g119 = a2;
    g117 = a1;
    int64_t v1 = *(int64_t *)0x180019440; // 0x18000e3f4
    g114 = v1;
    if (*(int64_t *)v1 != 0) {
        // 0x18000e405
        if (g81 != 0) {
            // 0x18000e40f
            g114 = (int64_t)"shouldn't be initialized twice";
            g113 = (int64_t)"!ms_manager";
            g112 = (int64_t)"wxSocketManager::Init";
            g117 = (int64_t)"..\\..\\src\\common\\socket.cpp";
            g119 = 273;
            g114 = _3f_wxOnAssert_40__40_YAXPEBDH000_40_Z("..\\..\\src\\common\\socket.cpp", 273, "wxSocketManager::Init", "!ms_manager");
            char * v2 = (char *)*(int64_t *)0x180019430; // 0x18000e442
            if (*v2 != 0) {
                // 0x18000e448
                *v2 = 0;
                g114 = __asm_int3();
            }
        }
        int64_t v3 = *(int64_t *)0x180019440; // 0x18000e44d
        g114 = v3;
        if (*(int64_t *)v3 != 0) {
            int64_t v4 = _3f_IsMain_40_wxThread_40__40_SA_NXZ(); // 0x18000e45a
            g114 = v4;
            if ((char)v4 == 0) {
                // 0x18000e464
                g114 = (int64_t)"sockets must be initialized from the main thread";
                g113 = (int64_t)"wxIsMainThread()";
                g112 = (int64_t)"wxSocketManager::Init";
                g117 = (int64_t)"..\\..\\src\\common\\socket.cpp";
                g119 = 292;
                g114 = _3f_wxOnAssert_40__40_YAXPEBDH000_40_Z("..\\..\\src\\common\\socket.cpp", 292, "wxSocketManager::Init", "wxIsMainThread()");
                char * v5 = (char *)*(int64_t *)0x180019430; // 0x18000e497
                if (*v5 != 0) {
                    // 0x18000e49d
                    *v5 = 0;
                    g114 = __asm_int3();
                }
            }
        }
    }
    int64_t v6 = _3f_GetInstance_40_wxAppConsoleBase_40__40_SAPEAVwxAppConsole_40__40_XZ(); // 0x18000e4a2
    g114 = v6;
    if (v6 != 0) {
        // 0x18000e4ad
        g117 = v6;
        int64_t result = _3f_GetTraits_40_wxAppConsoleBase_40__40_QEAAPEAVwxAppTraits_40__40_XZ(v6); // 0x18000e4b0
        g114 = result;
        g117 = result;
        g119 = *(int64_t *)result;
        g81 = result;
        return result;
    }
    int64_t result2 = *(int64_t *)0x180019440; // 0x18000e4cb
    g114 = result2;
    if (*(int64_t *)result2 == 0) {
        // 0x18000e516
        return result2;
    }
    // 0x18000e4d8
    g114 = (int64_t)"sockets can't be initialized without wxApp";
    g113 = (int64_t)"app";
    g112 = (int64_t)"wxSocketManager::Init";
    g117 = (int64_t)"..\\..\\src\\common\\socket.cpp";
    g119 = 295;
    int64_t v7 = _3f_wxOnAssert_40__40_YAXPEBDH000_40_Z("..\\..\\src\\common\\socket.cpp", 295, "wxSocketManager::Init", "app"); // 0x18000e4fe
    g114 = v7;
    char * v8 = (char *)*(int64_t *)0x180019430; // 0x18000e50b
    int64_t result3; // 0x18000e515
    if (*v8 != 0) {
        // 0x18000e511
        *v8 = 0;
        result3 = __asm_int3();
        g114 = result3;
    } else {
        result3 = v7;
    }
    // 0x18000e516
    return result3;
}
 
// Address range: 0x18000e520 - 0x18000e5aa
int64_t function_18000e520(int64_t a1, int64_t a2) {
    // 0x18000e520
    g119 = a2;
    g117 = a1;
    g112 = a1;
    *(int64_t *)a1 = (int64_t)&g43;
    g114 = 0;
    *(int32_t *)(g117 + 24) = 0;
    *(int64_t *)(g117 + 32) = g114;
    *(int32_t *)(g117 + 40) = (int32_t)g114;
    *(int32_t *)(g117 + 48) = (int32_t)g114;
    *(int64_t *)(g117 + 56) = g114;
    *(int32_t *)(g117 + 64) = (int32_t)g114;
    *(int64_t *)(g117 + 96) = g119;
    *(int32_t *)(g117 + 72) = (int32_t)g114;
    *(char *)(g117 + 92) = (char)g114;
    *(int64_t *)(g117 + 8) = -1;
    *(char *)(g117 + 76) = 1;
    g117 = 0;
    g114 = g112;
    int64_t v1 = 1000 * g119; // 0x18000e573
    g119 = v1;
    int64_t v2 = 1000 * (-v1 & 0xfffffff8); // 0x18000e57b
    g117 = v2;
    *(int32_t *)(g112 + 88) = (int32_t)v2;
    *(char *)(g112 + 77) = 0;
    *(char *)(g112 + 78) = 0;
    *(char *)(g112 + 79) = 0;
    *(char *)(g112 + 80) = 1;
    *(int32_t *)(g112 + 16) = -1;
    *(int32_t *)(g112 + 20) = -1;
    return g114;
}
 
// Address range: 0x18000e5b0 - 0x18000e617
int64_t function_18000e5b0(int64_t a1) {
    // 0x18000e5b0
    g117 = a1;
    int64_t v1 = g116; // 0x18000e5b5
    int64_t v2 = g117; // 0x18000e5c3
    g116 = v2;
    g114 = &g43;
    *(int64_t *)v2 = (int64_t)&g43;
    int64_t sock = *(int64_t *)(g117 + 8); // 0x18000e5d0
    g117 = sock;
    int64_t v3 = 0x100000000 * sock;
    if (v3 != -0x100000000) {
        // 0x18000e5da
        g119 = 1;
        g114 = shutdown((int32_t)sock, SHUT_WR);
        int64_t v4 = g116; // 0x18000e5e4
        int64_t * v5 = (int64_t *)(v4 + 8); // 0x18000e5e4
        if (*v5 != -1) {
            // 0x18000e5eb
            g114 = v3 / 0x100000000;
            g117 = v4;
            *v5 = -1;
        }
    }
    int64_t v6 = *(int64_t *)(g116 + 56); // 0x18000e5fc
    g117 = v6;
    free((int64_t *)v6);
    g114 = &g122;
    int64_t v7 = *(int64_t *)(g116 + 32); // 0x18000e607
    g117 = v7;
    g116 = v1;
    free((int64_t *)v7);
    g114 = &g122;
    return &g122;
}
 
// Address range: 0x18000e620 - 0x18000e6d9
int64_t function_18000e620(int64_t a1) {
    // 0x18000e620
    g117 = a1;
    int64_t v1 = g116; // 0x18000e620
    int64_t v2 = g117; // 0x18000e626
    g116 = v2;
    int64_t v3 = v2 + 24; // 0x18000e629
    g117 = v3;
    if (*(int32_t *)v3 == 0) {
        // 0x18000e632
        if (*(int32_t *)(v2 + 48) == 2) {
            // 0x18000e685
            g114 = function_180009bc0(v3);
        } else {
            int64_t v4 = *(int64_t *)0x180019440; // 0x18000e638
            g114 = v4;
            if (*(int64_t *)v4 != 0) {
                // 0x18000e645
                g114 = (int64_t)"unsupported socket address family";
                g113 = (int64_t)"Assert failure";
                g112 = (int64_t)"wxSockAddressImpl::Create";
                g117 = (int64_t)"C:\\BUILD\\wxPython-src-3.0.2.0\\include\\wx/private/sckaddr.h";
                g119 = 190;
                g114 = _3f_wxOnAssert_40__40_YAXPEBDH000_40_Z("C:\\BUILD\\wxPython-src-3.0.2.0\\include\\wx/private/sckaddr.h", 190, "wxSockAddressImpl::Create", "Assert failure");
                char * v5 = (char *)*(int64_t *)0x180019430; // 0x18000e678
                if (*v5 != 0) {
                    // 0x18000e67e
                    *v5 = 0;
                    g114 = __asm_int3();
                }
            }
        }
    }
    int64_t v6 = g116; // 0x18000e68a
    int64_t addr_len = (int64_t)*(int32_t *)(v6 + 40); // 0x18000e68a
    g114 = addr_len;
    int64_t addr = *(int64_t *)(v6 + 32); // 0x18000e68d
    g119 = addr;
    int64_t sock = *(int64_t *)(v6 + 8); // 0x18000e691
    g117 = sock;
    g112 = &addr_len;
    int32_t v7 = getsockname((int32_t)sock, (struct sockaddr *)addr, (int32_t *)&addr_len); // 0x18000e69e
    g114 = v7;
    if (v7 == 0) {
        // 0x18000e6d1
        g114 = 0;
        g116 = v1;
        return 0;
    }
    int64_t v8 = g116; // 0x18000e6a7
    int64_t * v9 = (int64_t *)(v8 + 8); // 0x18000e6a7
    int64_t v10; // 0x18000e6bf
    if (*v9 != -1) {
        // 0x18000e6ae
        g114 = 0x100000000 * sock / 0x100000000;
        g117 = v8;
        *v9 = -1;
        v10 = g116;
    } else {
        v10 = v8;
    }
    // 0x18000e6bf
    *(int32_t *)(v10 + 72) = 2;
    g114 = 2;
    g116 = v1;
    return 2;
}
 
// Address range: 0x18000e6e0 - 0x18000e7be
int64_t function_18000e6e0(int64_t a1) {
    // 0x18000e6e0
    g117 = a1;
    int64_t v1 = g116; // 0x18000e6e0
    int64_t v2 = g117; // 0x18000e6e6
    g116 = v2;
    if (*(int64_t *)(v2 + 8) != -1) {
        // 0x18000e6f0
        *(int32_t *)(v2 + 72) = 4;
        int64_t result = (int64_t)*(int32_t *)(g117 + 72); // 0x18000e6f7
        g114 = result;
        g116 = v1;
        return result;
    }
    uint32_t domain = *(int32_t *)(v2 + 24); // 0x18000e700
    g117 = domain;
    if (domain == 0) {
        // 0x18000e707
        *(int32_t *)(v2 + 72) = 3;
        int64_t result2 = (int64_t)*(int32_t *)(g116 + 72); // 0x18000e70e
        g114 = result2;
        g116 = v1;
        return result2;
    }
    // 0x18000e717
    g112 = 0;
    *(char *)(v2 + 92) = 1;
    *(char *)(g116 + 76) = 1;
    g119 = 1;
    int64_t sock_fd = socket(domain, SOCK_STREAM, IPPROTO_IP); // 0x18000e726
    g114 = sock_fd;
    *(int64_t *)(g116 + 8) = sock_fd;
    int64_t v3 = g116; // 0x18000e747
    if (g114 == -1) {
        // 0x18000e735
        *(int32_t *)(v3 + 72) = 2;
        g114 = 2;
        g116 = v1;
        return 2;
    }
    // 0x18000e747
    g117 = v3;
    g114 = function_18000d6b0(v3);
    int64_t v4 = g116; // 0x18000e74f
    uint32_t addr_len = *(int32_t *)(v4 + 40); // 0x18000e74f
    g112 = addr_len;
    int64_t addr = *(int64_t *)(v4 + 32); // 0x18000e753
    g119 = addr;
    int64_t sock = *(int64_t *)(v4 + 8); // 0x18000e757
    g117 = sock;
    int32_t v5 = bind((int32_t)sock, (struct sockaddr *)addr, addr_len); // 0x18000e75b
    g114 = v5;
    if (v5 != 0) {
        // 0x18000e764
        *(int32_t *)(g116 + 72) = 2;
    }
    int64_t v6 = g116; // 0x18000e76b
    int64_t v7; // 0x18000e78a
    if (*(int32_t *)(v6 + 72) == 0) {
        int64_t sock2 = *(int64_t *)(v6 + 8); // 0x18000e771
        g117 = sock2;
        g119 = 5;
        int32_t v8 = listen((int32_t)sock2, 5); // 0x18000e77a
        g114 = v8;
        if (v8 != 0) {
            // 0x18000e783
            *(int32_t *)(g116 + 72) = 2;
        }
        // 0x18000e78a
        v7 = g116;
        if (*(int32_t *)(v7 + 72) == 0) {
            // 0x18000e7b1
            g117 = v7;
            g116 = v1;
            int64_t result3 = function_18000e620(v7); // 0x18000e7b9
            g114 = result3;
            return result3;
        }
    } else {
        v7 = v6;
    }
    int64_t * v9 = (int64_t *)(v7 + 8); // 0x18000e790
    int64_t v10; // 0x18000e7a8
    if (*v9 != -1) {
        // 0x18000e797
        g114 = g117;
        g117 = v7;
        *v9 = -1;
        v10 = g116;
    } else {
        v10 = v7;
    }
    int64_t result4 = (int64_t)*(int32_t *)(v10 + 72); // 0x18000e7a8
    g114 = result4;
    g116 = v1;
    return result4;
}
 
// Address range: 0x18000e7c0 - 0x18000e8e4
int64_t function_18000e7c0(int64_t a1, int64_t a2, int64_t a3) {
    // 0x18000e7c0
    g112 = a3;
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x18000e7c0
    int64_t v2 = g117; // 0x18000e7ca
    g118 = g119;
    g116 = v2;
    if (*(int64_t *)(v2 + 8) != -1) {
        // 0x18000e7d7
        *(int32_t *)(v2 + 72) = 4;
        int64_t result = (int64_t)*(int32_t *)(g117 + 72); // 0x18000e7de
        g114 = result;
        g116 = v1;
        return result;
    }
    uint32_t domain = *(int32_t *)(v2 + 48); // 0x18000e7ec
    g117 = domain;
    if (domain == 0) {
        // 0x18000e7f3
        *(int32_t *)(v2 + 72) = 3;
        int64_t result2 = (int64_t)*(int32_t *)(g116 + 72); // 0x18000e7fa
        g114 = result2;
        g116 = v1;
        return result2;
    }
    // 0x18000e808
    g112 = 0;
    g119 = 1;
    int64_t sock_fd = socket(domain, SOCK_STREAM, IPPROTO_IP); // 0x18000e80f
    g114 = sock_fd;
    *(int64_t *)(g116 + 8) = sock_fd;
    int64_t v3; // 0x18000e878
    if (g114 == -1) {
        goto lab_0x18000e859;
    } else {
        int64_t v4 = g116; // 0x18000e81e
        g117 = v4;
        g114 = function_18000d6b0(v4);
        int64_t v5 = g116; // 0x18000e826
        if (*(int32_t *)(v5 + 24) == 0) {
            v3 = v5;
            goto lab_0x18000e870;
        } else {
            uint32_t addr_len = *(int32_t *)(v5 + 40); // 0x18000e82c
            g112 = addr_len;
            int64_t addr = *(int64_t *)(v5 + 32); // 0x18000e830
            g119 = addr;
            int64_t sock = *(int64_t *)(v5 + 8); // 0x18000e834
            g117 = sock;
            int32_t v6 = bind((int32_t)sock, (struct sockaddr *)addr, addr_len); // 0x18000e838
            g114 = v6;
            int64_t v7 = g116;
            if (v6 == 0) {
                v3 = v7;
                goto lab_0x18000e870;
            } else {
                int64_t * v8 = (int64_t *)(v7 + 8); // 0x18000e841
                if (*v8 != -1) {
                    // 0x18000e848
                    g114 = 0x100000000 * sock / 0x100000000;
                    g117 = v7;
                    *v8 = -1;
                }
                goto lab_0x18000e859;
            }
        }
    }
  lab_0x18000e859:
    // 0x18000e859
    *(int32_t *)(g116 + 72) = 2;
    g114 = 2;
    g116 = v1;
    return 2;
  lab_0x18000e870:;
    uint32_t addr_len2 = *(int32_t *)(v3 + 64); // 0x18000e870
    g112 = addr_len2;
    int64_t addr2 = *(int64_t *)(v3 + 56); // 0x18000e874
    g119 = addr2;
    int64_t v9 = *(int64_t *)(v3 + 8); // 0x18000e878
    int32_t sock2 = v9; // 0x18000e878
    g117 = v9;
    int32_t v10 = connect(sock2, (struct sockaddr *)addr2, addr_len2); // 0x18000e87c
    g114 = v10;
    if (v10 != -1) {
        // 0x18000e8d2
        g117 = 0;
        *(int32_t *)(g116 + 72) = 0;
        g116 = v1;
        int64_t result3 = g117; // 0x18000e8dc
        g114 = result3;
        return result3;
    }
    int64_t v11 = 0x100000000 * v9 / 0x100000000; // 0x18000e886
    g114 = v11;
    int64_t v12 = g116; // 0x18000e889
    g117 = v12;
    int64_t result4 = v11; // r11
    int64_t v13; // 0x18000e8c0
    if (sock2 == 7) {
        // 0x18000e897
        *(char *)(v12 + 77) = 1;
        if ((char)g118 == 0) {
            // 0x18000e897
            v13 = result4;
        } else {
            int64_t v14 = g116; // 0x18000e8a0
            int64_t v15 = v14 + 84; // 0x18000e8a0
            g112 = v15;
            int64_t v16 = g114 - 3; // 0x18000e8a4
            g119 = v16;
            g117 = v14;
            int64_t v17 = function_18000d8f0(v14, v16, v15); // 0x18000e8aa
            g114 = v17;
            g117 = 0;
            *(char *)(g116 + 77) = 0;
            int64_t v18 = ((int32_t)v17 != 0 ? g117 : 8) & 0xffffffff; // 0x18000e8bc
            result4 = v18;
            v13 = v18;
        }
    } else {
        v13 = v11;
    }
    // 0x18000e8c0
    *(int32_t *)(g116 + 72) = (int32_t)v13;
    g114 = result4;
    g116 = v1;
    return result4;
}
 
// Address range: 0x18000e8f0 - 0x18000e9a7
int64_t function_18000e8f0(int64_t a1) {
    // 0x18000e8f0
    g117 = a1;
    int64_t v1 = g116; // 0x18000e8f0
    int64_t v2 = g117; // 0x18000e8f6
    g116 = v2;
    if (*(int64_t *)(v2 + 8) != -1) {
        // 0x18000e900
        *(int32_t *)(v2 + 72) = 4;
        int64_t result = (int64_t)*(int32_t *)(g117 + 72); // 0x18000e907
        g114 = result;
        g116 = v1;
        return result;
    }
    uint32_t domain = *(int32_t *)(v2 + 24); // 0x18000e910
    g117 = domain;
    if (domain == 0) {
        // 0x18000e917
        *(int32_t *)(v2 + 72) = 3;
        int64_t result2 = (int64_t)*(int32_t *)(g116 + 72); // 0x18000e91e
        g114 = result2;
        g116 = v1;
        return result2;
    }
    // 0x18000e927
    g112 = 0;
    *(char *)(v2 + 76) = 0;
    *(char *)(g116 + 92) = 0;
    g119 = 2;
    int64_t sock_fd = socket(domain, SOCK_DGRAM, IPPROTO_IP); // 0x18000e936
    g114 = sock_fd;
    *(int64_t *)(g116 + 8) = sock_fd;
    if (g114 == -1) {
        // 0x18000e980
        *(int32_t *)(g116 + 72) = 2;
        g114 = 2;
        g116 = v1;
        return 2;
    }
    int64_t v3 = g116; // 0x18000e945
    g117 = v3;
    g114 = function_18000d6b0(v3);
    int64_t v4 = g116; // 0x18000e94d
    if (*(char *)(v4 + 80) == 0) {
        // 0x18000e99f
        g114 = 0;
        g116 = v1;
        return 0;
    }
    uint32_t addr_len = *(int32_t *)(v4 + 40); // 0x18000e953
    g112 = addr_len;
    int64_t addr = *(int64_t *)(v4 + 32); // 0x18000e957
    g119 = addr;
    int64_t sock = *(int64_t *)(v4 + 8); // 0x18000e95b
    g117 = sock;
    int32_t v5 = bind((int32_t)sock, (struct sockaddr *)addr, addr_len); // 0x18000e95f
    g114 = v5;
    int64_t v6 = g116; // 0x18000e992
    if (v5 == 0) {
        // 0x18000e992
        g117 = v6;
        g116 = v1;
        int64_t result3 = function_18000e620(v6); // 0x18000e99a
        g114 = result3;
        return result3;
    }
    int64_t * v7 = (int64_t *)(v6 + 8); // 0x18000e968
    if (*v7 != -1) {
        // 0x18000e96f
        g114 = 0x100000000 * sock / 0x100000000;
        g117 = v6;
        *v7 = -1;
    }
    // 0x18000e980
    *(int32_t *)(g116 + 72) = 2;
    g114 = 2;
    g116 = v1;
    return 2;
}
 
// Address range: 0x18000e9b0 - 0x18000ea1f
int64_t function_18000e9b0(int64_t a1, int64_t a2) {
    // 0x18000e9b0
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x18000e9b0
    int64_t v2 = g117; // 0x18000e9b6
    int64_t v3 = g119; // 0x18000e9bb
    g116 = v3;
    if (*(int64_t *)(v2 + 8) != -1) {
        // 0x18000e9c0
        if (*(char *)(v2 + 92) == 0) {
            // 0x18000e9c6
            *(int32_t *)(v2 + 72) = 4;
            g114 = 4;
            g116 = v1;
            return 4;
        }
    }
    if ((int32_t)v3 == 0) {
        // 0x18000e9dd
        *(int32_t *)(v2 + 72) = 3;
        g114 = 3;
        g116 = v1;
        return 3;
    }
    int64_t v4 = g118; // 0x18000e9ef
    int64_t v5 = v2 + 24; // 0x18000e9f4
    g118 = v5;
    if (v5 != v3) {
        int64_t v6 = *(int64_t *)(v2 + 32); // 0x18000e9fd
        g117 = v6;
        free((int64_t *)v6);
        g114 = &g122;
        int64_t v7 = g116; // 0x18000ea07
        g119 = v7;
        int64_t v8 = g118; // 0x18000ea0a
        g117 = v8;
        g114 = function_1800095e0(v8, v7);
    }
    // 0x18000ea12
    g114 = 0;
    g118 = v4;
    g116 = v1;
    return 0;
}
 
// Address range: 0x18000ea20 - 0x18000eb84
int64_t function_18000ea20(int64_t a1) {
    // 0x18000ea20
    g117 = a1;
    int64_t v1 = g120; // 0x18000ea20
    int32_t addr_len; // bp-104
    g114 = &addr_len;
    int64_t v2 = g117; // 0x18000ea3f
    int64_t sock = *(int64_t *)(v2 + 8); // 0x18000ea42
    g117 = sock;
    int16_t addr; // bp-72
    int64_t v3 = &addr; // 0x18000ea4b
    g114 = v3;
    g113 = 0;
    addr_len = 16;
    int32_t v4 = recvfrom((int32_t)sock, (char *)g119, (int32_t)g112, 0, (struct sockaddr *)&addr, &addr_len); // 0x18000ea60
    int64_t v5 = v4; // 0x18000ea60
    g114 = v5;
    g120 = v5;
    int64_t v6; // 0x18000eb67
    if (v4 != -1) {
        int64_t v7 = g116; // 0x18000ea79
        int32_t size = addr_len; // 0x18000ea86
        int64_t v8 = size; // 0x18000ea86
        int64_t v9 = g118; // 0x18000ea8b
        int32_t v10; // bp-96
        if (addr == 2) {
            // 0x18000eaee
            g119 = v8;
            g117 = 1;
            v10 = 2;
            int64_t * mem = calloc(1, size); // 0x18000eafe
            int64_t v11 = (int64_t)mem; // 0x18000eafe
            g114 = v11;
            g119 = v3;
            g112 = v8;
            g117 = v11;
            g118 = v11;
            int64_t * dest_mem = memcpy(mem, (int64_t *)&addr, (int32_t)v8); // 0x18000eb1b
            g114 = (int64_t)dest_mem;
        } else {
            int64_t v12 = *(int64_t *)0x180019440; // 0x18000ea92
            g114 = v12;
            if (*(int64_t *)v12 != 0) {
                // 0x18000ea9f
                g114 = (int64_t)"unsupported socket address family";
                g113 = (int64_t)"Assert failure";
                g112 = (int64_t)"wxSockAddressImpl::wxSockAddressImpl";
                g117 = (int64_t)"C:\\BUILD\\wxPython-src-3.0.2.0\\include\\wx/private/sckaddr.h";
                g119 = 123;
                g114 = _3f_wxOnAssert_40__40_YAXPEBDH000_40_Z("C:\\BUILD\\wxPython-src-3.0.2.0\\include\\wx/private/sckaddr.h", 123, "wxSockAddressImpl::wxSockAddressImpl", "Assert failure");
                char * v13 = (char *)*(int64_t *)0x180019430; // 0x18000ead2
                if (*v13 != 0) {
                    // 0x18000ead8
                    *v13 = 0;
                    g114 = __asm_int3();
                }
            }
            // 0x18000eadd
            g118 = 0;
            v10 = 0;
        }
        int64_t v14 = v2 + 48; // 0x18000eb25
        g116 = v14;
        int64_t v15 = &v10; // 0x18000eb2a
        g114 = v15;
        if (v14 != v15) {
            int64_t v16 = *(int64_t *)(v2 + 56); // 0x18000eb34
            g117 = v16;
            free((int64_t *)v16);
            g114 = &g122;
            g119 = v15;
            int64_t v17 = g116; // 0x18000eb43
            g117 = v17;
            g114 = function_1800095e0(v17, v15);
        }
        int64_t v18 = g118; // 0x18000eb4b
        g117 = v18;
        free((int64_t *)v18);
        g118 = v9;
        g114 = 0xffffffff;
        int32_t v19 = *(int32_t *)g116; // 0x18000eb5c
        g116 = v7;
        v6 = v19 == 0 ? 0xffffffff : g120 & 0xffffffff;
        g120 = v6;
    } else {
        // 0x18000ea6c
        v6 = v5 & 0xffffffff;
    }
    // 0x18000eb6c
    g114 = v6;
    int64_t v20; // bp-152
    int64_t v21 = g61 ^ (int64_t)&v20 ^ g121; // 0x18000eb71
    g117 = v21;
    __security_check_cookie(v21);
    g114 = &g122;
    g120 = v1;
    return &g122;
}
 
// Address range: 0x18000eb90 - 0x18000ebf9
// Demangled:     public: static wxSocketBase::IsInitialized
int64_t _3f_IsInitialized_40_wxSocketBase_40__40_SA_NXZ(void) {
    int64_t v1 = *(int64_t *)0x180019440; // 0x18000eb94
    g114 = v1;
    int64_t result; // 0x18000ebf1
    if (*(int64_t *)v1 == 0) {
        // 0x18000ebe9
        result = g82 != 0;
        g114 = result;
        return result;
    }
    int64_t v2 = _3f_IsMain_40_wxThread_40__40_SA_NXZ(); // 0x18000eba1
    g114 = v2;
    if ((char)v2 != 0) {
        // 0x18000ebe9
        result = g82 != 0;
        g114 = result;
        return result;
    }
    // 0x18000ebab
    g114 = (int64_t)"unsafe to call from other threads";
    g113 = (int64_t)"wxIsMainThread()";
    g112 = (int64_t)"wxSocketBase::IsInitialized";
    g117 = (int64_t)"..\\..\\src\\common\\socket.cpp";
    g119 = 767;
    g114 = _3f_wxOnAssert_40__40_YAXPEBDH000_40_Z("..\\..\\src\\common\\socket.cpp", 767, "wxSocketBase::IsInitialized", "wxIsMainThread()");
    char * v3 = (char *)*(int64_t *)0x180019430; // 0x18000ebde
    if (*v3 != 0) {
        // 0x18000ebe4
        *v3 = 0;
        g114 = __asm_int3();
    }
    // 0x18000ebe9
    result = g82 != 0;
    g114 = result;
    return result;
}
 
// Address range: 0x18000ec00 - 0x18000ec5f
// Demangled:     public: wxSocketBase::Destroy
int64_t _3f_Destroy_40_wxSocketBase_40__40_QEAA_NXZ(int64_t a1) {
    // 0x18000ec00
    g117 = a1;
    int64_t v1 = g116; // bp-8
    int64_t v2 = g117; // 0x18000ec06
    g114 = v2;
    g116 = v2;
    *(char *)(v2 + 105) = 1;
    *(char *)(g116 + 232) = 0;
    int64_t v3 = _3f_IsMain_40_wxThread_40__40_SA_NXZ(); // 0x18000ec1a
    g114 = v3;
    if ((char)v3 != 0) {
        int64_t v4 = _3f_GetInstance_40_wxAppConsoleBase_40__40_SAPEAVwxAppConsole_40__40_XZ(); // 0x18000ec24
        g114 = v4;
        if (v4 != 0) {
            int64_t v5 = _3f_GetInstance_40_wxAppConsoleBase_40__40_SAPEAVwxAppConsole_40__40_XZ(); // 0x18000ec2f
            g114 = v5;
            int64_t v6 = g116; // 0x18000ec35
            g119 = v6;
            g117 = v5;
            int64_t result = _3f_ScheduleForDestruction_40_wxAppConsoleBase_40__40_QEAAXPEAVwxObject_40__40__40_Z(v5, v6) & -256 | 1; // 0x18000ec41
            g114 = result;
            g116 = v1;
            return result;
        }
    }
    int64_t v7 = g117; // 0x18000ec49
    g119 = 1;
    g117 = g116;
    int64_t result2 = v7 & -256 | 1; // 0x18000ec57
    g114 = result2;
    g116 = v1;
    return result2;
}
 
// Address range: 0x18000ec60 - 0x18000ecbb
// Demangled:     public: virtual wxSocketBase::Close
int64_t _3f_Close_40_wxSocketBase_40__40_UEAA_NXZ(int64_t a1) {
    // 0x18000ec60
    g117 = a1;
    int64_t v1 = g116; // 0x18000ec60
    int64_t v2 = g117; // 0x18000ec6a
    int64_t v3 = *(int64_t *)(v2 + 16); // 0x18000ec6a
    g116 = v2;
    *(char *)(v2 + 104) = 1;
    if (v3 != 0) {
        int64_t * v4 = (int64_t *)(v3 + 8); // 0x18000ec7a
        int64_t sock = *v4; // 0x18000ec7a
        g117 = sock;
        if ((sock & 0xffffffff) != 0xffffffff) {
            // 0x18000ec84
            g119 = 1;
            g114 = shutdown((int32_t)sock, SHUT_WR);
            if (*v4 != -1) {
                // 0x18000ec95
                g114 = *(int64_t *)v3;
                g117 = v3;
                *v4 = -1;
            }
        }
    }
    // 0x18000eca6
    *(char *)(g116 + 32) = 0;
    *(char *)(g116 + 33) = 0;
    g116 = v1;
    int64_t result = g114 & -256 | 1; // 0x18000ecb3
    g114 = result;
    return result;
}
 
// Address range: 0x18000ecc0 - 0x18000ecf6
// Demangled:     public: wxSocketBase::Unread
int64_t _3f_Unread_40_wxSocketBase_40__40_QEAAAEAV1_40_PEBXI_40_Z(int64_t a1) {
    // 0x18000ecc0
    g117 = a1;
    int64_t v1 = g116; // 0x18000ecc0
    int64_t v2 = g112; // 0x18000ecca
    g118 = v2;
    g116 = a1;
    int64_t v3; // 0x18000ecda
    if ((int32_t)v2 != 0) {
        // 0x18000ecd5
        g114 = _3f_Pushback_40_wxSocketBase_40__40_AEAAXPEBXI_40_Z(a1, g119, v2);
        v3 = g116;
    } else {
        v3 = a1;
    }
    // 0x18000ecda
    *(int32_t *)(*(int64_t *)(v3 + 16) + 72) = 0;
    *(int32_t *)(g116 + 40) = (int32_t)g118;
    int64_t result = g116; // 0x18000ece8
    g114 = result;
    g116 = v1;
    return result;
}
 
// Address range: 0x18000ed00 - 0x18000ef00
// Demangled:     private: wxSocketBase::DoWait
int64_t _3f_DoWait_40_wxSocketBase_40__40_AEAAHJH_40_Z(int64_t a1, int64_t a2, int64_t a3) {
    // 0x18000ed00
    g112 = a3;
    g119 = a2;
    g117 = a1;
    int64_t v1 = g118; // 0x18000ed00
    int64_t v2 = g108; // 0x18000ed02
    int64_t v3 = g117; // 0x18000ed08
    int64_t v4 = *(int64_t *)(v3 + 16); // 0x18000ed08
    g114 = v4;
    g108 = g112;
    g118 = v3;
    if (v4 == 0) {
        int64_t v5 = *(int64_t *)0x180019440; // 0x18000eeaa
        g114 = v5;
        if (*(int64_t *)v5 == 0) {
            // 0x18000eef5
            g114 = 0xffffffff;
            g108 = v2;
            g118 = v1;
            return 0xffffffff;
        }
        // 0x18000eeb7
        g114 = (int64_t)"can't wait on invalid socket";
        g113 = (int64_t)"m_impl";
        g112 = (int64_t)"wxSocketBase::DoWait";
        g117 = (int64_t)"..\\..\\src\\common\\socket.cpp";
        g119 = 1420;
        g114 = _3f_wxOnAssert_40__40_YAXPEBDH000_40_Z("..\\..\\src\\common\\socket.cpp", 1420, "wxSocketBase::DoWait", "m_impl");
        char * v6 = (char *)*(int64_t *)0x180019430; // 0x18000eeea
        if (*v6 != 0) {
            // 0x18000eef0
            *v6 = 0;
            g114 = __asm_int3();
        }
        // 0x18000eef5
        g114 = 0xffffffff;
        g108 = v2;
        g118 = v1;
        return 0xffffffff;
    }
    // 0x18000ed1b
    if (*(char *)(v4 + 92) == 0) {
        // 0x18000ed21
        if (*(char *)(v4 + 76) != 0) {
            // 0x18000ed27
            if (*(char *)(v3 + 32) == 0) {
                // 0x18000ed2d
                if (*(char *)(v3 + 33) == 0) {
                    // 0x18000eef5
                    g114 = 0xffffffff;
                    g108 = v2;
                    g118 = v1;
                    return 0xffffffff;
                }
            }
        }
    }
    int64_t v7 = g116; // 0x18000ed37
    *(char *)(v3 + 104) = 0;
    int64_t v8;
    int64_t v9 = &v8; // 0x18000ed40
    g117 = v9;
    int64_t v10 = g115; // 0x18000ed45
    g116 = g119;
    int64_t v11 = g120; // 0x18000ed50
    int64_t v12 = _3f_wxGetLocalTimeMillis_40__40_YA_3f_AVwxLongLongNative_40__40_XZ(&v8); // 0x18000ed55
    g114 = v12;
    int64_t v13; // bp+32
    int64_t v14 = &v13; // 0x18000ed5b
    g119 = v14;
    int64_t v15 = g116; // 0x18000ed63
    g112 = v15;
    g117 = v12;
    g114 = _3f__3f_HwxLongLongNative_40__40_QEBA_3f_AV0_40__J_40_Z(v12, &v13, v15);
    g116 = 0;
    int64_t * v16;
    if ((*(char *)(g118 + 28) & 16) == 0) {
        int64_t v17 = _3f_IsMain_40_wxThread_40__40_SA_NXZ(); // 0x18000ed77
        g114 = v17;
        if ((char)v17 != 0) {
            int64_t v18 = *(int64_t *)0x180019a10; // 0x18000ed81
            g114 = v18;
            v16 = (int64_t *)v18;
        } else {
            v16 = &g116;
        }
    } else {
        v16 = &g116;
    }
    // 0x18000ed90
    g115 = *v16;
    int64_t v19 = *(int64_t *)(g118 + 16); // 0x18000ed90
    g117 = v19;
    int64_t v20 = g108; // 0x18000ed94
    g119 = v20;
    g114 = *(int64_t *)v19;
    g119 = v20 & 3;
    g120 = g120 & -256 | 1;
    int64_t v21 = g116; // 0x18000eda3
    int64_t result; // 0x18000ee9b
    if (*(char *)(g118 + 104) == (char)v21) {
        // 0x18000edb0
        int64_t v22; // bp-56
        int64_t v23 = &v22; // 0x18000edd9
        while (true) {
            // 0x18000edb0
            int64_t v24; // bp-48
            g117 = &v24;
            int64_t v25 = _3f_wxGetLocalTimeMillis_40__40_YA_3f_AVwxLongLongNative_40__40_XZ(&v24); // 0x18000edb5
            g114 = v25;
            int64_t v26; // bp-40
            g119 = &v26;
            g117 = v14;
            g112 = v25;
            int64_t v27 = _3f__3f_GwxLongLongNative_40__40_QEBA_3f_AV0_40_AEBV0_40__40_Z(&v13, &v26, v25); // 0x18000edcb
            g114 = v27;
            v22 = *(int64_t *)v27;
            g117 = v23;
            int64_t v28 = _3f_ToLong_40_wxLongLongNative_40__40_QEBAJXZ(&v22); // 0x18000edde
            g114 = v28;
            int64_t v29 = v28; // r11
            int64_t v30;
            if ((int32_t)v28 < 0) {
                // 0x18000edeb
                v30 = g116;
                if ((char)g120 == 0) {
                    result = v30;
                    // break -> 0x18000ee8e
                    break;
                }
                // 0x18000edf4
                v29 = v30;
            } else {
                v30 = v28;
            }
            // 0x18000edf7
            int64_t v31; // 0x18000ee53
            if (g115 == 0) {
                int64_t v32 = *(int64_t *)(g118 + 16); // 0x18000ee17
                g117 = v32;
                g112 = v9;
                int64_t v33 = 0x10624dd3 * v30; // 0x18000ee25
                g114 = v33;
                v8 = v33 / 0x4000000000;
                int64_t v34 = g108 & 0xfffffff7 | 8; // 0x18000ee3b
                g119 = v34;
                v31 = function_18000d8f0(v32, v34, v9);
            } else {
                // 0x18000edfc
                *(int32_t *)(g118 + 240) = (int32_t)g116;
                int64_t v35 = g115; // 0x18000ee02
                g114 = *(int64_t *)v35;
                g119 = v29;
                g117 = v35;
                v31 = (int64_t)*(int32_t *)(g118 + 240);
            }
            // 0x18000ee4f
            g114 = v31;
            if ((v31 & 8) != 0) {
                // 0x18000ee85
                *(char *)(g118 + 32) = (char)g116;
                *(char *)(g118 + 33) = (char)g116;
                g116 = 0xffffffff;
                result = 0xffffffff;
                goto lab_0x18000ee8e;
            }
            int64_t v36 = g108 & v31; // 0x18000ee536
            g114 = v36 & 0xffffffff;
            if ((v36 & 4) != 0) {
                // 0x18000ee77
                *(char *)(g118 + 33) = (char)g116;
                *(char *)(g118 + 32) = 1;
                g116 = 1;
                result = 1;
                goto lab_0x18000ee8e;
            }
            if ((v36 & 1) != 0) {
                // 0x18000ee70
                g116 = 1;
                result = 1;
                goto lab_0x18000ee8e;
            }
            if ((v36 & 2) != 0) {
                // 0x18000ee70
                g116 = 1;
                result = 1;
                goto lab_0x18000ee8e;
            }
            // 0x18000ee62
            g120 &= -256;
            int64_t v37 = g116; // 0x18000ee65
            if (*(char *)(g118 + 104) != (char)v37) {
                result = v37;
                // break -> 0x18000ee8e
                break;
            }
        }
    } else {
        result = v21;
    }
    goto lab_0x18000ee8e;
  lab_0x18000ee8e:
    // 0x18000ee8e
    g120 = v11;
    g115 = v10;
    g114 = result;
    g116 = v7;
    g108 = v2;
    g118 = v1;
    return result;
}
 
// Address range: 0x18000ef00 - 0x18000efa3
// Demangled:     public: virtual wxSocketBase::GetLocal
int64_t _3f_GetLocal_40_wxSocketBase_40__40_UEBA_NAEAVwxSockAddress_40__40__40_Z(int64_t a1, int64_t a2) {
    // 0x18000ef00
    g119 = a2;
    g117 = a1;
    int64_t v1 = *(int64_t *)(g117 + 16); // 0x18000ef06
    g117 = v1;
    g118 = g119;
    if (v1 != 0) {
        int64_t v2 = v1 + 24; // 0x18000ef12
        int64_t v3 = g116; // 0x18000ef16
        g116 = v2;
        int64_t v4; // 0x18000ef38
        if (*(int32_t *)v2 == 0) {
            // 0x18000ef21
            g114 = function_18000e620(v1);
            v4 = g116;
        } else {
            v4 = v2;
        }
        // 0x18000ef26
        if (*(int32_t *)v4 == 0) {
            int64_t result = g114 & -256; // 0x18000ef2b
            g114 = result;
            g116 = v3;
            return result;
        }
        // 0x18000ef38
        g119 = v4;
        int64_t v5 = g118; // 0x18000ef3b
        g117 = v5;
        int64_t v6 = _3f_SetAddress_40_wxSockAddress_40__40_QEAAXAEBVwxSockAddressImpl_40__40__40_Z(v5, v4); // 0x18000ef3e
        g116 = v3;
        int64_t result2 = v6 & -256 | 1; // 0x18000ef48
        g114 = result2;
        return result2;
    }
    int64_t v7 = *(int64_t *)0x180019440; // 0x18000ef50
    g114 = v7;
    int64_t result3; // 0x18000ef9b
    if (*(int64_t *)v7 == 0) {
        // 0x18000ef9b
        result3 = v7 & -256;
        g114 = result3;
        return result3;
    }
    // 0x18000ef5d
    g114 = (int64_t)"invalid socket";
    g112 = (int64_t)"wxSocketBase::GetLocal";
    g117 = (int64_t)"..\\..\\src\\common\\socket.cpp";
    g119 = 1591;
    int64_t v8 = _3f_wxOnAssert_40__40_YAXPEBDH000_40_Z("..\\..\\src\\common\\socket.cpp", 1591, "wxSocketBase::GetLocal", "m_impl"); // 0x18000ef83
    g114 = v8;
    char * v9 = (char *)*(int64_t *)0x180019430; // 0x18000ef90
    int64_t v10; // 0x18000ef9a
    if (*v9 != 0) {
        // 0x18000ef96
        *v9 = 0;
        v10 = __asm_int3();
        g114 = v10;
    } else {
        v10 = v8;
    }
    // 0x18000ef9b
    result3 = v10 & -256;
    g114 = result3;
    return result3;
}
 
// Address range: 0x18000efb0 - 0x18000f126
// Demangled:     public: wxSocketBase::OnRequest
int64_t _3f_OnRequest_40_wxSocketBase_40__40_QEAAXW4wxSocketNotify_40__40__40_Z(int64_t a1, int64_t a2) {
    // 0x18000efb0
    g119 = a2;
    g117 = a1;
    int64_t v1;
    g114 = &v1;
    int64_t v2 = g116; // 0x18000efc4
    int64_t v3 = g120; // 0x18000efc8
    int64_t v4 = g119; // 0x18000efcc
    g120 = v4;
    int64_t v5 = g117; // 0x18000efce
    g116 = v5;
    int64_t v6 = 0; // rdi
    g117 = v4;
    int32_t v7 = v4; // 0x18000efd5
    if (v7 == 0) {
        // 0x18000f066
        v6 = 1;
    } else {
        uint32_t v8 = v7 - 1; // 0x18000efdd
        g117 = v8;
        if (v8 == 0) {
            // 0x18000f05f
            v6 = 2;
        } else {
            uint32_t v9 = v7 - 2; // 0x18000efe2
            g117 = v9;
            if (v9 == 0) {
                // 0x18000f045
                v6 = 4;
                *(char *)(v5 + 32) = 1;
                *(char *)(g116 + 33) = 0;
                int64_t v10 = *(int64_t *)(g116 + 16); // 0x18000f052
                g114 = v10;
                *(int32_t *)(v10 + 72) = 0;
            } else {
                if (v7 == 3) {
                    // 0x18000f036
                    v6 = 8;
                    *(char *)(v5 + 32) = 0;
                    *(char *)(g116 + 36) = 1;
                } else {
                    int64_t v11 = *(int64_t *)0x180019440; // 0x18000efec
                    g114 = v11;
                    if (*(int64_t *)v11 != 0) {
                        // 0x18000eff8
                        g114 = (int64_t)"unknown wxSocket notification";
                        g112 = (int64_t)"wxSocketBase::OnRequest";
                        g119 = 1704;
                        g117 = (int64_t)"..\\..\\src\\common\\socket.cpp";
                        g114 = _3f_wxOnAssert_40__40_YAXPEBDH000_40_Z("..\\..\\src\\common\\socket.cpp", 1704, "wxSocketBase::OnRequest", "Assert failure");
                        char * v12 = (char *)*(int64_t *)0x180019430; // 0x18000f02b
                        char v13 = v6; // 0x18000f02b
                        if (*v12 != v13) {
                            // 0x18000f030
                            *v12 = v13;
                            g114 = __asm_int3();
                        }
                    }
                }
            }
        }
    }
    int32_t * v14 = (int32_t *)(g116 + 240); // 0x18000f06b
    *v14 = (int32_t)v6 | *v14;
    int64_t v15 = g116; // 0x18000f071
    if (*(char *)(v15 + 232) == 0) {
        goto lab_0x18000f111;
    } else {
        // 0x18000f07e
        if (((int32_t)v6 & *(int32_t *)(v15 + 236)) == 0) {
            goto lab_0x18000f111;
        } else {
            // 0x18000f08a
            if (*(int64_t *)(v15 + 216) == 0) {
                goto lab_0x18000f111;
            } else {
                int64_t v16 = g120; // 0x18000f094
                int32_t v17 = v16; // 0x18000f094
                if (v17 != 0) {
                    if (v17 != 1) {
                        goto lab_0x18000f0ab;
                    } else {
                        // 0x18000f0a5
                        if (*(char *)(v15 + 35) != 0) {
                            goto lab_0x18000f111;
                        } else {
                            goto lab_0x18000f0ab;
                        }
                    }
                } else {
                    // 0x18000f098
                    if (*(char *)(v15 + 34) != (char)v16) {
                        goto lab_0x18000f111;
                    } else {
                        goto lab_0x18000f0ab;
                    }
                }
            }
        }
    }
  lab_0x18000f111:
    // 0x18000f111
    g116 = v2;
    g120 = v3;
    return g114;
  lab_0x18000f0ab:;
    uint32_t v18 = *(int32_t *)0x18002eef0; // 0x18000f0ab
    g112 = v18;
    int64_t v19 = (int64_t)*(int32_t *)(v15 + 208); // 0x18000f0b2
    g119 = v19;
    int64_t v20; // bp-104
    int64_t v21 = &v20; // 0x18000f0b8
    g117 = v21;
    g114 = _3f__3f_0wxEvent_40__40_QEAA_40_HH_40_Z(v21, v19, v18);
    v20 = &g8;
    int64_t v22 = g116; // 0x18000f0d6
    g114 = *(int64_t *)(v22 + 224);
    g119 = v22;
    g117 = v21;
    g114 = _3f_SetEventObject_40_wxEvent_40__40_QEAAXPEAVwxObject_40__40__40_Z(&v20, v22);
    int64_t v23 = *(int64_t *)(g116 + 216); // 0x18000f0f3
    g117 = v23;
    g114 = *(int64_t *)v23;
    g119 = v21;
    g117 = v21;
    g114 = _3f__3f_1wxEvent_40__40_UEAA_40_XZ(v21, v21);
    goto lab_0x18000f111;
}
 
// Address range: 0x18000f130 - 0x18000f176
int64_t function_18000f130(void) {
    int64_t v1 = g116; // 0x18000f130
    g117 = 80;
    int64_t v2 = function_18001323c(80, g119); // 0x18000f144
    g114 = v2;
    g116 = v2;
    int64_t result;
    if (v2 == 0) {
        result = 0;
    } else {
        // 0x18000f156
        g117 = v2;
        g114 = _3f__3f_0wxModule_40__40_QEAA_40_XZ(v2);
        *(int64_t *)g116 = (int64_t)&g42;
        result = g116;
    }
    // 0x18000f170
    g114 = result;
    g116 = v1;
    return result;
}
 
// Address range: 0x18000f1b0 - 0x18000f2a9
int64_t function_18000f1b0(int64_t a1, int64_t a2) {
    // 0x18000f1b0
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x18000f1b0
    int64_t v2 = g120; // 0x18000f1b5
    int64_t v3 = g118; // 0x18000f1ba
    int64_t v4; // bp-104
    int64_t v5 = g61 ^ (int64_t)&v4; // 0x18000f1c6
    g114 = v5;
    int64_t v6 = g117; // 0x18000f1ce
    g116 = v6;
    int64_t sock = *(int64_t *)(v6 + 8); // 0x18000f1d1
    g117 = sock;
    g118 = g119;
    int64_t addr_len; // bp-72
    g112 = &addr_len;
    int64_t addr; // bp-40
    int64_t v7 = &addr; // 0x18000f1dd
    g119 = v7;
    addr_len = 16;
    int32_t accepted_sock_fd = accept((int32_t)sock, (struct sockaddr *)&addr, (int32_t *)&addr_len); // 0x18000f1ea
    int64_t v8 = accepted_sock_fd; // 0x18000f1ea
    g114 = v8;
    int64_t v9 = 0x100000000 * sock / 0x100000000; // 0x18000f1ef
    g112 = v9;
    g119 = 1;
    g117 = g116;
    g120 = v8;
    int64_t v10;
    int64_t v11; // 0x18000f228
    if (accepted_sock_fd != -1) {
        int64_t v12 = g81; // 0x18000f20b
        g117 = v12;
        if (v12 != 0) {
            v11 = v12;
            goto lab_0x18000f228;
        } else {
            // 0x18000f217
            g114 = function_18000e3f0(v12, 1, v9);
            g117 = g81;
            if (g81 == 0) {
                v10 = 0;
                goto lab_0x18000f28a;
            } else {
                v11 = g81;
                goto lab_0x18000f228;
            }
        }
    } else {
        v10 = 0;
        goto lab_0x18000f28a;
    }
  lab_0x18000f228:;
    int64_t v13 = *(int64_t *)v11; // 0x18000f228
    g114 = v13;
    g119 = g118;
    g116 = v13;
    if (v13 == 0) {
        v10 = 0;
        goto lab_0x18000f28a;
    } else {
        // 0x18000f239
        *(int64_t *)(v13 + 8) = g120;
        g112 = addr_len;
        g119 = v7;
        int64_t v14; // bp-64
        g117 = &v14;
        int64_t v15 = function_18000e290(&v14, &addr, addr_len); // 0x18000f24c
        g114 = v15;
        int64_t v16 = g116; // 0x18000f251
        int64_t v17 = v16 + 48; // 0x18000f251
        g118 = v17;
        g120 = v15;
        if (v17 != v15) {
            int64_t v18 = *(int64_t *)(v16 + 56); // 0x18000f25d
            g117 = v18;
            free((int64_t *)v18);
            g114 = &g122;
            int64_t v19 = g120; // 0x18000f267
            g119 = v19;
            int64_t v20 = g118; // 0x18000f26a
            g117 = v20;
            g114 = function_1800095e0(v20, v19);
        }
        // 0x18000f272
        int64_t v21;
        free((int64_t *)v21);
        g114 = &g122;
        int64_t v22 = g116; // 0x18000f27d
        g117 = v22;
        v10 = v22;
        goto lab_0x18000f28a;
    }
  lab_0x18000f28a:
    // 0x18000f28a
    g114 = v10;
    int64_t v23 = g121 ^ v5; // 0x18000f28f
    g117 = v23;
    __security_check_cookie(v23);
    g114 = &g122;
    g116 = v1;
    g120 = v2;
    g118 = v3;
    return &g122;
}
 
// Address range: 0x18000f2b0 - 0x18000f2b9
int64_t function_18000f2b0(int64_t a1) {
    // 0x18000f2b0
    g117 = a1;
    int64_t v1 = *(int64_t *)(a1 + 96); // 0x18000f2b0
    g117 = v1;
    int64_t result = _3f_OnRequest_40_wxSocketBase_40__40_QEAAXW4wxSocketNotify_40__40__40_Z(v1, g119); // 0x18000f2b4
    g114 = result;
    return result;
}
 
// Address range: 0x18000f2c0 - 0x18000f3da
int64_t function_18000f2c0(int64_t a1) {
    // 0x18000f2c0
    g117 = a1;
    int64_t v1;
    g114 = &v1;
    int64_t v2 = g118; // 0x18000f2c3
    int64_t v3 = g116; // 0x18000f2d4
    int64_t v4 = g120; // 0x18000f2d8
    int64_t v5 = g117; // 0x18000f2dc
    g113 = 0;
    int64_t sock = *(int64_t *)(v5 + 8); // 0x18000f2e2
    g117 = sock;
    int32_t v6 = recv((int32_t)sock, (char *)g119, (int32_t)g112, 0); // 0x18000f2e6
    int64_t result = v6; // 0x18000f2e6
    g114 = result;
    g120 = result;
    if (v6 != 0) {
        // 0x18000f3c5
        g116 = v3;
        g120 = v4;
        g118 = v2;
        return result;
    }
    // 0x18000f2f5
    *(char *)(v5 + 77) = (char)v6;
    int64_t v7 = *(int64_t *)(v5 + 96); // 0x18000f2f8
    g116 = v7;
    *(char *)(v7 + 32) = (char)g114;
    *(char *)(g116 + 36) = 1;
    int32_t * v8 = (int32_t *)(g116 + 240); // 0x18000f303
    *v8 = *v8 | 8;
    int64_t v9 = g116; // 0x18000f30a
    if (*(char *)(v9 + 232) != (char)g114) {
        // 0x18000f312
        if ((*(char *)(v9 + 236) & 8) != 0) {
            // 0x18000f31b
            if (*(int64_t *)(v9 + 216) != 0) {
                uint32_t v10 = *(int32_t *)0x18002eef0; // 0x18000f325
                g112 = v10;
                int64_t v11 = (int64_t)*(int32_t *)(v9 + 208); // 0x18000f32c
                g119 = v11;
                int64_t v12; // bp-104
                int64_t v13 = &v12; // 0x18000f332
                g117 = v13;
                g114 = _3f__3f_0wxEvent_40__40_QEAA_40_HH_40_Z(v13, v11, v10);
                v12 = &g8;
                int64_t v14 = g116; // 0x18000f354
                g114 = *(int64_t *)(v14 + 224);
                g119 = v14;
                g117 = v13;
                g114 = _3f_SetEventObject_40_wxEvent_40__40_QEAAXPEAVwxObject_40__40__40_Z(&v12, v14);
                int64_t v15 = *(int64_t *)(g116 + 216); // 0x18000f371
                g117 = v15;
                g114 = *(int64_t *)v15;
                g119 = v13;
                g117 = v13;
                g114 = _3f__3f_1wxEvent_40__40_UEAA_40_XZ(v13, v13);
            }
        }
    }
    int64_t sock2 = *(int64_t *)(v5 + 8); // 0x18000f38f
    g117 = sock2;
    if ((sock2 & 0xffffffff) == 0xffffffff) {
        int64_t result2 = g120; // 0x18000f3c3
        g114 = result2;
        // 0x18000f3c5
        g116 = v3;
        g120 = v4;
        g118 = v2;
        return result2;
    }
    // 0x18000f399
    g119 = 1;
    g114 = shutdown((int32_t)sock2, SHUT_WR);
    int64_t * v16 = (int64_t *)(v5 + 8); // 0x18000f3a3
    int64_t result3; // 0x18000f3bf
    if (*v16 == -1) {
        // 0x18000f3bf
        result3 = g120;
        g114 = result3;
    } else {
        // 0x18000f3aa
        g117 = v5;
        *v16 = -1;
        int64_t v17 = g120; // 0x18000f3bb
        g114 = v17;
        result3 = v17;
    }
    // 0x18000f3c5
    g116 = v3;
    g120 = v4;
    g118 = v2;
    return result3;
}
 
// Address range: 0x18000f3e0 - 0x18000f485
// Demangled:     public: static wxSocketBase::Initialize
int64_t _3f_Initialize_40_wxSocketBase_40__40_SA_NXZ(void) {
    int64_t v1 = _3f_IsMain_40_wxThread_40__40_SA_NXZ(); // 0x18000f3e4
    g114 = v1;
    int64_t result; // 0x18000f47e
    if ((char)v1 == 0) {
        int64_t v2 = *(int64_t *)0x180019440; // 0x18000f433
        g114 = v2;
        if (*(int64_t *)v2 == 0) {
            // 0x18000f47e
            result = v2 & -256;
            g114 = result;
            return result;
        }
        // 0x18000f440
        g114 = (int64_t)"must be called from the main thread";
        g113 = (int64_t)"wxIsMainThread()";
        g112 = (int64_t)"wxSocketBase::Initialize";
        g117 = (int64_t)"..\\..\\src\\common\\socket.cpp";
        g119 = 775;
        int64_t v3 = _3f_wxOnAssert_40__40_YAXPEBDH000_40_Z("..\\..\\src\\common\\socket.cpp", 775, "wxSocketBase::Initialize", "wxIsMainThread()"); // 0x18000f466
        g114 = v3;
        char * v4 = (char *)*(int64_t *)0x180019430; // 0x18000f473
        int64_t v5; // 0x18000f47d
        if (*v4 != 0) {
            // 0x18000f479
            *v4 = 0;
            v5 = __asm_int3();
            g114 = v5;
        } else {
            v5 = v3;
        }
        // 0x18000f47e
        result = v5 & -256;
        g114 = result;
        return result;
    }
    // 0x18000f3ee
    g114 = g82;
    int32_t v6; // 0x18000f424
    int64_t result2; // 0x18000f42c
    if (g82 != 0) {
        // 0x18000f424
        v6 = g82 + 1;
        g82 = v6;
        result2 = (int64_t)v6 & 0xffffff00 | 1;
        g114 = result2;
        return result2;
    }
    int64_t v7 = g81; // 0x18000f3f8
    g117 = v7;
    int64_t v8; // 0x18000f415
    if (v7 == 0) {
        int64_t v9 = function_18000e3f0(v7, g119, g112); // 0x18000f404
        g114 = v9;
        g117 = g81;
        if (g81 == 0) {
            // 0x18000f47e
            result = v9 & -256;
            g114 = result;
            return result;
        }
        v8 = g81;
    } else {
        v8 = v7;
    }
    int64_t v10 = *(int64_t *)v8; // 0x18000f415
    g114 = v10;
    if ((char)v10 == 0) {
        // 0x18000f47e
        result = v10 & -256;
        g114 = result;
        return result;
    }
    // 0x18000f41e
    g114 = g82;
    // 0x18000f424
    v6 = g82 + 1;
    g82 = v6;
    result2 = (int64_t)v6 & 0xffffff00 | 1;
    g114 = result2;
    return result2;
}
 
// Address range: 0x18000f490 - 0x18000f57b
// Demangled:     public: static wxSocketBase::Shutdown
int64_t _3f_Shutdown_40_wxSocketBase_40__40_SAXXZ(void) {
    int64_t v1 = _3f_IsMain_40_wxThread_40__40_SA_NXZ(); // 0x18000f494
    g114 = v1;
    int64_t v2; // 0x18000f55e
    int64_t v3; // 0x18000f55e
    if ((char)v1 == 0) {
        int64_t result = *(int64_t *)0x180019440; // 0x18000f52b
        g114 = result;
        if (*(int64_t *)result == 0) {
            // 0x18000f576
            return result;
        }
        // 0x18000f538
        g114 = (int64_t)"must be called from the main thread";
        g119 = 791;
        v3 = (int64_t)"wxIsMainThread()";
        v2 = 791;
    } else {
        int32_t v4 = g82; // 0x18000f4a2
        g114 = v4;
        if (v4 < 1) {
            int64_t result2 = *(int64_t *)0x180019440; // 0x18000f509
            g114 = result2;
            if (*(int64_t *)result2 == 0) {
                // 0x18000f576
                return result2;
            }
            // 0x18000f516
            g114 = (int64_t)"too many calls to Shutdown()";
            g119 = 793;
            v3 = (int64_t)"gs_socketInitCount > 0";
            v2 = 793;
        } else {
            int32_t v5 = v4 - 1; // 0x18000f4ac
            int64_t result3 = v5; // 0x18000f4ac
            g114 = result3;
            g82 = v5;
            if (v5 != 0) {
                // 0x18000f576
                return result3;
            }
            int64_t v6 = g81; // 0x18000f4bb
            g117 = v6;
            int64_t result4; // 0x18000f4d8
            if (v6 != 0) {
                // 0x18000f4d8
                result4 = *(int64_t *)v6;
                g114 = result4;
                return result4;
            }
            // 0x18000f4c7
            g114 = function_18000e3f0(v6, g119, g112);
            g117 = g81;
            if (g81 != 0) {
                // 0x18000f4d8
                result4 = *(int64_t *)g81;
                g114 = result4;
                return result4;
            }
            int64_t result5 = *(int64_t *)0x180019440; // 0x18000f4e3
            g114 = result5;
            if (*(int64_t *)result5 == 0) {
                // 0x18000f576
                return result5;
            }
            // 0x18000f4f4
            g114 = (int64_t)"should have a socket manager";
            g119 = 798;
            v3 = (int64_t)"manager";
            v2 = 798;
        }
    }
    // 0x18000f54b
    g112 = (int64_t)"wxSocketBase::Shutdown";
    g117 = (int64_t)"..\\..\\src\\common\\socket.cpp";
    int64_t v7 = _3f_wxOnAssert_40__40_YAXPEBDH000_40_Z("..\\..\\src\\common\\socket.cpp", v2, "wxSocketBase::Shutdown", (char *)v3); // 0x18000f55e
    g114 = v7;
    char * v8 = (char *)*(int64_t *)0x180019430; // 0x18000f56b
    int64_t result6; // 0x18000f575
    if (*v8 != 0) {
        // 0x18000f571
        *v8 = 0;
        result6 = __asm_int3();
        g114 = result6;
    } else {
        result6 = v7;
    }
    // 0x18000f576
    return result6;
}
 
// Address range: 0x18000f580 - 0x18000f649
// Demangled:     public: virtual wxSocketBase::~wxSocketBase
int64_t _3f__3f_1wxSocketBase_40__40_UEAA_40_XZ(int64_t a1) {
    // 0x18000f580
    g117 = a1;
    int64_t v1 = g116; // 0x18000f593
    int64_t v2 = g117; // 0x18000f598
    g118 = v2;
    g114 = &g44;
    *(int64_t *)v2 = (int64_t)&g44;
    int64_t v3 = g117; // 0x18000f5a5
    if (*(char *)(v3 + 105) == 0) {
        // 0x18000f5ab
        *(char *)(v3 + 104) = 1;
        int64_t v4 = *(int64_t *)(g117 + 16); // 0x18000f5af
        g116 = v4;
        if (v4 != 0) {
            int64_t * v5 = (int64_t *)(v4 + 8); // 0x18000f5b8
            int64_t sock = *v5; // 0x18000f5b8
            g117 = sock;
            if ((sock & 0xffffffff) != 0xffffffff) {
                // 0x18000f5c2
                g119 = 1;
                g114 = shutdown((int32_t)sock, SHUT_WR);
                if (*v5 != -1) {
                    // 0x18000f5d3
                    g114 = *(int64_t *)v4;
                    g117 = v4;
                    *v5 = -1;
                }
            }
        }
        // 0x18000f5e4
        *(char *)(g118 + 32) = 0;
        *(char *)(g118 + 33) = 0;
    }
    int64_t v6 = *(int64_t *)(g118 + 16); // 0x18000f5ec
    g117 = v6;
    if (v6 != 0) {
        // 0x18000f5f5
        g114 = *(int64_t *)v6;
        g119 = 1;
    }
    int64_t v7 = *(int64_t *)(g118 + 192); // 0x18000f5ff
    g117 = v7;
    free((int64_t *)v7);
    g114 = &g122;
    g116 = g118 + 112;
    int64_t v8 = g118 + 136; // 0x18000f616
    g117 = v8;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v8, g119, g112);
    int64_t v9 = g116; // 0x18000f621
    g117 = v9;
    g114 = _3f__3f_1wxSockAddress_40__40_UEAA_40_XZ(v9);
    int64_t v10 = g118 + 56; // 0x18000f62a
    g117 = v10;
    g114 = _3f__3f_1wxList_40__40_UEAA_40_XZ(v10);
    g117 = g118;
    g116 = v1;
    int64_t result = _3f__3f_1wxObject_40__40_UEAA_40_XZ(g118); // 0x18000f642
    g114 = result;
    return result;
}
 
// Address range: 0x18000f650 - 0x18000f859
// Demangled:     private: wxSocketBase::DoRead
int64_t _3f_DoRead_40_wxSocketBase_40__40_AEAAIPEAXI_40_Z(int64_t a1, int64_t a2, int64_t a3, int64_t a4) {
    // 0x18000f650
    g113 = a4;
    g112 = a3;
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x18000f650
    int64_t v2 = g115; // 0x18000f652
    int64_t v3 = g120; // 0x18000f653
    g116 = a2;
    g120 = a1;
    int64_t v4;
    int64_t v5; // 0x18000f678
    int64_t v6; // 0x18000f67d
    int64_t v7; // 0x18000f698
    int64_t v8; // 0x18000f690
    char * v9; // 0x18000f6a4
    int64_t v10; // 0x18000f6a0
    int64_t result; // 0x18000f682
    if (*(int64_t *)(a1 + 16) == 0) {
        int64_t v11 = *(int64_t *)0x180019440; // 0x18000f804
        g114 = v11;
        if (*(int64_t *)v11 == 0) {
            goto lab_0x18000f84f;
        } else {
            // 0x18000f811
            g114 = (int64_t)"socket must be valid";
            g113 = (int64_t)"m_impl";
            g112 = (int64_t)"wxSocketBase::DoRead";
            g117 = (int64_t)"..\\..\\src\\common\\socket.cpp";
            g119 = 961;
            v4 = _3f_wxOnAssert_40__40_YAXPEBDH000_40_Z("..\\..\\src\\common\\socket.cpp", 961, "wxSocketBase::DoRead", "m_impl");
            goto lab_0x18000f848;
        }
    } else {
        // 0x18000f66c
        if (a2 == 0) {
            int64_t v12 = *(int64_t *)0x180019440; // 0x18000f7ba
            g114 = v12;
            if (*(int64_t *)v12 == 0) {
                goto lab_0x18000f84f;
            } else {
                // 0x18000f7cb
                g114 = (int64_t)"NULL buffer";
                g113 = (int64_t)"buffer";
                g112 = (int64_t)"wxSocketBase::DoRead";
                g117 = (int64_t)"..\\..\\src\\common\\socket.cpp";
                g119 = 965;
                v4 = _3f_wxOnAssert_40__40_YAXPEBDH000_40_Z("..\\..\\src\\common\\socket.cpp", 965, "wxSocketBase::DoRead", "buffer");
                goto lab_0x18000f848;
            }
        } else {
            // 0x18000f675
            v5 = g108;
            v6 = g109;
            result = _3f_GetPushback_40_wxSocketBase_40__40_AEAAIPEAXI_N_40_Z(a1, a2, a3, 0);
            g114 = result;
            g108 = result;
            g109 = g116 + result;
            uint32_t v13 = (int32_t)a3 - (int32_t)result; // 0x18000f690
            v8 = v13;
            g115 = v8;
            if (v13 == 0) {
                goto lab_0x18000f7a5;
            } else {
                // 0x18000f698
                v7 = g118;
                while (true) {
                  lab_0x18000f6a0:;
                    int64_t v14 = g120; // 0x18000f6a0
                    v10 = *(int64_t *)(v14 + 16);
                    g118 = v10;
                    v9 = (char *)(v10 + 76);
                    if (*v9 == 0) {
                        goto lab_0x18000f6b4;
                    } else {
                        // 0x18000f6aa
                        if (*(char *)(v14 + 32) != 0) {
                            goto lab_0x18000f6b4;
                        } else {
                            // 0x18000f6b0
                            g116 = 0;
                            goto lab_0x18000f70d;
                        }
                    }
                }
              lab_0x18000f786:;
                int64_t v15 = g120; // 0x18000f786
                *(char *)(v15 + 36) = 1;
                if ((*(char *)(v15 + 28) & 4) != 0) {
                    goto lab_0x18000f795;
                } else {
                    // 0x18000f790
                    if ((int32_t)g108 != 0) {
                        goto lab_0x18000f7a0_2;
                    } else {
                        goto lab_0x18000f795;
                    }
                }
            }
        }
    }
  lab_0x18000f7a0_2:
    // 0x18000f7a0
    g118 = v7;
    result = g108;
    goto lab_0x18000f7a5;
  lab_0x18000f6b4:
    // 0x18000f6b4
    if (*(int64_t *)(v10 + 8) == -1) {
        goto lab_0x18000f703;
    } else {
        // 0x18000f6bb
        if (*(char *)(v10 + 92) != 0) {
            goto lab_0x18000f703;
        } else {
            // 0x18000f6c1
            g112 = v8;
            g119 = g109;
            g117 = v10;
            int64_t v17;
            if (*v9 == 0) {
                // 0x18000f6d9
                v17 = function_18000ea20(v10);
            } else {
                // 0x18000f6c7
                v17 = function_18000f2c0(v10);
            }
            // 0x18000f6e9
            g114 = v17;
            g116 = v17;
            if ((int32_t)v17 != -1) {
                // 0x18000f6fc
                g114 = 0;
                *(int32_t *)(g118 + 72) = 0;
            } else {
                int64_t v18 = g118; // 0x18000f6ee
                int64_t v19 = *(int64_t *)v18; // 0x18000f6ee
                g114 = v19;
                g117 = v18;
                *(int32_t *)(v18 + 72) = (int32_t)v19;
            }
            goto lab_0x18000f70d;
        }
    }
  lab_0x18000f703:
    // 0x18000f703
    *(int32_t *)(v10 + 72) = 4;
    g116 = 0xffffffff;
    goto lab_0x18000f70d;
  lab_0x18000f70d:;
    int64_t v20 = g116; // 0x18000f70d
    int32_t v21 = v20; // 0x18000f70d
    int64_t v22; // 0x18000f75d
    if (v21 != -1) {
        // 0x18000f74d
        if (v21 == 0) {
            // break -> 0x18000f786
            goto lab_0x18000f786;
        }
        // 0x18000f751
        g108 = (int32_t)g108 + v21;
        if ((*(char *)(g120 + 28) & 4) == 0) {
            goto lab_0x18000f7a0_2;
        }
        // 0x18000f75a
        g114 = v20;
        v22 = g115 - v20 & 0xffffffff;
        g115 = v22;
        g109 += v20;
    } else {
        int64_t v23 = g120; // 0x18000f712
        int64_t * v24 = (int64_t *)(v23 + 16); // 0x18000f712
        int64_t v25 = *v24; // 0x18000f712
        g117 = v25;
        int64_t v26 = *(int64_t *)v25; // 0x18000f716
        g114 = v26;
        if ((int32_t)v26 != 7) {
            int64_t v27 = *v24; // 0x18000f779
            g114 = v27;
            *(int32_t *)(v27 + 72) = 2;
            goto lab_0x18000f7a0_2;
        }
        // 0x18000f721
        if ((*(char *)(v23 + 28) & 1) != 0) {
            int64_t v28 = *v24; // 0x18000f76c
            g114 = v28;
            *(int32_t *)(v28 + 72) = 0;
            goto lab_0x18000f7a0_2;
        }
        int64_t v29 = v20 + 2; // 0x18000f72a
        g112 = v29;
        g117 = v23;
        int64_t v30 = 1000 * (int64_t)*(int32_t *)(v23 + 52); // 0x18000f731
        g119 = v30;
        int64_t v31 = _3f_DoWait_40_wxSocketBase_40__40_AEAAHJH_40_Z(v23, v30, v29); // 0x18000f737
        g114 = v31;
        if ((int32_t)v31 == 0) {
            int64_t v32 = *(int64_t *)(g120 + 16); // 0x18000f740
            g114 = v32;
            *(int32_t *)(v32 + 72) = 8;
            goto lab_0x18000f7a0_2;
        }
        // 0x18000f727
        v22 = g115;
    }
    // 0x18000f762
    if ((int32_t)v22 == 0) {
        goto lab_0x18000f7a0_2;
    }
    v8 = v22;
    goto lab_0x18000f6a0;
  lab_0x18000f84f:
    // 0x18000f84f
    g114 = 0;
    g120 = v3;
    g115 = v2;
    g116 = v1;
    return 0;
  lab_0x18000f848:
    // 0x18000f848
    g114 = v4;
    char * v33 = (char *)*(int64_t *)0x180019430;
    if (*v33 != 0) {
        // 0x18000f84a
        *v33 = 0;
        g114 = __asm_int3();
    }
    goto lab_0x18000f84f;
  lab_0x18000f7a5:
    // 0x18000f7a5
    g109 = v6;
    g114 = result;
    g108 = v5;
    g120 = v3;
    g115 = v2;
    g116 = v1;
    return result;
  lab_0x18000f795:;
    int64_t v16 = *(int64_t *)(g120 + 16); // 0x18000f795
    g114 = v16;
    *(int32_t *)(v16 + 72) = 2;
    goto lab_0x18000f7a0_2;
}
 
// Address range: 0x18000f860 - 0x18000fa8b
// Demangled:     public: wxSocketBase::ReadMsg
int64_t _3f_ReadMsg_40_wxSocketBase_40__40_QEAAAEAV1_40_PEAXI_40_Z(int64_t a1, int64_t a2, int64_t a3) {
    // 0x18000f860
    g112 = a3;
    g119 = a2;
    g117 = a1;
    g114 = 0x2870;
    *(int64_t *)(g121 - __chkstk() + 72) = -2;
    int64_t v1 = g121 ^ g61; // 0x18000f884
    g114 = v1;
    *(int64_t *)(g121 + 0x2860) = v1;
    g120 = g112;
    g115 = g119;
    int64_t v2 = g117; // 0x18000f895
    g116 = v2;
    *(int64_t *)(g121 + 48) = v2;
    int64_t v3 = *(int64_t *)0x180019440; // 0x18000f89d
    g114 = v3;
    char * v4;
    char * v5;
    if (*(int64_t *)v3 != 0) {
        // 0x18000f8aa
        if (*(char *)(g117 + 34) != 0) {
            // 0x18000f8b0
            g114 = (int64_t)"read reentrancy?";
            *(int64_t *)(g121 + 32) = (int64_t)"read reentrancy?";
            g112 = (int64_t)"wxSocketReadGuard::wxSocketReadGuard";
            g119 = 208;
            g117 = (int64_t)"..\\..\\src\\common\\socket.cpp";
            g114 = _3f_wxOnAssert_40__40_YAXPEBDH000_40_Z("..\\..\\src\\common\\socket.cpp", 208, "wxSocketReadGuard::wxSocketReadGuard", "!m_socket->m_reading");
            char * v6 = (char *)*(int64_t *)0x180019430; // 0x18000f8e3
            if (*v6 != 0) {
                // 0x18000f8e9
                *v6 = 0;
                g114 = __asm_int3();
                v4 = "!m_socket->m_reading";
            } else {
                v4 = "!m_socket->m_reading";
            }
        } else {
            v4 = v5;
        }
    } else {
        v4 = v5;
    }
    // 0x18000f8ee
    *(char *)(g116 + 34) = 1;
    *(int64_t *)(g121 + 56) = g116;
    uint32_t v7 = *(int32_t *)(g116 + 28); // 0x18000f8f7
    g108 = v7;
    *(int32_t *)(g121 + 64) = v7;
    int64_t v8 = g108 & 16 | 4; // 0x18000f906
    g119 = v8;
    int64_t v9 = g116; // 0x18000f909
    g117 = v9;
    g114 = _3f_SetFlags_40_wxSocketBase_40__40_QEAAXH_40_Z(v9, v8);
    g112 = 8;
    int64_t v10 = g121 + 80; // 0x18000f918
    g119 = v10;
    int64_t v11 = g116; // 0x18000f91d
    g117 = v11;
    int64_t v12 = (int64_t)v4; // 0x18000f920
    int64_t v13 = _3f_DoRead_40_wxSocketBase_40__40_AEAAIPEAXI_40_Z(v11, v10, 8, v12); // 0x18000f920
    g114 = v13;
    if ((int32_t)v13 != 8) {
        goto lab_0x18000fa29;
    } else {
        int64_t v14 = 256 * (int64_t)*(char *)(g121 + 83); // 0x18000f933
        g117 = v14;
        unsigned char v15 = *(char *)(g121 + 82); // 0x18000f936
        g114 = v15;
        uint32_t v16 = 256 * ((int32_t)v15 | (int32_t)v14); // 0x18000f93d
        g117 = v16;
        unsigned char v17 = *(char *)(g121 + 81); // 0x18000f940
        g114 = v17;
        uint32_t v18 = 256 * ((int32_t)v17 | v16); // 0x18000f947
        g117 = v18;
        unsigned char v19 = *(char *)(g121 + 80); // 0x18000f94a
        g114 = v19;
        uint32_t v20 = (int32_t)v19 | v18; // 0x18000f94f
        g117 = v20;
        if (v20 != -0x1122153) {
            goto lab_0x18000fa29;
        } else {
            int64_t v21 = 256 * (int64_t)*(char *)(g121 + 87); // 0x18000f963
            g112 = v21;
            unsigned char v22 = *(char *)(g121 + 86); // 0x18000f967
            g114 = v22;
            uint32_t v23 = 256 * ((int32_t)v22 | (int32_t)v21); // 0x18000f96f
            g112 = v23;
            unsigned char v24 = *(char *)(g121 + 85); // 0x18000f973
            g114 = v24;
            uint32_t v25 = 256 * ((int32_t)v24 | v23); // 0x18000f97b
            g112 = v25;
            uint32_t v26 = (int32_t)*(char *)(g121 + 84) | v25; // 0x18000f984
            int64_t v27 = v26; // 0x18000f984
            g112 = v27;
            g114 = 0;
            int64_t v28 = g120; // 0x18000f989
            uint32_t v29 = (int32_t)v28; // 0x18000f989
            uint32_t v30 = v26 - v29; // 0x18000f989
            if (v26 < v29 || v30 == 0) {
                // 0x18000f999
                g118 = 0;
            } else {
                // 0x18000f98e
                g118 = v30;
                g112 = v28;
                v27 = v28;
            }
            int32_t v31; // 0x18000f9ab
            if ((int32_t)v27 != 0) {
                int64_t v32 = g115; // 0x18000f9a0
                g119 = v32;
                int64_t v33 = g116; // 0x18000f9a3
                g117 = v33;
                int64_t v34 = _3f_DoRead_40_wxSocketBase_40__40_AEAAIPEAXI_40_Z(v33, v32, v27, v12); // 0x18000f9a6
                g114 = v34;
                v31 = v34;
            } else {
                v31 = 0;
            }
            // 0x18000f9ab
            *(int32_t *)(g116 + 44) = v31;
            *(int32_t *)(g116 + 40) = (int32_t)g114;
            int64_t v35 = g118; // 0x18000f9b1
            if ((int32_t)v35 == 0) {
                goto lab_0x18000f9e6;
            } else {
                // 0x18000f9b5
                g120 = 0x2800;
                int64_t v36 = 0x2800; // 0x18000f9c5
                uint32_t v37; // 0x18000f9d6
                while (true) {
                    int64_t v38 = (int32_t)v35 > (int32_t)v36 ? v36 : v35;
                    int64_t v39 = v38 & 0xffffffff; // 0x18000f9c5
                    g112 = v39;
                    int64_t v40 = g121 + 96; // 0x18000f9c9
                    g119 = v40;
                    int64_t v41 = g116; // 0x18000f9ce
                    g117 = v41;
                    int64_t v42 = _3f_DoRead_40_wxSocketBase_40__40_AEAAIPEAXI_40_Z(v41, v40, v39, v12); // 0x18000f9d1
                    g114 = v42;
                    int32_t v43 = v42; // 0x18000f9d6
                    v37 = (int32_t)g118 - v43;
                    int64_t v44 = v37; // 0x18000f9d6
                    g118 = v44;
                    if (v43 < 1) {
                        // break -> 0x18000f9e2
                        break;
                    }
                    if (v37 == 0) {
                        goto lab_0x18000f9e6;
                    }
                    // 0x18000f9dc
                    v36 = g120;
                    v35 = v44;
                }
                if (v37 != 0) {
                    goto lab_0x18000fa29;
                } else {
                    goto lab_0x18000f9e6;
                }
            }
        }
    }
  lab_0x18000f9e6:
    // 0x18000f9e6
    g112 = 8;
    int64_t v45 = g121 + 80; // 0x18000f9ec
    g119 = v45;
    int64_t v46 = g116; // 0x18000f9f1
    g117 = v46;
    int64_t v47 = _3f_DoRead_40_wxSocketBase_40__40_AEAAIPEAXI_40_Z(v46, v45, 8, v12); // 0x18000f9f4
    g114 = v47;
    if ((int32_t)v47 != 8) {
        goto lab_0x18000fa29;
    } else {
        int64_t v48 = 256 * (int64_t)*(char *)(g121 + 83); // 0x18000fa03
        g117 = v48;
        unsigned char v49 = *(char *)(g121 + 82); // 0x18000fa06
        g114 = v49;
        uint32_t v50 = 256 * ((int32_t)v49 | (int32_t)v48); // 0x18000fa0d
        g117 = v50;
        unsigned char v51 = *(char *)(g121 + 81); // 0x18000fa10
        g114 = v51;
        uint32_t v52 = 256 * ((int32_t)v51 | v50); // 0x18000fa17
        g117 = v52;
        unsigned char v53 = *(char *)(g121 + 80); // 0x18000fa1a
        g114 = v53;
        uint32_t v54 = (int32_t)v53 | v52; // 0x18000fa1f
        g117 = v54;
        if (v54 == -0x21520113) {
            goto lab_0x18000fa34;
        } else {
            goto lab_0x18000fa29;
        }
    }
  lab_0x18000fa29:;
    int64_t v55 = *(int64_t *)(g116 + 16); // 0x18000fa29
    g114 = v55;
    *(int32_t *)(v55 + 72) = 2;
    goto lab_0x18000fa34;
  lab_0x18000fa34:
    // 0x18000fa34
    g119 = g108;
    int64_t v56 = g116; // 0x18000fa37
    g117 = v56;
    g114 = _3f_SetFlags_40_wxSocketBase_40__40_QEAAXH_40_Z(v56, g108);
    *(char *)(g116 + 34) = 0;
    int64_t v57 = g116; // 0x18000fa44
    int64_t v58 = *(int64_t *)(v57 + 16); // 0x18000fa44
    g117 = v58;
    if (v58 == 0) {
        // 0x18000fa6a
        g114 = v57;
    } else {
        // 0x18000fa4d
        if (*(int64_t *)(v58 + 8) == -1) {
            // 0x18000fa65
            g114 = v57;
        } else {
            // 0x18000fa54
            g112 = *(int64_t *)v58;
            g119 = 1;
            g114 = v57;
        }
    }
    int64_t v59 = *(int64_t *)(g121 + 0x2860) ^ g121; // 0x18000fa75
    g117 = v59;
    __security_check_cookie(v59);
    g114 = &g122;
    g120 = *(int64_t *)(g121 + 0x2880);
    g116 = *(int64_t *)(g121 + 0x2890);
    return &g122;
}
 
// Address range: 0x18000fa90 - 0x18000fb97
// Demangled:     public: wxSocketBase::Peek
int64_t _3f_Peek_40_wxSocketBase_40__40_QEAAAEAV1_40_PEAXI_40_Z(int64_t a1, int64_t a2, int64_t a3) {
    // 0x18000fa90
    g112 = a3;
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x18000fa9f
    int64_t v2 = g115; // 0x18000faa4
    int64_t v3 = g120; // 0x18000faa9
    g115 = g112;
    g120 = g119;
    int64_t v4 = g117; // 0x18000fab4
    g118 = v4;
    int64_t v5 = *(int64_t *)0x180019440; // 0x18000fabc
    g114 = v5;
    char * v6;
    char * v7;
    if (*(int64_t *)v5 != 0) {
        // 0x18000fac9
        if (*(char *)(v4 + 34) != 0) {
            // 0x18000facf
            g114 = (int64_t)"read reentrancy?";
            g112 = (int64_t)"wxSocketReadGuard::wxSocketReadGuard";
            g119 = 208;
            g117 = (int64_t)"..\\..\\src\\common\\socket.cpp";
            g114 = _3f_wxOnAssert_40__40_YAXPEBDH000_40_Z("..\\..\\src\\common\\socket.cpp", 208, "wxSocketReadGuard::wxSocketReadGuard", "!m_socket->m_reading");
            char * v8 = (char *)*(int64_t *)0x180019430; // 0x18000fb02
            if (*v8 != 0) {
                // 0x18000fb08
                *v8 = 0;
                g114 = __asm_int3();
                v6 = "!m_socket->m_reading";
            } else {
                v6 = "!m_socket->m_reading";
            }
        } else {
            v6 = v7;
        }
    } else {
        v6 = v7;
    }
    // 0x18000fb0d
    *(char *)(g118 + 34) = 1;
    int64_t v9 = g118; // 0x18000fb16
    g116 = (int64_t)*(int32_t *)(v9 + 28);
    g119 = 3;
    g117 = v9;
    g114 = _3f_SetFlags_40_wxSocketBase_40__40_QEAAXH_40_Z(v9, 3);
    int64_t v10 = g115; // 0x18000fb2b
    g112 = v10;
    int64_t v11 = g120; // 0x18000fb2e
    g119 = v11;
    int64_t v12 = g118; // 0x18000fb31
    g117 = v12;
    int64_t v13 = _3f_DoRead_40_wxSocketBase_40__40_AEAAIPEAXI_40_Z(v12, v11, v10, (int64_t)v6); // 0x18000fb34
    g114 = v13;
    *(int32_t *)(g118 + 40) = (int32_t)v13;
    int64_t v14 = g114; // 0x18000fb3c
    g112 = v14;
    int64_t v15 = g120; // 0x18000fb3f
    g119 = v15;
    int64_t v16 = g118; // 0x18000fb42
    g117 = v16;
    g114 = _3f_Pushback_40_wxSocketBase_40__40_AEAAXPEBXI_40_Z(v16, v15, v14);
    int64_t v17 = g116; // 0x18000fb4b
    g119 = v17;
    g117 = g118;
    g114 = _3f_SetFlags_40_wxSocketBase_40__40_QEAAXH_40_Z(g118, v17);
    *(char *)(g118 + 34) = 0;
    int64_t v18 = *(int64_t *)(g118 + 16); // 0x18000fb5a
    g117 = v18;
    if (v18 == 0) {
        // 0x18000fb7f
        g114 = g118;
        // 0x18000fb82
        g116 = v1;
        g115 = v2;
        g120 = v3;
        return g118;
    }
    // 0x18000fb63
    if (*(int64_t *)(v18 + 8) == -1) {
        // 0x18000fb7a
        g114 = g118;
    } else {
        // 0x18000fb6a
        g119 = 1;
        g114 = g118;
    }
    // 0x18000fb82
    g116 = v1;
    g115 = v2;
    g120 = v3;
    return g118;
}
 
// Address range: 0x18000fba0 - 0x18000fd7b
// Demangled:     private: wxSocketBase::DoWrite
int64_t _3f_DoWrite_40_wxSocketBase_40__40_AEAAIPEBXI_40_Z(int64_t a1, char * a2, int64_t a3) {
    // 0x18000fba0
    g112 = a3;
    int64_t v1 = (int64_t)a2;
    g119 = v1;
    g117 = a1;
    int64_t v2 = g116; // 0x18000fba0
    int64_t v3 = g115; // 0x18000fba5
    int64_t v4 = g118; // 0x18000fbaa
    int64_t v5 = g117; // 0x18000fbaf
    int64_t v6 = g112; // 0x18000fbb4
    g118 = v6;
    g115 = v1;
    g116 = v5;
    int64_t v7;
    int64_t v8; // 0x18000fbcc
    int64_t v9;
    int64_t v10; // 0x18000fbe0
    if (*(int64_t *)(v5 + 16) == 0) {
        int64_t v11 = *(int64_t *)0x180019440; // 0x18000fd1e
        g114 = v11;
        if (*(int64_t *)v11 == 0) {
            // 0x18000fd69
            g116 = v2;
            g115 = v3;
            g114 = 0;
            g118 = v4;
            return 0;
        }
        // 0x18000fd2b
        g114 = (int64_t)"socket must be valid";
        g113 = (int64_t)"m_impl";
        g112 = (int64_t)"wxSocketBase::DoWrite";
        g117 = (int64_t)"..\\..\\src\\common\\socket.cpp";
        g119 = 1150;
        v7 = _3f_wxOnAssert_40__40_YAXPEBDH000_40_Z("..\\..\\src\\common\\socket.cpp", 1150, "wxSocketBase::DoWrite", "m_impl");
        goto lab_0x18000fd62;
    } else {
        if (a2 == NULL) {
            int64_t v12 = *(int64_t *)0x180019440; // 0x18000fcd4
            g114 = v12;
            if (*(int64_t *)v12 == 0) {
                // 0x18000fd69
                g116 = v2;
                g115 = v3;
                g114 = 0;
                g118 = v4;
                return 0;
            }
            // 0x18000fce5
            g114 = (int64_t)"NULL buffer";
            g113 = (int64_t)"buffer";
            g112 = (int64_t)"wxSocketBase::DoWrite";
            g117 = (int64_t)"..\\..\\src\\common\\socket.cpp";
            g119 = 1153;
            v7 = _3f_wxOnAssert_40__40_YAXPEBDH000_40_Z("..\\..\\src\\common\\socket.cpp", 1153, "wxSocketBase::DoWrite", "buffer");
            goto lab_0x18000fd62;
        } else {
            // 0x18000fbcc
            v8 = g120;
            g120 = 0;
            if ((int32_t)v6 == 0) {
                goto lab_0x18000fcbd_2;
            } else {
                while (true) {
                    // 0x18000fbe0
                    v10 = *(int64_t *)(v5 + 16);
                    g117 = v10;
                    if (*(char *)(v10 + 76) != 0) {
                        // 0x18000fbea
                        if (*(char *)(v5 + 32) == 0) {
                            // break -> 0x18000fc8a
                            break;
                        }
                    }
                    // 0x18000fbf4
                    g112 = v6;
                    g119 = g115;
                    int64_t v13 = function_18000d7d0(v10); // 0x18000fbfa
                    g114 = v13;
                    int64_t v14; // 0x18000fc64
                    if ((int32_t)v13 != -1) {
                        // 0x18000fc5c
                        g120 = g120 + v13 & 0xffffffff;
                        if ((*(char *)(g116 + 28) & 8) == 0) {
                            goto lab_0x18000fcbd_2;
                        }
                        // 0x18000fc64
                        v14 = g118 - v13 & 0xffffffff;
                        g118 = v14;
                        g115 += v13;
                    } else {
                        int64_t v15 = g116; // 0x18000fc04
                        int64_t * v16 = (int64_t *)(v15 + 16); // 0x18000fc04
                        int64_t v17 = *v16; // 0x18000fc04
                        g117 = v17;
                        int64_t v18 = *(int64_t *)v17; // 0x18000fc08
                        g114 = v18;
                        if ((int32_t)v18 != 7) {
                            int64_t v19 = *v16; // 0x18000fcb2
                            g117 = v19;
                            *(int32_t *)(v19 + 72) = 2;
                            goto lab_0x18000fcbd_2;
                        }
                        // 0x18000fc17
                        if ((*(char *)(v15 + 28) & 2) != 0) {
                            goto lab_0x18000fcbd_2;
                        }
                        int64_t v20 = v18 - 5; // 0x18000fc24
                        g112 = v20;
                        g117 = v15;
                        int64_t v21 = 1000 * (int64_t)*(int32_t *)(v15 + 52); // 0x18000fc2b
                        g119 = v21;
                        int64_t v22 = _3f_DoWait_40_wxSocketBase_40__40_AEAAHJH_40_Z(v15, v21, v20); // 0x18000fc31
                        g114 = v22;
                        if ((int32_t)v22 == 0) {
                            // 0x18000fc3a
                            *(int32_t *)(*(int64_t *)(g116 + 16) + 72) = 8;
                            int64_t result = g120; // 0x18000fc45
                            g114 = result;
                            g120 = v8;
                            g116 = v2;
                            g115 = v3;
                            g118 = v4;
                            return result;
                        }
                        // 0x18000fc21
                        v14 = g118;
                    }
                    if ((int32_t)v14 == 0) {
                        int64_t result2 = g120; // 0x18000fc73
                        g114 = result2;
                        g120 = v8;
                        g116 = v2;
                        g115 = v3;
                        g118 = v4;
                        return result2;
                    }
                    // 0x18000fc6b
                    v6 = v14;
                    v5 = g116;
                }
                // 0x18000fc8a
                v9 = g120;
                if ((*(char *)(v5 + 28) & 8) != 0) {
                    goto lab_0x18000fc94;
                } else {
                    if ((int32_t)v9 != 0) {
                        goto lab_0x18000fcbd_2;
                    } else {
                        goto lab_0x18000fc94;
                    }
                }
            }
        }
    }
  lab_0x18000fcbd_2:;
    int64_t result3 = g120; // 0x18000fcbd
    g114 = result3;
    g120 = v8;
    g116 = v2;
    g115 = v3;
    g118 = v4;
    return result3;
  lab_0x18000fd62:
    // 0x18000fd62
    g114 = v7;
    char * v23 = (char *)*(int64_t *)0x180019430;
    if (*v23 != 0) {
        // 0x18000fd64
        *v23 = 0;
        g114 = __asm_int3();
    }
    // 0x18000fd69
    g116 = v2;
    g115 = v3;
    g114 = 0;
    g118 = v4;
    return 0;
  lab_0x18000fc94:
    // 0x18000fc94
    g114 = v9;
    g120 = v8;
    *(int32_t *)(v10 + 72) = 2;
    g116 = v2;
    g115 = v3;
    g118 = v4;
    return g114;
}
 
// Address range: 0x18000fd80 - 0x18000ff2c
// Demangled:     public: wxSocketBase::WriteMsg
int64_t _3f_WriteMsg_40_wxSocketBase_40__40_QEAAAEAV1_40_PEBXI_40_Z(int64_t a1, int64_t a2, int64_t a3) {
    // 0x18000fd80
    g112 = a3;
    g119 = a2;
    g117 = a1;
    int64_t v1 = g120; // 0x18000fd82
    int64_t v2 = g116; // 0x18000fd91
    int64_t v3; // bp-120
    int64_t v4 = g61 ^ (int64_t)&v3; // 0x18000fda0
    g114 = v4;
    g118 = g112;
    g120 = g119;
    int64_t v5 = g117; // 0x18000fdae
    g116 = v5;
    int64_t v6 = *(int64_t *)0x180019440; // 0x18000fdb6
    g114 = v6;
    if (*(int64_t *)v6 != 0) {
        // 0x18000fdc3
        if (*(char *)(v5 + 35) != 0) {
            // 0x18000fdc9
            g114 = (int64_t)"write reentrancy?";
            g112 = (int64_t)"wxSocketWriteGuard::wxSocketWriteGuard";
            g119 = 236;
            g117 = (int64_t)"..\\..\\src\\common\\socket.cpp";
            g114 = _3f_wxOnAssert_40__40_YAXPEBDH000_40_Z("..\\..\\src\\common\\socket.cpp", 236, "wxSocketWriteGuard::wxSocketWriteGuard", "!m_socket->m_writing");
            char * v7 = (char *)*(int64_t *)0x180019430; // 0x18000fdfc
            if (*v7 != 0) {
                // 0x18000fe02
                *v7 = 0;
                g114 = __asm_int3();
            }
        }
    }
    // 0x18000fe07
    *(char *)(g116 + 35) = 1;
    int64_t v8 = g116; // 0x18000fe10
    uint32_t v9 = *(int32_t *)(v8 + 28); // 0x18000fe10
    g115 = v9;
    int64_t v10 = v9 & 16 | 8; // 0x18000fe1c
    g119 = v10;
    g117 = v8;
    _3f_SetFlags_40_wxSocketBase_40__40_QEAAXH_40_Z(v8, v10);
    char v11 = -83; // bp-40
    g114 = (int32_t)g118 / 0x1000000;
    g112 = 8;
    int64_t v12 = &v11; // 0x18000fe62
    g119 = v12;
    int64_t v13 = g116; // 0x18000fe67
    g117 = v13;
    int64_t v14 = _3f_DoWrite_40_wxSocketBase_40__40_AEAAIPEBXI_40_Z(v13, &v11, 8); // 0x18000fe6a
    g114 = v14;
    if ((int32_t)v14 != 8) {
        goto lab_0x18000fecc;
    } else {
        int64_t v15 = g118; // 0x18000fe74
        g112 = v15;
        int64_t v16 = g120; // 0x18000fe77
        g119 = v16;
        int64_t v17 = g116; // 0x18000fe7a
        g117 = v17;
        int64_t v18 = _3f_DoWrite_40_wxSocketBase_40__40_AEAAIPEBXI_40_Z(v17, (char *)v16, v15); // 0x18000fe7d
        g114 = v18;
        *(int32_t *)(g116 + 48) = (int32_t)v18;
        *(int32_t *)(g116 + 40) = (int32_t)g114;
        if ((int32_t)g114 != (int32_t)g118) {
            goto lab_0x18000fecc;
        } else {
            // 0x18000fe8c
            v11 = -19;
            g112 = 8;
            g119 = v12;
            int64_t v19 = g116; // 0x18000febf
            g117 = v19;
            int64_t v20 = _3f_DoWrite_40_wxSocketBase_40__40_AEAAIPEBXI_40_Z(v19, &v11, 8); // 0x18000fec2
            g114 = v20;
            if ((int32_t)v20 == 8) {
                goto lab_0x18000fed7;
            } else {
                goto lab_0x18000fecc;
            }
        }
    }
  lab_0x18000fecc:;
    int64_t v21 = *(int64_t *)(g116 + 16); // 0x18000fecc
    g114 = v21;
    *(int32_t *)(v21 + 72) = 2;
    goto lab_0x18000fed7;
  lab_0x18000fed7:
    // 0x18000fed7
    g119 = g115;
    int64_t v22 = g116; // 0x18000fed9
    g117 = v22;
    g114 = _3f_SetFlags_40_wxSocketBase_40__40_QEAAXH_40_Z(v22, g115);
    *(char *)(g116 + 35) = 0;
    int64_t v23 = g116; // 0x18000fee6
    int64_t v24 = *(int64_t *)(v23 + 16); // 0x18000fee6
    g117 = v24;
    if (v24 == 0) {
        // 0x18000ff0c
        g114 = v23;
    } else {
        // 0x18000feef
        if (*(int64_t *)(v24 + 8) == -1) {
            // 0x18000ff07
            g114 = v23;
        } else {
            // 0x18000fef6
            g112 = *(int64_t *)v24;
            g119 = 2;
            g114 = v23;
        }
    }
    int64_t v25 = g121 ^ v4; // 0x18000ff14
    g117 = v25;
    __security_check_cookie(v25);
    g114 = &g122;
    g116 = v2;
    g120 = v1;
    return &g122;
}
 
// Address range: 0x18000ff30 - 0x18001004d
// Demangled:     public: wxSocketBase::Discard
int64_t _3f_Discard_40_wxSocketBase_40__40_QEAAAEAV1_40_XZ(int64_t a1) {
    // 0x18000ff30
    g117 = a1;
    int64_t v1 = g116; // 0x18000ff3f
    int64_t v2 = g120; // 0x18000ff49
    g116 = g117;
    g117 = 0x2800;
    int64_t v3 = function_180013108(0x2800); // 0x18000ff56
    g114 = v3;
    g120 = v3;
    g118 = 0;
    int64_t v4 = *(int64_t *)0x180019440; // 0x18000ff65
    g119 = v4;
    char * v5;
    char * v6;
    if (*(int64_t *)v4 != 0) {
        // 0x18000ff71
        if (*(char *)(g116 + 34) != 0) {
            // 0x18000ff77
            g114 = (int64_t)"read reentrancy?";
            g112 = (int64_t)"wxSocketReadGuard::wxSocketReadGuard";
            g119 = 208;
            g117 = (int64_t)"..\\..\\src\\common\\socket.cpp";
            g114 = _3f_wxOnAssert_40__40_YAXPEBDH000_40_Z("..\\..\\src\\common\\socket.cpp", 208, "wxSocketReadGuard::wxSocketReadGuard", "!m_socket->m_reading");
            char * v7 = (char *)*(int64_t *)0x180019430; // 0x18000ffaa
            char v8 = g118; // 0x18000ffaa
            if (*v7 != v8) {
                // 0x18000ffaf
                *v7 = v8;
                g114 = __asm_int3();
                v5 = "!m_socket->m_reading";
            } else {
                v5 = "!m_socket->m_reading";
            }
        } else {
            v5 = v6;
        }
    } else {
        v5 = v6;
    }
    // 0x18000ffb3
    *(char *)(g116 + 34) = 1;
    int64_t v9 = g116; // 0x18000ffbc
    g115 = (int64_t)*(int32_t *)(v9 + 28);
    g119 = 3;
    g117 = v9;
    g114 = _3f_SetFlags_40_wxSocketBase_40__40_QEAAXH_40_Z(v9, 3);
    g112 = 0x2800;
    int64_t v10 = g120; // 0x18000ffd7
    g119 = v10;
    int64_t v11 = g116; // 0x18000ffda
    g117 = v11;
    int64_t v12 = _3f_DoRead_40_wxSocketBase_40__40_AEAAIPEAXI_40_Z(v11, v10, 0x2800, (int64_t)v5); // 0x18000ffdd
    g114 = v12;
    g118 = g118 + v12 & 0xffffffff;
    while ((int32_t)v12 == 0x2800) {
        // 0x18000ffd1
        g112 = 0x2800;
        v10 = g120;
        g119 = v10;
        v11 = g116;
        g117 = v11;
        v12 = _3f_DoRead_40_wxSocketBase_40__40_AEAAIPEAXI_40_Z(v11, v10, 0x2800, (int64_t)v5);
        g114 = v12;
        g118 = g118 + v12 & 0xffffffff;
    }
    int64_t v13 = g120; // 0x18000ffeb
    g117 = v13;
    g114 = function_180013114(v13);
    *(int32_t *)(g116 + 40) = (int32_t)g118;
    int64_t v14 = *(int64_t *)(g116 + 16); // 0x18000fff6
    g114 = v14;
    *(int32_t *)(v14 + 72) = 0;
    g119 = g115;
    int64_t v15 = g116; // 0x180010003
    g117 = v15;
    g114 = _3f_SetFlags_40_wxSocketBase_40__40_QEAAXH_40_Z(v15, g115);
    *(char *)(g116 + 34) = 0;
    int64_t result = g116; // 0x180010010
    int64_t v16 = *(int64_t *)(result + 16); // 0x180010010
    g117 = v16;
    if (v16 == 0) {
        // 0x180010035
        g114 = result;
    } else {
        // 0x180010019
        if (*(int64_t *)(v16 + 8) == -1) {
            // 0x180010030
            g114 = result;
        } else {
            // 0x180010020
            g119 = 1;
            g114 = result;
        }
    }
    // 0x180010038
    g116 = v1;
    g120 = v2;
    return result;
}
 
// Address range: 0x180010050 - 0x180010077
// Demangled:     private: wxSocketBase::DoWait
int64_t _3f_DoWait_40_wxSocketBase_40__40_AEAAHJJH_40_Z(int64_t a1, int64_t a2, int64_t a3, int64_t a4) {
    // 0x180010050
    g112 = a3;
    g119 = a2;
    g117 = a1;
    if ((int32_t)a2 != -1) {
        int64_t v1 = 1000 * a2 + a3 & 0xffffffff; // 0x18001006c
        g119 = v1;
        g112 = a4;
        int64_t result = _3f_DoWait_40_wxSocketBase_40__40_AEAAHJH_40_Z(a1, v1, a4); // 0x180010072
        g114 = result;
        return result;
    }
    // 0x180010055
    g112 = a4;
    int64_t v2 = 1000 * (int64_t)*(int32_t *)(a1 + 52); // 0x18001005b
    g119 = v2;
    int64_t result2 = _3f_DoWait_40_wxSocketBase_40__40_AEAAHJH_40_Z(a1, v2, a4); // 0x180010061
    g114 = result2;
    return result2;
}
 
// Address range: 0x180010080 - 0x1800100b2
// Demangled:     public: wxSocketBase::Wait
int64_t _3f_Wait_40_wxSocketBase_40__40_QEAA_NJJ_40_Z(int64_t a1, int64_t a2, int64_t a3) {
    // 0x180010080
    g112 = a3;
    g119 = a2;
    g117 = a1;
    int64_t v1 = g119; // 0x180010084
    int64_t v2;
    if ((int32_t)v1 != -1) {
        // 0x180010094
        v2 = g112 + 1000 * v1 & 0xffffffff;
    } else {
        // 0x180010089
        v2 = 1000 * (int64_t)*(int32_t *)(a1 + 52);
    }
    // 0x18001009d
    g119 = v2;
    g112 = 7;
    int64_t v3 = _3f_DoWait_40_wxSocketBase_40__40_AEAAHJH_40_Z(a1, v2, 7); // 0x1800100a3
    int64_t result = (int64_t)((int32_t)v3 != 0) | v3 & -256; // 0x1800100aa
    g114 = result;
    return result;
}
 
// Address range: 0x1800100c0 - 0x180010144
// Demangled:     public: wxSocketBase::WaitForRead
int64_t _3f_WaitForRead_40_wxSocketBase_40__40_QEAA_NJJ_40_Z(int64_t a1, int32_t a2, int32_t a3) {
    // 0x1800100c0
    g112 = a3;
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x1800100c0
    int64_t v2 = g120; // 0x1800100c5
    int64_t v3 = g118; // 0x1800100ca
    int64_t v4 = g117; // 0x1800100cf
    g120 = g112;
    g116 = g119;
    g118 = v4;
    int64_t v5; // 0x1800100fe
    if (*(int64_t *)(v4 + 192) == 0) {
        int64_t v6 = *(int64_t *)(v4 + 16); // 0x1800100f3
        g117 = v6;
        g112 = 0;
        g119 = 1;
        v5 = function_18000d8f0(v6, 1, 0);
        g114 = v5;
        if ((int32_t)v5 == 0) {
            int64_t v7 = g116; // 0x180010107
            int64_t v8; // 0x180010127
            int64_t v9; // 0x18001011d
            if ((int32_t)v7 != -1) {
                // 0x180010117
                v9 = g120 + 1000 * v7 & 0xffffffff;
                g116 = v9;
                v8 = g118;
            } else {
                int64_t v10 = g118; // 0x18001010c
                int64_t v11 = 1000 * (int64_t)*(int32_t *)(v10 + 52); // 0x18001010f
                g116 = v11;
                v8 = v10;
                v9 = v11;
            }
            // 0x18001011f
            g112 = 1;
            g119 = v9;
            g117 = v8;
            int64_t v12 = _3f_DoWait_40_wxSocketBase_40__40_AEAAHJH_40_Z(v8, 0x100000000 * v9 / 0x100000000, 1); // 0x18001012a
            g116 = v1;
            g120 = v2;
            int64_t result = (int64_t)((int32_t)v12 != 0) | v12 & -256; // 0x18001013b
            g114 = result;
            g118 = v3;
            return result;
        }
    } else {
        // 0x1800100c0
        v5 = g114;
    }
    int64_t result2 = v5 & -256 | 1; // 0x1800100e1
    g114 = result2;
    g116 = v1;
    g120 = v2;
    g118 = v3;
    return result2;
}
 
// Address range: 0x180010150 - 0x1800101ca
// Demangled:     public: wxSocketBase::WaitForWrite
int64_t _3f_WaitForWrite_40_wxSocketBase_40__40_QEAA_NJJ_40_Z(int64_t a1, int64_t a2, int64_t a3) {
    // 0x180010150
    g112 = a3;
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x180010150
    int64_t v2 = g120; // 0x180010155
    g120 = g112;
    g112 = 0;
    int64_t v3 = g117; // 0x180010165
    g118 = v3;
    int64_t v4 = *(int64_t *)(v3 + 16); // 0x180010168
    g117 = v4;
    g116 = g119;
    g119 = 2;
    int64_t v5 = function_18000d8f0(v4, 2, 0); // 0x180010172
    g114 = v5;
    if ((int32_t)v5 != 0) {
        int64_t result = v5 & -256 | 1; // 0x18001017b
        g114 = result;
        g116 = v1;
        g120 = v2;
        return result;
    }
    int64_t v6 = g116; // 0x18001018d
    int64_t v7; // 0x1800101ad
    int64_t v8; // 0x1800101a3
    if ((int32_t)v6 != -1) {
        // 0x18001019d
        v8 = g120 + 1000 * v6 & 0xffffffff;
        g116 = v8;
        v7 = g118;
    } else {
        int64_t v9 = g118; // 0x180010192
        int64_t v10 = 1000 * (int64_t)*(int32_t *)(v9 + 52); // 0x180010195
        g116 = v10;
        v7 = v9;
        v8 = v10;
    }
    // 0x1800101a5
    g112 = 2;
    g119 = v8;
    g117 = v7;
    int64_t v11 = _3f_DoWait_40_wxSocketBase_40__40_AEAAHJH_40_Z(v7, v8, 2); // 0x1800101b0
    g116 = v1;
    g120 = v2;
    int64_t result2 = (int64_t)((int32_t)v11 != 0) | v11 & -256; // 0x1800101c1
    g114 = result2;
    return result2;
}
 
// Address range: 0x1800101d0 - 0x180010203
// Demangled:     public: wxSocketBase::WaitForLost
int64_t _3f_WaitForLost_40_wxSocketBase_40__40_QEAA_NJJ_40_Z(int64_t a1, int64_t a2, int64_t a3) {
    // 0x1800101d0
    g112 = a3;
    g119 = a2;
    g117 = a1;
    int64_t v1 = g119; // 0x1800101d4
    int64_t v2;
    if ((int32_t)v1 != -1) {
        // 0x1800101e4
        v2 = g112 + 1000 * v1 & 0xffffffff;
    } else {
        // 0x1800101d9
        v2 = 1000 * (int64_t)*(int32_t *)(a1 + 52);
    }
    // 0x1800101ed
    g119 = v2;
    g112 = 8;
    int64_t v3 = _3f_DoWait_40_wxSocketBase_40__40_AEAAHJH_40_Z(a1, v2, 8); // 0x1800101f3
    int64_t result = (int64_t)((int32_t)v3 == -1) | v3 & -256; // 0x1800101fb
    g114 = result;
    return result;
}
 
// Address range: 0x180010210 - 0x18001031b
// Demangled:     public: wxSocketServer::AcceptWith
int64_t _3f_AcceptWith_40_wxSocketServer_40__40_QEAA_NAEAVwxSocketBase_40__40__N_40_Z(int64_t a1, int64_t a2, int64_t a3) {
    // 0x180010210
    g112 = a3;
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x180010210
    int64_t v2 = g117; // 0x18001021a
    g116 = v2;
    int64_t v3 = *(int64_t *)(v2 + 16); // 0x18001021d
    g117 = v3;
    int64_t v4 = g119; // 0x180010221
    g118 = v4;
    if (v3 != 0) {
        // 0x18001022d
        if (*(int64_t *)(v3 + 8) != -1) {
            // 0x180010238
            if (*(char *)(v3 + 92) != 0) {
                // 0x18001023e
                int64_t v5;
                int64_t v6; // 0x180010271
                if ((char)g112 != 0) {
                    int64_t v7 = v3 + 84; // 0x180010243
                    g112 = v7;
                    g119 = 1;
                    int64_t v8 = function_18000d8f0(v3, 1, v7); // 0x18001024c
                    g114 = v8;
                    v5 = g116;
                    if ((int32_t)v8 == 0) {
                        int64_t v9 = *(int64_t *)(v5 + 16); // 0x180010255
                        g114 = v9;
                        *(int32_t *)(v9 + 72) = 8;
                        int64_t result = g114 & -256; // 0x180010260
                        g114 = result;
                        g116 = v1;
                        return result;
                    }
                    // 0x180010243
                    v6 = g118;
                } else {
                    v6 = v4;
                    v5 = v2;
                }
                int64_t v10 = *(int64_t *)(v5 + 16); // 0x18001026d
                g117 = v10;
                g119 = v6;
                int64_t v11 = function_18000f1b0(v10, v6); // 0x180010274
                g114 = v11;
                *(int64_t *)(g118 + 16) = v11;
                if (v11 != 0) {
                    // 0x1800102a0
                    *(int32_t *)(g118 + 24) = 3;
                    *(char *)(g118 + 32) = 1;
                    int64_t result2 = v11 & -256 | 1; // 0x1800102ab
                    g114 = result2;
                    g116 = v1;
                    return result2;
                }
                int64_t * v12 = (int64_t *)(g116 + 16); // 0x180010282
                int64_t v13 = *v12; // 0x180010282
                g117 = v13;
                int64_t v14 = *(int64_t *)v13; // 0x180010286
                g114 = v14;
                int64_t v15 = *v12; // 0x18001028c
                g117 = v15;
                *(int32_t *)(v15 + 72) = (int32_t)v14;
                int64_t result3 = g114 & -256; // 0x180010293
                g114 = result3;
                g116 = v1;
                return result3;
            }
        }
    }
    int64_t v16 = *(int64_t *)0x180019440; // 0x1800102b8
    g114 = v16;
    if (*(int64_t *)v16 != 0) {
        // 0x1800102c5
        g114 = (int64_t)"can only be called for a valid server socket";
        g112 = (int64_t)"wxSocketServer::AcceptWith";
        g117 = (int64_t)"..\\..\\src\\common\\socket.cpp";
        g119 = 1861;
        g114 = _3f_wxOnAssert_40__40_YAXPEBDH000_40_Z("..\\..\\src\\common\\socket.cpp", 1861, "wxSocketServer::AcceptWith", "Assert failure");
        char * v17 = (char *)*(int64_t *)0x180019430; // 0x1800102f8
        if (*v17 != 0) {
            // 0x1800102fe
            *v17 = 0;
            g114 = __asm_int3();
        }
    }
    int64_t v18 = *(int64_t *)(g116 + 16); // 0x180010303
    g114 = v18;
    g116 = v1;
    *(int32_t *)(v18 + 72) = 4;
    int64_t result4 = g114 & -256; // 0x180010313
    g114 = result4;
    return result4;
}
 
// Address range: 0x180010320 - 0x180010353
// Demangled:     public: wxSocketServer::WaitForAccept
int64_t _3f_WaitForAccept_40_wxSocketServer_40__40_QEAA_NJJ_40_Z(int64_t a1, int32_t a2, int32_t a3) {
    // 0x180010320
    g112 = a3;
    g119 = a2;
    g117 = a1;
    int64_t v1 = g119; // 0x180010324
    int64_t v2;
    if ((int32_t)v1 != -1) {
        // 0x180010334
        v2 = g112 + 1000 * v1 & 0xffffffff;
    } else {
        // 0x180010329
        v2 = 1000 * (int64_t)*(int32_t *)(a1 + 52);
    }
    // 0x18001033d
    g119 = v2;
    g112 = 4;
    int64_t v3 = _3f_DoWait_40_wxSocketBase_40__40_AEAAHJH_40_Z(a1, v2, 4); // 0x180010343
    int64_t result = (int64_t)((int32_t)v3 == 1) | v3 & -256; // 0x18001034b
    g114 = result;
    return result;
}
 
// Address range: 0x180010360 - 0x1800104ff
// Demangled:     private: virtual wxSocketClient::DoConnect
int64_t _3f_DoConnect_40_wxSocketClient_40__40_EEAA_NAEBVwxSockAddress_40__40_PEBV2_40__N_40_Z(int64_t a1, int64_t a2, int64_t a3, int64_t a4) {
    // 0x180010360
    g112 = a3;
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x180010360
    int64_t v2 = g120; // 0x18001036a
    int64_t v3 = g117; // 0x180010374
    int64_t * v4 = (int64_t *)(v3 + 16); // 0x180010374
    g115 = a4;
    g118 = a3;
    g120 = g119;
    g116 = v3;
    if (*v4 != 0) {
        // 0x180010388
        g114 = v3;
        int64_t v5 = *v4; // 0x18001038e
        g117 = v5;
        if (v5 != 0) {
            // 0x180010397
            g114 = *(int64_t *)v5;
            g119 = 1;
        }
    }
    // 0x1800103a1
    *(char *)(v3 + 32) = 0;
    *(char *)(g116 + 33) = 0;
    int64_t v6 = g81; // 0x1800103a9
    g117 = v6;
    int64_t v7; // 0x1800103c6
    int64_t v8; // 0x1800103c6
    if (v6 != 0) {
        v7 = v6;
        goto lab_0x1800103c6;
    } else {
        // 0x1800103b5
        g114 = function_18000e3f0(v6, g119, a3);
        g117 = g81;
        if (g81 == 0) {
            // 0x1800103d1
            g114 = 0;
            v8 = 0;
            goto lab_0x1800103d3;
        } else {
            v7 = g81;
            goto lab_0x1800103c6;
        }
    }
  lab_0x1800103c6:
    // 0x1800103c6
    v8 = *(int64_t *)v7;
    g114 = v8;
    int64_t v9 = g116; // 0x1800103c9
    g119 = v9;
    g116 = v9;
    goto lab_0x1800103d3;
  lab_0x1800103d3:
    // 0x1800103d3
    *(int64_t *)(g116 + 16) = v8;
    int64_t v10 = g114; // 0x1800103d7
    int64_t result;
    int64_t v11; // 0x18001041f
    int64_t v12;
    int64_t v13; // 0x180010436
    if (v10 == 0) {
        // 0x1800104e0
        result = 0;
        goto lab_0x1800104ea;
    } else {
        int64_t v14 = g116; // 0x1800103e0
        int64_t v15; // 0x1800103f0
        if ((*(char *)(v14 + 28) & 32) != 0) {
            // 0x1800103e6
            *(char *)(v10 + 78) = 1;
            v15 = g116;
        } else {
            v15 = v14;
        }
        // 0x1800103ea
        int64_t v16; // 0x1800103fe
        if ((*(char *)(v15 + 28) & 64) != 0) {
            int64_t v17 = *(int64_t *)(v15 + 16); // 0x1800103f0
            g114 = v17;
            *(char *)(v17 + 79) = 1;
            v16 = g116;
        } else {
            v16 = v15;
        }
        // 0x1800103f8
        if (*(char *)(v16 + 28) <= 255) {
            int64_t v18 = *(int64_t *)(v16 + 16); // 0x1800103fe
            g114 = v18;
            *(char *)(v18 + 80) = 0;
            v12 = g116;
        } else {
            v12 = v16;
        }
        int64_t v19 = g118; // 0x180010406
        if (v19 != 0) {
            v11 = v19;
            goto lab_0x18001041f;
        } else {
            int64_t v20 = *(int64_t *)(v12 + 128); // 0x18001040b
            g114 = v20;
            if (*(int32_t *)v20 == (int32_t)v19) {
                v13 = v12;
                goto lab_0x18001042c;
            } else {
                int64_t v21 = v12 + 112; // 0x180010416
                g118 = v21;
                if (v21 == 0) {
                    v13 = v12;
                    goto lab_0x18001042c;
                } else {
                    v11 = v21;
                    goto lab_0x18001041f;
                }
            }
        }
    }
  lab_0x1800104ea:
    // 0x1800104ea
    g114 = result;
    g116 = v1;
    g120 = v2;
    return result;
  lab_0x18001041f:;
    int64_t v22 = *(int64_t *)(v11 + 16); // 0x18001041f
    g119 = v22;
    int64_t v23 = *(int64_t *)(v12 + 16); // 0x180010423
    g117 = v23;
    g114 = function_18000e9b0(v23, v22);
    v13 = g116;
    goto lab_0x18001042c;
  lab_0x18001042c:;
    int64_t v24 = *(int64_t *)(v13 + 16); // 0x18001042c
    g117 = v24;
    g119 = (int64_t)*(int32_t *)(v13 + 252);
    uint32_t v25 = *(int32_t *)(v13 + 248); // 0x180010436
    g114 = v25;
    *(int32_t *)(v24 + 16) = v25;
    *(int32_t *)(g117 + 20) = (int32_t)g119;
    int64_t v26 = *(int64_t *)(g120 + 16); // 0x180010442
    g120 = v26;
    int64_t v27 = *(int64_t *)(g116 + 16); // 0x180010449
    g118 = v27;
    if (*(int32_t *)v26 != 0) {
        int64_t v28 = v27 + 48; // 0x180010458
        g118 = v28;
        if (v28 != v26) {
            int64_t v29 = *(int64_t *)(v27 + 56); // 0x180010461
            g117 = v29;
            free((int64_t *)v29);
            g114 = &g122;
            int64_t v30 = g120; // 0x18001046b
            g119 = v30;
            int64_t v31 = g118; // 0x18001046e
            g117 = v31;
            g114 = function_1800095e0(v31, v30);
        }
    } else {
        // 0x18001044f
        *(int32_t *)(v27 + 72) = 3;
    }
    int64_t v32 = *(int64_t *)(g116 + 16); // 0x180010476
    g117 = v32;
    int64_t v33 = g115; // 0x18001047a
    g119 = v33;
    int64_t v34 = function_18000e7c0(v32, v33, a3); // 0x18001047e
    g114 = v34;
    int32_t v35 = v34; // 0x180010483
    if (v35 == 0) {
        // 0x1800104e4
        *(char *)(g116 + 32) = 1;
        result = g114 & -256 | 1;
        goto lab_0x1800104ea;
    } else {
        int64_t v36; // 0x1800104e0
        if (v35 == 7) {
            int64_t v37 = *(int64_t *)0x180019440; // 0x18001048c
            g114 = v37;
            if (*(int64_t *)v37 != 0) {
                // 0x180010499
                if ((char)g115 != 0) {
                    // 0x18001049e
                    g114 = (int64_t)"shouldn't get this for blocking connect";
                    g112 = (int64_t)"wxSocketClient::DoConnect";
                    g117 = (int64_t)"..\\..\\src\\common\\socket.cpp";
                    g119 = 2018;
                    g114 = _3f_wxOnAssert_40__40_YAXPEBDH000_40_Z("..\\..\\src\\common\\socket.cpp", 2018, "wxSocketClient::DoConnect", "!wait");
                    char * v38 = (char *)*(int64_t *)0x180019430; // 0x1800104d1
                    if (*v38 != 0) {
                        // 0x1800104d7
                        *v38 = 0;
                        g114 = __asm_int3();
                    }
                }
            }
            // 0x1800104dc
            *(char *)(g116 + 33) = 1;
            v36 = g114;
        } else {
            v36 = v34;
        }
        // 0x1800104e0
        result = v36 & -256;
        goto lab_0x1800104ea;
    }
}
 
// Address range: 0x180010500 - 0x18001059e
// Demangled:     public: wxSocketClient::WaitOnConnect
int64_t _3f_WaitOnConnect_40_wxSocketClient_40__40_QEAA_NJJ_40_Z(int64_t a1, int64_t a2, int64_t a3) {
    // 0x180010500
    g112 = a3;
    g119 = a2;
    g117 = a1;
    if (*(char *)(a1 + 32) != 0) {
        int64_t result = g114 & -256 | 1; // 0x18001050a
        g114 = result;
        return result;
    }
    // 0x180010511
    if (*(char *)(a1 + 33) != 0) {
        // 0x180010517
        if (*(int64_t *)(a1 + 16) != 0) {
            int64_t v1 = g119; // 0x18001051e
            int64_t v2;
            if ((int32_t)v1 != -1) {
                // 0x18001052e
                v2 = g112 + 1000 * v1 & 0xffffffff;
            } else {
                // 0x180010523
                v2 = 1000 * (int64_t)*(int32_t *)(a1 + 52);
            }
            // 0x180010537
            g119 = v2;
            g112 = 4;
            int64_t v3 = _3f_DoWait_40_wxSocketBase_40__40_AEAAHJH_40_Z(a1, v2, 4); // 0x18001053d
            int64_t result2 = (int64_t)((int32_t)v3 != 0) | v3 & -256; // 0x180010544
            g114 = result2;
            return result2;
        }
    }
    int64_t v4 = *(int64_t *)0x180019440; // 0x18001054c
    g114 = v4;
    int64_t result3; // 0x180010597
    if (*(int64_t *)v4 == 0) {
        // 0x180010597
        result3 = v4 & -256;
        g114 = result3;
        return result3;
    }
    // 0x180010559
    g114 = (int64_t)"No connection establishment attempt in progress";
    g112 = (int64_t)"wxSocketClient::WaitOnConnect";
    g117 = (int64_t)"..\\..\\src\\common\\socket.cpp";
    g119 = 2052;
    int64_t v5 = _3f_wxOnAssert_40__40_YAXPEBDH000_40_Z("..\\..\\src\\common\\socket.cpp", 2052, "wxSocketClient::WaitOnConnect", "m_establishing && m_impl"); // 0x18001057f
    g114 = v5;
    char * v6 = (char *)*(int64_t *)0x180019430; // 0x18001058c
    int64_t v7; // 0x180010596
    if (*v6 != 0) {
        // 0x180010592
        *v6 = 0;
        v7 = __asm_int3();
        g114 = v7;
    } else {
        v7 = v5;
    }
    // 0x180010597
    result3 = v7 & -256;
    g114 = result3;
    return result3;
}
 
// Address range: 0x1800105a0 - 0x1800105b7
int64_t function_1800105a0(void) {
    int64_t v1 = _3f_IsInitialized_40_wxSocketBase_40__40_SA_NXZ(); // 0x1800105a4
    g114 = v1;
    int64_t result; // 0x1800105ad
    if ((char)v1 != 0) {
        // 0x1800105ad
        result = _3f_Shutdown_40_wxSocketBase_40__40_SAXXZ();
        g114 = result;
    } else {
        result = v1;
    }
    // 0x1800105b2
    return result;
}
 
// Address range: 0x1800105c0 - 0x180010632
int64_t function_1800105c0(int64_t a1, int64_t a2) {
    // 0x1800105c0
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x1800105c0
    int64_t v2 = g120; // 0x1800105c5
    int64_t v3 = g119; // 0x1800105ca
    g120 = v3;
    g116 = a1;
    if ((v3 & 2) == 0) {
        // 0x180010611
        g114 = _3f__3f_1wxSocketBase_40__40_UEAA_40_XZ(a1);
        if ((g120 & 1) != 0) {
            int64_t v4 = g116; // 0x18001061c
            g117 = v4;
            g114 = function_18001310e(v4);
        }
        int64_t result = g116; // 0x180010624
        g114 = result;
        g116 = v1;
        g120 = v2;
        return result;
    }
    uint32_t v5 = *(int32_t *)(a1 - 8); // 0x1800105d4
    g112 = v5;
    g119 = 248;
    g114 = function_180013168(a1, 248, v5, 0x18000f580);
    if ((g120 & 1) != 0) {
        int64_t v6 = g116 - 8; // 0x1800105f4
        g117 = v6;
        g114 = function_180013114(v6);
    }
    int64_t result2 = g116 - 8; // 0x1800105fd
    g114 = result2;
    g116 = v1;
    g120 = v2;
    return result2;
}
 
// Address range: 0x180010640 - 0x1800106b2
int64_t function_180010640(int64_t a1, int64_t a2) {
    // 0x180010640
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x180010640
    int64_t v2 = g120; // 0x180010645
    int64_t v3 = g119; // 0x18001064a
    g120 = v3;
    g116 = a1;
    if ((v3 & 2) == 0) {
        // 0x180010691
        g114 = _3f__3f_1wxSocketBase_40__40_UEAA_40_XZ(a1);
        if ((g120 & 1) != 0) {
            int64_t v4 = g116; // 0x18001069c
            g117 = v4;
            g114 = function_18001310e(v4);
        }
        int64_t result = g116; // 0x1800106a4
        g114 = result;
        g116 = v1;
        g120 = v2;
        return result;
    }
    uint32_t v5 = *(int32_t *)(a1 - 8); // 0x180010654
    g112 = v5;
    g119 = 248;
    g114 = function_180013168(a1, 248, v5, 0x180001480);
    if ((g120 & 1) != 0) {
        int64_t v6 = g116 - 8; // 0x180010674
        g117 = v6;
        g114 = function_180013114(v6);
    }
    int64_t result2 = g116 - 8; // 0x18001067d
    g114 = result2;
    g116 = v1;
    g120 = v2;
    return result2;
}
 
// Address range: 0x1800106c0 - 0x180010732
int64_t function_1800106c0(int64_t a1, int64_t a2) {
    // 0x1800106c0
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x1800106c0
    int64_t v2 = g120; // 0x1800106c5
    int64_t v3 = g119; // 0x1800106ca
    g120 = v3;
    g116 = a1;
    if ((v3 & 2) == 0) {
        // 0x180010711
        g114 = _3f__3f_1wxSocketBase_40__40_UEAA_40_XZ(a1);
        if ((g120 & 1) != 0) {
            int64_t v4 = g116; // 0x18001071c
            g117 = v4;
            g114 = function_18001310e(v4);
        }
        int64_t result = g116; // 0x180010724
        g114 = result;
        g116 = v1;
        g120 = v2;
        return result;
    }
    uint32_t v5 = *(int32_t *)(a1 - 8); // 0x1800106d4
    g112 = v5;
    g119 = 256;
    g114 = function_180013168(a1, 256, v5, 0x180001480);
    if ((g120 & 1) != 0) {
        int64_t v6 = g116 - 8; // 0x1800106f4
        g117 = v6;
        g114 = function_180013114(v6);
    }
    int64_t result2 = g116 - 8; // 0x1800106fd
    g114 = result2;
    g116 = v1;
    g120 = v2;
    return result2;
}
 
// Address range: 0x180010740 - 0x18001096d
// Demangled:     public: wxSocketBase::Init
int64_t _3f_Init_40_wxSocketBase_40__40_QEAAXXZ(int64_t a1) {
    // 0x180010740
    g117 = a1;
    int64_t v1;
    g114 = &v1;
    int64_t v2 = g118; // 0x180010743
    int64_t v3 = g116; // 0x180010754
    int64_t v4 = g120; // 0x180010758
    g118 = 0;
    *(int64_t *)(g117 + 16) = 0;
    *(int32_t *)(g117 + 24) = (int32_t)g118;
    *(int32_t *)(g117 + 28) = (int32_t)g118;
    *(char *)(g117 + 36) = (char)g118;
    *(char *)(g117 + 35) = (char)g118;
    *(char *)(g117 + 34) = (char)g118;
    *(char *)(g117 + 33) = (char)g118;
    *(char *)(g117 + 32) = (char)g118;
    *(int32_t *)(g117 + 40) = (int32_t)g118;
    *(int32_t *)(g117 + 44) = (int32_t)g118;
    *(int32_t *)(g117 + 48) = (int32_t)g118;
    *(int32_t *)(g117 + 52) = 600;
    *(char *)(g117 + 105) = (char)g118;
    *(int64_t *)(g117 + 192) = g118;
    *(int32_t *)(g117 + 200) = (int32_t)g118;
    *(int32_t *)(g117 + 204) = (int32_t)g118;
    *(int32_t *)(g117 + 208) = -1;
    *(int64_t *)(g117 + 216) = g118;
    *(int64_t *)(g117 + 224) = g118;
    *(char *)(g117 + 232) = (char)g118;
    *(int32_t *)(g117 + 240) = (int32_t)g118;
    *(int32_t *)(g117 + 236) = (int32_t)g118;
    int64_t result = _3f_IsMain_40_wxThread_40__40_SA_NXZ(); // 0x1800107ce
    g114 = result;
    if ((char)result == 0) {
        // 0x180010958
        g116 = v3;
        g120 = v4;
        g118 = v2;
        return result;
    }
    int64_t result2 = _3f_Initialize_40_wxSocketBase_40__40_SA_NXZ(); // 0x1800107dc
    g114 = result2;
    if ((char)result2 != 0) {
        // 0x180010958
        g116 = v3;
        g120 = v4;
        g118 = v2;
        return result2;
    }
    // 0x1800107e9
    g120 = (int64_t)"wx";
    g119 = (int64_t)"wx";
    int64_t v5; // bp-72
    int64_t v6 = &v5; // 0x1800107f3
    g117 = v6;
    int64_t v7 = _3f__3f_0wxString_40__40_QEAA_40_PEBD_40_Z(&v5, (int64_t)"wx"); // 0x1800107fb
    g114 = v7;
    g119 = v7;
    int64_t v8 = g118 + 1; // 0x180010804
    g117 = v8;
    int64_t result3 = _3f_IsLevelEnabled_40_wxLog_40__40_SA_NKVwxString_40__40__40_Z(v8, v7); // 0x180010807
    g114 = result3;
    if ((char)result3 == 0) {
        // 0x180010958
        g116 = v3;
        g120 = v4;
        g118 = v2;
        return result3;
    }
    // 0x180010815
    g119 = (int64_t)"Cannot initialize sockets";
    int64_t v9; // bp-128
    int64_t v10 = &v9; // 0x18001081c
    g117 = v10;
    int64_t v11 = _3f__3f_0wxString_40__40_QEAA_40_PEBD_40_Z(&v9, (int64_t)"Cannot initialize sockets"); // 0x180010824
    g114 = v11;
    g117 = v6;
    int64_t v12 = _3f__3f_0wxString_40__40_QEAA_40_XZ(v6); // 0x180010833
    g114 = v12;
    g116 = v12;
    int64_t v13 = _3f_Get_40_wxTranslations_40__40_SAPEAV1_40_XZ(); // 0x18001083c
    g114 = v13;
    int64_t v14;
    int64_t v15; // 0x180010847
    int64_t v16; // 0x180010855
    if (v13 == 0) {
        goto lab_0x180010860;
    } else {
        // 0x180010847
        v15 = g116;
        g112 = v15;
        g119 = v10;
        g117 = v13;
        v16 = _3f_GetTranslatedString_40_wxTranslations_40__40_QEBAPEBVwxString_40__40_AEBV2_40_0_40_Z(v13, &v9, v15);
        g114 = v16;
        if (v16 != 0) {
            v14 = v15;
            goto lab_0x18001086e;
        } else {
            goto lab_0x180010860;
        }
    }
  lab_0x180010860:
    // 0x180010860
    g117 = v10;
    int64_t v17 = _3f_GetUntranslatedString_40_wxTranslations_40__40_SAAEBVwxString_40__40_AEBV2_40__40_Z(&v9); // 0x180010868
    g114 = v17;
    v16 = v17;
    v14 = v15;
    goto lab_0x18001086e;
  lab_0x18001086e:
    // 0x18001086e
    g119 = v16;
    int64_t v18; // bp-168
    int64_t v19 = &v18; // 0x180010871
    g117 = v19;
    _3f__3f_0wxFormatString_40__40_QEAA_40_AEBVwxString_40__40__40_Z(&v18, v16);
    int32_t v20 = 1; // bp-288
    g114 = (int64_t)"wxSocketBase::Init";
    g117 = 0;
    g114 = _time64(NULL);
    g114 = _3f_GetCurrentId_40_wxThread_40__40_SAKXZ();
    int64_t v21; // bp-224
    int64_t v22 = &v21; // 0x1800108c9
    g117 = v22;
    g114 = _3f__3f_0wxString_40__40_QEAA_40_XZ(v22);
    g117 = v19;
    int64_t v23 = _3f__3f_BwxFormatString_40__40_QEBAPEB_WXZ(v19); // 0x1800108dd
    g114 = v23;
    g119 = v23;
    g117 = &v20;
    g114 = function_1800024f0(&v20, v23, v14, g113);
    g117 = v22;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v22, v23, v14);
    g116 = g118;
    if (g118 != 0) {
        int64_t v24 = g118 + 32; // 0x18001090f
        g117 = v24;
        g114 = _3f__3f_1wxStringToStringHashMap_40__40_QEAA_40_XZ(v24);
        g117 = g118;
        g114 = _3f__3f_1wxStringToNumHashMap_40__40_QEAA_40_XZ(g118);
        g117 = g118;
        g114 = function_18001310e(g118);
    }
    // 0x18001092c
    g117 = v19;
    g114 = _3f__3f_1wxFormatString_40__40_QEAA_40_XZ(&v18);
    g117 = v6;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v6, v23, v14);
    g117 = v10;
    int64_t result4 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v10, v23, v14); // 0x180010952
    g114 = result4;
    // 0x180010958
    g116 = v3;
    g120 = v4;
    g118 = v2;
    return result4;
}
 
// Address range: 0x180010970 - 0x1800109f1
// Demangled:     public: wxSocketBase::wxSocketBase
int64_t _3f__3f_0wxSocketBase_40__40_QEAA_40_XZ(int64_t a1, int64_t a2) {
    // 0x180010970
    g119 = a2;
    g117 = a1;
    int64_t v1 = g118; // 0x180010975
    int64_t v2 = g116; // 0x180010983
    g118 = a1;
    _3f__3f_0wxObject_40__40_QEAA_40_XZ(a1);
    g114 = &g44;
    *(int64_t *)g118 = (int64_t)&g44;
    int64_t v3 = g118 + 56; // 0x18001099c
    g117 = v3;
    g119 = 0;
    g114 = _3f__3f_0wxList_40__40_QEAA_40_H_40_Z(v3, 0);
    int64_t v4 = g118 + 112; // 0x1800109a9
    g116 = v4;
    g117 = v4;
    _3f__3f_0wxSockAddress_40__40_QEAA_40_XZ(v4);
    g114 = &g6;
    *(int64_t *)g116 = (int64_t)&g6;
    int64_t v5 = g116 + 24; // 0x1800109c5
    g117 = v5;
    _3f__3f_0wxString_40__40_QEAA_40_XZ(v5);
    g114 = &g7;
    *(int64_t *)g116 = (int64_t)&g7;
    int64_t v6 = g118; // 0x1800109da
    g117 = v6;
    _3f_Init_40_wxSocketBase_40__40_QEAAXXZ(v6);
    int64_t result = g118; // 0x1800109e3
    g114 = result;
    g116 = v2;
    g118 = v1;
    return result;
}
 
// Address range: 0x180010a00 - 0x180010a97
// Demangled:     public: wxSocketBase::wxSocketBase
int64_t _3f__3f_0wxSocketBase_40__40_QEAA_40_HW4wxSocketType_40__40__40_Z(int64_t a1, int64_t a2, int64_t a3) {
    // 0x180010a00
    g112 = a3;
    g119 = a2;
    g117 = a1;
    int64_t v1 = g120; // 0x180010a06
    int64_t v2 = g118; // 0x180010a07
    int64_t v3 = g116; // 0x180010a15
    g120 = g112;
    g118 = g119;
    int64_t result = a1; // rbp
    _3f__3f_0wxObject_40__40_QEAA_40_XZ(a1);
    g114 = &g44;
    *(int64_t *)a1 = (int64_t)&g44;
    int64_t v4 = result + 56; // 0x180010a34
    g117 = v4;
    g119 = 0;
    g114 = _3f__3f_0wxList_40__40_QEAA_40_H_40_Z(v4, 0);
    int64_t v5 = result + 112; // 0x180010a41
    g116 = v5;
    g117 = v5;
    _3f__3f_0wxSockAddress_40__40_QEAA_40_XZ(v5);
    g114 = &g6;
    *(int64_t *)g116 = (int64_t)&g6;
    int64_t v6 = g116 + 24; // 0x180010a5d
    g117 = v6;
    _3f__3f_0wxString_40__40_QEAA_40_XZ(v6);
    g114 = &g7;
    *(int64_t *)g116 = (int64_t)&g7;
    g117 = result;
    g114 = _3f_Init_40_wxSocketBase_40__40_QEAAXXZ(result);
    g119 = g118;
    g117 = result;
    _3f_SetFlags_40_wxSocketBase_40__40_QEAAXH_40_Z(result, g118);
    *(int32_t *)(result + 24) = (int32_t)g120;
    g114 = result;
    g116 = v3;
    g118 = v2;
    g120 = v1;
    return result;
}
 
// Address range: 0x180010aa0 - 0x180010b6c
// Demangled:     public: wxSocketBase::Read
int64_t _3f_Read_40_wxSocketBase_40__40_QEAAAEAV1_40_PEAXI_40_Z(int64_t a1, int64_t a2, int64_t a3) {
    // 0x180010aa0
    g112 = a3;
    g119 = a2;
    g117 = a1;
    int64_t v1 = g118; // 0x180010aa0
    int64_t v2 = g116; // 0x180010aaf
    int64_t v3 = g120; // 0x180010ab4
    g118 = g112;
    g120 = g119;
    int64_t v4 = g117; // 0x180010abf
    g116 = v4;
    int64_t v5 = *(int64_t *)0x180019440; // 0x180010ac7
    g114 = v5;
    char * v6;
    char * v7;
    if (*(int64_t *)v5 != 0) {
        // 0x180010ad4
        if (*(char *)(v4 + 34) != 0) {
            // 0x180010ada
            g114 = (int64_t)"read reentrancy?";
            g112 = (int64_t)"wxSocketReadGuard::wxSocketReadGuard";
            g119 = 208;
            g117 = (int64_t)"..\\..\\src\\common\\socket.cpp";
            g114 = _3f_wxOnAssert_40__40_YAXPEBDH000_40_Z("..\\..\\src\\common\\socket.cpp", 208, "wxSocketReadGuard::wxSocketReadGuard", "!m_socket->m_reading");
            char * v8 = (char *)*(int64_t *)0x180019430; // 0x180010b0d
            if (*v8 != 0) {
                // 0x180010b13
                *v8 = 0;
                g114 = __asm_int3();
                v6 = "!m_socket->m_reading";
            } else {
                v6 = "!m_socket->m_reading";
            }
        } else {
            v6 = v7;
        }
    } else {
        v6 = v7;
    }
    // 0x180010b18
    *(char *)(g116 + 34) = 1;
    int64_t v9 = g118; // 0x180010b1c
    g112 = v9;
    int64_t v10 = g120; // 0x180010b1f
    g119 = v10;
    int64_t v11 = g116; // 0x180010b22
    g117 = v11;
    int64_t v12 = _3f_DoRead_40_wxSocketBase_40__40_AEAAIPEAXI_40_Z(v11, v10, v9, (int64_t)v6); // 0x180010b25
    g114 = v12;
    *(int32_t *)(g116 + 44) = (int32_t)v12;
    *(int32_t *)(g116 + 40) = (int32_t)g114;
    *(char *)(g116 + 34) = 0;
    int64_t result = g116; // 0x180010b34
    int64_t v13 = *(int64_t *)(result + 16); // 0x180010b34
    g117 = v13;
    if (v13 == 0) {
        // 0x180010b59
        g114 = result;
        // 0x180010b5c
        g116 = v2;
        g120 = v3;
        g118 = v1;
        return result;
    }
    // 0x180010b3d
    if (*(int64_t *)(v13 + 8) == -1) {
        // 0x180010b54
        g114 = result;
    } else {
        // 0x180010b44
        g119 = 1;
        g114 = result;
    }
    // 0x180010b5c
    g116 = v2;
    g120 = v3;
    g118 = v1;
    return result;
}
 
// Address range: 0x180010b70 - 0x180010c3c
// Demangled:     public: wxSocketBase::Write
int64_t _3f_Write_40_wxSocketBase_40__40_QEAAAEAV1_40_PEBXI_40_Z(int64_t a1, int64_t a2, int64_t a3) {
    // 0x180010b70
    g112 = a3;
    g119 = a2;
    g117 = a1;
    int64_t v1 = g118; // 0x180010b70
    int64_t v2 = g116; // 0x180010b7f
    int64_t v3 = g120; // 0x180010b84
    g118 = g112;
    g120 = g119;
    int64_t v4 = g117; // 0x180010b8f
    g116 = v4;
    int64_t v5 = *(int64_t *)0x180019440; // 0x180010b97
    g114 = v5;
    if (*(int64_t *)v5 != 0) {
        // 0x180010ba4
        if (*(char *)(v4 + 35) != 0) {
            // 0x180010baa
            g114 = (int64_t)"write reentrancy?";
            g113 = (int64_t)"!m_socket->m_writing";
            g112 = (int64_t)"wxSocketWriteGuard::wxSocketWriteGuard";
            g119 = 236;
            g117 = (int64_t)"..\\..\\src\\common\\socket.cpp";
            g114 = _3f_wxOnAssert_40__40_YAXPEBDH000_40_Z("..\\..\\src\\common\\socket.cpp", 236, "wxSocketWriteGuard::wxSocketWriteGuard", "!m_socket->m_writing");
            char * v6 = (char *)*(int64_t *)0x180019430; // 0x180010bdd
            if (*v6 != 0) {
                // 0x180010be3
                *v6 = 0;
                g114 = __asm_int3();
            }
        }
    }
    // 0x180010be8
    *(char *)(g116 + 35) = 1;
    int64_t v7 = g118; // 0x180010bec
    g112 = v7;
    int64_t v8 = g120; // 0x180010bef
    g119 = v8;
    int64_t v9 = g116; // 0x180010bf2
    g117 = v9;
    int64_t v10 = _3f_DoWrite_40_wxSocketBase_40__40_AEAAIPEBXI_40_Z(v9, (char *)v8, v7); // 0x180010bf5
    g114 = v10;
    *(int32_t *)(g116 + 48) = (int32_t)v10;
    *(int32_t *)(g116 + 40) = (int32_t)g114;
    *(char *)(g116 + 35) = 0;
    int64_t result = g116; // 0x180010c04
    int64_t v11 = *(int64_t *)(result + 16); // 0x180010c04
    g117 = v11;
    if (v11 == 0) {
        // 0x180010c29
        g114 = result;
        // 0x180010c2c
        g116 = v2;
        g120 = v3;
        g118 = v1;
        return result;
    }
    // 0x180010c0d
    if (*(int64_t *)(v11 + 8) == -1) {
        // 0x180010c24
        g114 = result;
    } else {
        // 0x180010c14
        g119 = 2;
        g114 = result;
    }
    // 0x180010c2c
    g116 = v2;
    g120 = v3;
    g118 = v1;
    return result;
}
 
// Address range: 0x180010c40 - 0x180010cbf
// Demangled:     public: wxSocketServer::Accept
int64_t _3f_Accept_40_wxSocketServer_40__40_QEAAPEAVwxSocketBase_40__40__N_40_Z(int64_t a1, int64_t a2) {
    // 0x180010c40
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x180010c4f
    int64_t v2 = g120; // 0x180010c54
    g120 = a2;
    g118 = g117;
    g117 = 248;
    int64_t v3 = function_18001323c(248, a2); // 0x180010c64
    g114 = v3;
    int64_t v4;
    if (v3 == 0) {
        v4 = 0;
    } else {
        // 0x180010c73
        g117 = v3;
        int64_t v5 = _3f__3f_0wxSocketBase_40__40_QEAA_40_XZ(v3, a2); // 0x180010c76
        g114 = v5;
        v4 = v5;
    }
    // 0x180010c82
    g116 = v4;
    int64_t v6 = (int64_t)*(int32_t *)(g118 + 28); // 0x180010c82
    g119 = v6;
    g117 = v4;
    g114 = _3f_SetFlags_40_wxSocketBase_40__40_QEAAXH_40_Z(v4, v6);
    int64_t v7 = g120; // 0x180010c8d
    g112 = v7;
    int64_t v8 = g116; // 0x180010c91
    g119 = v8;
    int64_t v9 = g118; // 0x180010c94
    g117 = v9;
    int64_t v10 = _3f_AcceptWith_40_wxSocketServer_40__40_QEAA_NAEAVwxSocketBase_40__40__N_40_Z(v9, v8, v7); // 0x180010c97
    g114 = v10;
    int64_t v11 = g116; // 0x180010cac
    int64_t result;
    if ((char)v10 == 0) {
        // 0x180010ca0
        g117 = v11;
        g114 = _3f_Destroy_40_wxSocketBase_40__40_QEAA_NXZ(v11);
        result = 0;
    } else {
        result = v11;
    }
    // 0x180010caf
    g114 = result;
    g116 = v1;
    g120 = v2;
    return result;
}
 
// Address range: 0x180010cc0 - 0x180010cfb
// Demangled:     public: wxSocketClient::wxSocketClient
int64_t _3f__3f_0wxSocketClient_40__40_QEAA_40_H_40_Z(int64_t a1) {
    // 0x180010cc0
    g117 = a1;
    int64_t v1 = g116; // 0x180010cc0
    g112 = 1;
    g116 = a1;
    _3f__3f_0wxSocketBase_40__40_QEAA_40_HW4wxSocketType_40__40__40_Z(a1, g119, 1);
    *(int32_t *)(g116 + 252) = -1;
    *(int64_t *)g116 = (int64_t)&g45;
    *(int32_t *)(g116 + 248) = -1;
    int64_t result = g116; // 0x180010cf2
    g114 = result;
    g116 = v1;
    return result;
}
 
// Address range: 0x180010d00 - 0x180010df9
// Demangled:     public: wxDatagramSocket::wxDatagramSocket
int64_t _3f__3f_0wxDatagramSocket_40__40_QEAA_40_AEBVwxSockAddress_40__40_H_40_Z(int64_t a1, int64_t a2, int64_t a3) {
    // 0x180010d00
    g112 = a3;
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x180010d13
    int64_t v2 = g120; // 0x180010d18
    int64_t v3 = g112; // 0x180010d1d
    g118 = v3;
    g120 = g119;
    g116 = a1;
    g112 = 4;
    g119 = v3;
    _3f__3f_0wxSocketBase_40__40_QEAA_40_HW4wxSocketType_40__40__40_Z(a1, v3, 4);
    g114 = &g46;
    *(int64_t *)g116 = (int64_t)&g46;
    int64_t v4 = g81; // 0x180010d3e
    g117 = v4;
    int64_t v5; // 0x180010d5b
    if (v4 == 0) {
        // 0x180010d4a
        g114 = function_18000e3f0(v4, v3, 4);
        g117 = g81;
        v5 = g81;
    } else {
        v5 = v4;
    }
    int64_t v6; // 0x180010d68
    int64_t v7; // 0x180010d68
    if (v5 == 0) {
        // 0x180010d66
        g114 = 0;
        v7 = g116;
        v6 = 0;
    } else {
        int64_t v8 = *(int64_t *)v5; // 0x180010d5b
        g114 = v8;
        int64_t v9 = g116; // 0x180010d5e
        g119 = v9;
        v7 = v9;
        v6 = v8;
    }
    // 0x180010d68
    *(int64_t *)(v7 + 16) = v6;
    int64_t v10 = g114; // 0x180010d6c
    if (v10 == 0) {
        int64_t result = g116; // 0x180010de6
        g114 = result;
        // 0x180010de9
        g116 = v1;
        g120 = v2;
        return result;
    }
    int64_t v11 = *(int64_t *)(g120 + 16); // 0x180010d71
    g119 = v11;
    g117 = v10;
    g114 = function_18000e9b0(v10, v11);
    if ((g118 & 32) != 0) {
        int64_t v12 = *(int64_t *)(g116 + 16); // 0x180010d83
        g114 = v12;
        *(char *)(v12 + 78) = 1;
    }
    int64_t v13 = g116; // 0x180010d8b
    int64_t v14; // 0x180010d9f
    if ((*(char *)(v13 + 28) & 64) != 0) {
        int64_t v15 = *(int64_t *)(v13 + 16); // 0x180010d91
        g114 = v15;
        *(char *)(v15 + 79) = 1;
        v14 = g116;
    } else {
        v14 = v13;
    }
    // 0x180010d99
    int64_t v16; // 0x180010da7
    if (*(char *)(v14 + 28) <= 255) {
        int64_t v17 = *(int64_t *)(v14 + 16); // 0x180010d9f
        g114 = v17;
        *(char *)(v17 + 80) = 0;
        v16 = g116;
    } else {
        v16 = v14;
    }
    int64_t v18 = *(int64_t *)(v16 + 16); // 0x180010da7
    g117 = v18;
    int64_t v19 = function_18000e8f0(v18); // 0x180010dab
    g114 = v19;
    int64_t result3 = g116; // 0x180010dd9
    if ((int32_t)v19 == 0) {
        // 0x180010dd9
        *(char *)(result3 + 32) = 0;
        *(char *)(g116 + 33) = 0;
        int64_t result2 = g116; // 0x180010de1
        g114 = result2;
        // 0x180010de9
        g116 = v1;
        g120 = v2;
        return result2;
    }
    int64_t * v20 = (int64_t *)(result3 + 16); // 0x180010db4
    int64_t v21 = *v20; // 0x180010db4
    g117 = v21;
    if (v21 == 0) {
        // 0x180010dd4
        g114 = result3;
    } else {
        // 0x180010dbd
        g119 = 1;
        *v20 = 0;
        int64_t v22 = g116; // 0x180010dcf
        g114 = v22;
        result3 = v22;
    }
    // 0x180010de9
    g116 = v1;
    g120 = v2;
    return result3;
}
 
// Address range: 0x180010e00 - 0x180010e39
// Demangled:     public: wxDatagramSocket::RecvFrom
int64_t _3f_RecvFrom_40_wxDatagramSocket_40__40_QEAAAEAV1_40_AEAVwxSockAddress_40__40_PEAXI_40_Z(int64_t a1, int64_t a2, int64_t a3, int64_t a4) {
    g112 = a3;
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x180010e00
    int64_t v2 = g112; // 0x180010e0a
    g114 = v2;
    g116 = g119;
    g112 = a4;
    g119 = v2;
    g118 = a1;
    _3f_Read_40_wxSocketBase_40__40_QEAAAEAV1_40_PEAXI_40_Z(a1, v2, a4);
    g119 = g116;
    g117 = g118;
    g116 = v1;
    g114 = g118;
    return g118;
}
 
// Address range: 0x180010e40 - 0x180010f18
// Demangled:     public: wxDatagramSocket::SendTo
int64_t _3f_SendTo_40_wxDatagramSocket_40__40_QEAAAEAV1_40_AEBVwxSockAddress_40__40_PEBXI_40_Z(int64_t a1, int64_t a2, int64_t a3, int64_t a4) {
    // 0x180010e40
    g112 = a3;
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x180010e40
    int64_t v2 = *(int64_t *)0x180019440; // 0x180010e55
    g114 = v2;
    g115 = a4;
    g108 = g112;
    int64_t v3 = g119; // 0x180010e66
    int64_t v4 = g117; // 0x180010e69
    g116 = v4;
    if (*(int64_t *)v2 != 0) {
        // 0x180010e6e
        if (*(int64_t *)(v4 + 16) == 0) {
            // 0x180010e75
            g114 = (int64_t)L"Socket not initialised";
            g112 = (int64_t)"wxDatagramSocket::SendTo";
            g117 = (int64_t)"..\\..\\src\\common\\socket.cpp";
            g119 = 2114;
            g114 = _3f_wxOnAssert_40__40_YAXPEBDH00PEB_W_40_Z((int64_t)"..\\..\\src\\common\\socket.cpp", 2114, (int64_t)"wxDatagramSocket::SendTo", "m_impl", (int64_t)L"Socket not initialised");
            char * v5 = (char *)*(int64_t *)0x180019430; // 0x180010ea8
            if (*v5 != 0) {
                // 0x180010eae
                *v5 = 0;
                g114 = __asm_int3();
            }
        }
    }
    int64_t v6 = *(int64_t *)(v3 + 16); // 0x180010eb3
    g118 = v6;
    int64_t v7 = *(int64_t *)(g116 + 16); // 0x180010eb7
    g114 = v7;
    if (*(int32_t *)v6 != 0) {
        int64_t v8 = g120; // 0x180010ec9
        int64_t v9 = v7 + 48; // 0x180010ece
        g120 = v9;
        if (v9 != v6) {
            int64_t v10 = *(int64_t *)(v7 + 56); // 0x180010ed7
            g117 = v10;
            free((int64_t *)v10);
            g114 = &g122;
            int64_t v11 = g118; // 0x180010ee1
            g119 = v11;
            int64_t v12 = g120; // 0x180010ee4
            g117 = v12;
            g114 = function_1800095e0(v12, v11);
        }
        // 0x180010eec
        g120 = v8;
    } else {
        // 0x180010ec0
        *(int32_t *)(v7 + 72) = 3;
    }
    int64_t v13 = g115; // 0x180010ef1
    g112 = v13;
    int64_t v14 = g108; // 0x180010ef4
    g119 = v14;
    int64_t v15 = g116; // 0x180010ef7
    g117 = v15;
    _3f_Write_40_wxSocketBase_40__40_QEAAAEAV1_40_PEBXI_40_Z(v15, v14, v13);
    int64_t result = g116; // 0x180010f09
    g114 = result;
    g116 = v1;
    return result;
}
 
// Address range: 0x180010f20 - 0x18001150c
// Demangled:     public: wxSocketServer::wxSocketServer
int64_t _3f__3f_0wxSocketServer_40__40_QEAA_40_AEBVwxSockAddress_40__40_H_40_Z(int64_t a1, int64_t * a2, int32_t a3) {
    // 0x180010f20
    g112 = a3;
    g119 = (int64_t)a2;
    g117 = a1;
    int64_t v1 = g120; // 0x180010f27
    int64_t v2 = g118; // 0x180010f28
    int64_t v3 = g116; // 0x180010f42
    int64_t v4 = g115; // 0x180010f46
    int64_t v5 = g112; // 0x180010f4a
    g114 = v5;
    g120 = g119;
    g116 = a1;
    g112 = 2;
    g119 = v5;
    _3f__3f_0wxSocketBase_40__40_QEAA_40_HW4wxSocketType_40__40__40_Z(a1, 0x100000000 * v5 / 0x100000000, 2);
    g114 = &g47;
    *(int64_t *)g116 = (int64_t)&g47;
    g115 = (int64_t)"wx";
    g119 = (int64_t)"wx";
    int64_t v6; // bp-104
    int64_t v7 = &v6; // 0x180010f75
    g117 = v7;
    int64_t v8 = _3f__3f_0wxString_40__40_QEAA_40_PEBD_40_Z(&v6, (int64_t)"wx"); // 0x180010f7d
    g114 = v8;
    g119 = v8;
    g117 = 7;
    int64_t v9 = _3f_IsLevelEnabled_40_wxLog_40__40_SA_NKVwxString_40__40__40_Z(7, v8); // 0x180010f8b
    g114 = v9;
    int64_t v10 = 0; // r12
    int64_t v11; // bp-144
    int64_t v12; // bp-200
    int32_t v13; // bp-264
    if ((char)v9 != 0) {
        // 0x180010faa
        g119 = (int64_t)L"Opening wxSocketServer";
        int64_t v14 = &v11; // 0x180010fb1
        g117 = v14;
        g114 = _3f__3f_0wxFormatString_40__40_QEAA_40_PEB_W_40_Z(&v11, L"Opening wxSocketServer");
        g119 = (int64_t)L"wxSocket";
        g117 = v7;
        g114 = _3f__3f_0wxString_40__40_QEAA_40_PEB_W_40_Z(&v6, (int64_t)L"wxSocket", g112);
        v13 = 7;
        g117 = 0;
        g114 = _time64(NULL);
        g114 = _3f_GetCurrentId_40_wxThread_40__40_SAKXZ();
        int64_t v15 = &v12; // 0x180011011
        g117 = v15;
        g114 = _3f__3f_0wxString_40__40_QEAA_40_XZ(v15);
        g117 = v14;
        int64_t v16 = _3f__3f_BwxFormatString_40__40_QEBAPEB_WXZ(v14); // 0x180011025
        g114 = v16;
        g112 = v16;
        g119 = v7;
        g117 = &v13;
        g114 = function_180009010(&v13, v7, v16, g113);
        g117 = v15;
        g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v15, g119, g112);
        g118 = v10;
        if (v10 != 0) {
            int64_t v17 = v10 + 32; // 0x18001105f
            g117 = v17;
            g114 = _3f__3f_1wxStringToStringHashMap_40__40_QEAA_40_XZ(v17);
            g117 = v10;
            g114 = _3f__3f_1wxStringToNumHashMap_40__40_QEAA_40_XZ(v10);
            g117 = v10;
            g114 = function_18001310e(v10);
        }
        // 0x18001107c
        g117 = v7;
        g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v7, g119, g112);
        g117 = v14;
        g114 = _3f__3f_1wxFormatString_40__40_QEAA_40_XZ(&v11);
    }
    int64_t v18 = g81; // 0x180011099
    g117 = v18;
    int64_t v19; // 0x1800110b6
    if (v18 == 0) {
        // 0x1800110a5
        g114 = function_18000e3f0(v18, g119, g112);
        g117 = g81;
        v19 = g81;
    } else {
        v19 = v18;
    }
    int64_t v20; // 0x1800110c4
    int64_t v21; // 0x1800110c4
    if (v19 == 0) {
        // 0x1800110c1
        g114 = v10;
        v21 = g116;
        v20 = v10;
    } else {
        int64_t v22 = *(int64_t *)v19; // 0x1800110b6
        g114 = v22;
        int64_t v23 = g116; // 0x1800110b9
        g119 = v23;
        v21 = v23;
        v20 = v22;
    }
    // 0x1800110c4
    *(int64_t *)(v21 + 16) = v20;
    int64_t v24 = g114; // 0x1800110c8
    if (v24 != 0) {
        int64_t v25 = *(int64_t *)(g120 + 16); // 0x1800111ec
        g119 = v25;
        g117 = v24;
        g114 = function_18000e9b0(v24, v25);
        int64_t v26 = g116; // 0x1800111f8
        int64_t v27; // 0x18001120c
        if ((*(char *)(v26 + 28) & 32) != 0) {
            int64_t v28 = *(int64_t *)(v26 + 16); // 0x1800111fe
            g114 = v28;
            *(char *)(v28 + 78) = 1;
            v27 = g116;
        } else {
            v27 = v26;
        }
        // 0x180011206
        int64_t v29; // 0x18001121a
        if ((*(char *)(v27 + 28) & 64) != 0) {
            int64_t v30 = *(int64_t *)(v27 + 16); // 0x18001120c
            g114 = v30;
            *(char *)(v30 + 79) = 1;
            v29 = g116;
        } else {
            v29 = v27;
        }
        // 0x180011214
        int64_t v31; // 0x180011222
        if (*(char *)(v29 + 28) <= 255) {
            int64_t v32 = *(int64_t *)(v29 + 16); // 0x18001121a
            g114 = v32;
            *(char *)(v32 + 80) = 0;
            v31 = g116;
        } else {
            v31 = v29;
        }
        int64_t v33 = *(int64_t *)(v31 + 16); // 0x180011222
        g117 = v33;
        int64_t v34 = function_18000e6e0(v33); // 0x180011226
        g114 = v34;
        if ((int32_t)v34 == 0) {
            // 0x180011365
            g119 = g115;
            g117 = v7;
            int64_t v35 = _3f__3f_0wxString_40__40_QEAA_40_PEBD_40_Z(&v6, g115); // 0x180011370
            g114 = v35;
            g119 = v35;
            g117 = 7;
            int64_t v36 = _3f_IsLevelEnabled_40_wxLog_40__40_SA_NKVwxString_40__40__40_Z(7, v35); // 0x18001137e
            g114 = v36;
            if ((char)v36 != 0) {
                // 0x18001138c
                g119 = (int64_t)L"wxSocketServer on fd %u";
                int64_t v37 = &v11; // 0x180011393
                g117 = v37;
                g114 = _3f__3f_0wxFormatString_40__40_QEAA_40_PEB_W_40_Z(&v11, L"wxSocketServer on fd %u");
                g119 = (int64_t)L"wxSocket";
                g117 = v7;
                g114 = _3f__3f_0wxString_40__40_QEAA_40_PEB_W_40_Z(&v6, (int64_t)L"wxSocket", g112);
                v13 = 7;
                g117 = 0;
                g114 = _time64(NULL);
                g114 = _3f_GetCurrentId_40_wxThread_40__40_SAKXZ();
                int64_t v38 = &v12; // 0x1800113f3
                g117 = v38;
                g114 = _3f__3f_0wxString_40__40_QEAA_40_XZ(v38);
                int64_t v39 = *(int64_t *)(g116 + 16); // 0x1800113ff
                g114 = v39;
                g118 = (int64_t)*(int32_t *)(v39 + 8);
                g119 = 1;
                g117 = v37;
                int64_t v40 = _3f_GetArgumentType_40_wxFormatString_40__40_QEBA_3f_AW4ArgumentType_40_1_40_I_40_Z(v37, 1); // 0x180011413
                g114 = v40;
                int64_t v41 = *(int64_t *)0x180019440; // 0x180011419
                g117 = v41;
                if (*(int64_t *)v41 != 0) {
                    int32_t v42 = v40; // 0x180011428
                    uint32_t v43 = v42 & 9; // 0x180011428
                    g117 = v43;
                    if (v43 != v42) {
                        // 0x18001142f
                        g114 = (int64_t)"format specifier doesn't match argument type";
                        g112 = (int64_t)"wxArgNormalizer<unsigned int>::wxArgNormalizer";
                        g119 = 456;
                        g117 = (int64_t)"C:\\BUILD\\wxPython-src-3.0.2.0\\include\\wx/strvararg.h";
                        g114 = _3f_wxOnAssert_40__40_YAXPEBDH000_40_Z("C:\\BUILD\\wxPython-src-3.0.2.0\\include\\wx/strvararg.h", 456, "wxArgNormalizer<unsigned int>::wxArgNormalizer", "(argtype & (wxFormatStringSpecifier<T>::value)) == argtype");
                        char * v44 = (char *)*(int64_t *)0x180019430; // 0x180011462
                        if (*v44 != 0) {
                            // 0x180011468
                            *v44 = 0;
                            g114 = __asm_int3();
                        }
                    }
                }
                // 0x18001146d
                g117 = v37;
                int64_t v45 = _3f__3f_BwxFormatString_40__40_QEBAPEB_WXZ(v37); // 0x180011475
                g114 = v45;
                g112 = v45;
                g119 = v7;
                g117 = &v13;
                g114 = function_180009010(&v13, v7, v45, g118);
                g117 = v38;
                g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v38, v7, v45);
                if (v10 != 0) {
                    int64_t v46 = v10 + 32; // 0x1800114b2
                    g117 = v46;
                    g114 = _3f__3f_1wxStringToStringHashMap_40__40_QEAA_40_XZ(v46);
                    g117 = v10;
                    g114 = _3f__3f_1wxStringToNumHashMap_40__40_QEAA_40_XZ(v10);
                    g117 = v10;
                    g114 = function_18001310e(v10);
                }
                // 0x1800114cf
                g117 = v7;
                g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v7, v7, v45);
                g117 = v37;
                g114 = _3f__3f_1wxFormatString_40__40_QEAA_40_XZ(&v11);
            }
        } else {
            int64_t * v47 = (int64_t *)(g116 + 16); // 0x180011233
            int64_t v48 = *v47; // 0x180011233
            g117 = v48;
            if (v48 != 0) {
                // 0x18001123c
                g114 = *(int64_t *)v48;
                g119 = 1;
                *v47 = v10;
            }
            // 0x18001124a
            g119 = g115;
            g117 = v7;
            int64_t v49 = _3f__3f_0wxString_40__40_QEAA_40_PEBD_40_Z(&v6, g115); // 0x180011255
            g114 = v49;
            g119 = v49;
            g117 = 7;
            int64_t v50 = _3f_IsLevelEnabled_40_wxLog_40__40_SA_NKVwxString_40__40__40_Z(7, v49); // 0x180011263
            g114 = v50;
            if ((char)v50 != 0) {
                // 0x180011271
                g119 = (int64_t)L"*** CreateServer() failed";
                int64_t v51 = &v11; // 0x180011278
                g117 = v51;
                g114 = _3f__3f_0wxFormatString_40__40_QEAA_40_PEB_W_40_Z(&v11, L"*** CreateServer() failed");
                g119 = (int64_t)L"wxSocket";
                g117 = v7;
                g114 = _3f__3f_0wxString_40__40_QEAA_40_PEB_W_40_Z(&v6, (int64_t)L"wxSocket", g112);
                v13 = 7;
                g117 = 0;
                g114 = _time64(NULL);
                g114 = _3f_GetCurrentId_40_wxThread_40__40_SAKXZ();
                int64_t v52 = &v12; // 0x1800112d8
                g117 = v52;
                g114 = _3f__3f_0wxString_40__40_QEAA_40_XZ(v52);
                g117 = v51;
                int64_t v53 = _3f__3f_BwxFormatString_40__40_QEBAPEB_WXZ(v51); // 0x1800112ec
                g114 = v53;
                g112 = v53;
                g119 = v7;
                g117 = &v13;
                g114 = function_180009010(&v13, v7, v53, g113);
                g117 = v52;
                g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v52, v7, v53);
                if (v10 != 0) {
                    int64_t v54 = v10 + 32; // 0x180011326
                    g117 = v54;
                    g114 = _3f__3f_1wxStringToStringHashMap_40__40_QEAA_40_XZ(v54);
                    g117 = v10;
                    g114 = _3f__3f_1wxStringToNumHashMap_40__40_QEAA_40_XZ(v10);
                    g117 = v10;
                    g114 = function_18001310e(v10);
                }
                // 0x180011343
                g117 = v7;
                g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v7, v7, v53);
                g117 = v51;
                g114 = _3f__3f_1wxFormatString_40__40_QEAA_40_XZ(&v11);
            }
        }
    } else {
        // 0x1800110d1
        g119 = g115;
        g117 = v7;
        int64_t v55 = _3f__3f_0wxString_40__40_QEAA_40_PEBD_40_Z(&v6, g115); // 0x1800110dc
        g114 = v55;
        g119 = v55;
        g117 = 7;
        int64_t v56 = _3f_IsLevelEnabled_40_wxLog_40__40_SA_NKVwxString_40__40__40_Z(7, v55); // 0x1800110ea
        g114 = v56;
        if ((char)v56 != 0) {
            // 0x1800110f8
            g119 = (int64_t)L"*** Failed to create m_impl";
            int64_t v57 = &v11; // 0x1800110ff
            g117 = v57;
            g114 = _3f__3f_0wxFormatString_40__40_QEAA_40_PEB_W_40_Z(&v11, L"*** Failed to create m_impl");
            g119 = (int64_t)L"wxSocket";
            g117 = v7;
            g114 = _3f__3f_0wxString_40__40_QEAA_40_PEB_W_40_Z(&v6, (int64_t)L"wxSocket", g112);
            v13 = 7;
            g117 = 0;
            g114 = _time64(NULL);
            g114 = _3f_GetCurrentId_40_wxThread_40__40_SAKXZ();
            int64_t v58 = &v12; // 0x18001115f
            g117 = v58;
            g114 = _3f__3f_0wxString_40__40_QEAA_40_XZ(v58);
            g117 = v57;
            int64_t v59 = _3f__3f_BwxFormatString_40__40_QEBAPEB_WXZ(v57); // 0x180011173
            g114 = v59;
            g112 = v59;
            g119 = v7;
            g117 = &v13;
            g114 = function_180009010(&v13, v7, v59, g113);
            g117 = v58;
            g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v58, v7, v59);
            if (v10 != 0) {
                int64_t v60 = v10 + 32; // 0x1800111ad
                g117 = v60;
                g114 = _3f__3f_1wxStringToStringHashMap_40__40_QEAA_40_XZ(v60);
                g117 = v10;
                g114 = _3f__3f_1wxStringToNumHashMap_40__40_QEAA_40_XZ(v10);
                g117 = v10;
                g114 = function_18001310e(v10);
            }
            // 0x1800111ca
            g117 = v7;
            g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v7, v7, v59);
            g117 = v57;
            g114 = _3f__3f_1wxFormatString_40__40_QEAA_40_XZ(&v11);
        }
    }
    int64_t result = g116; // 0x1800114ed
    g114 = result;
    g116 = v3;
    g115 = v4;
    g118 = v2;
    g120 = v1;
    return result;
}
 
// Address range: 0x180011510 - 0x180011518
// Demangled:     public: virtual wxURL::GetClassInfo
int64_t _3f_GetClassInfo_40_wxURL_40__40_UEBAPEAVwxClassInfo_40__40_XZ(void) {
    // 0x180011510
    g114 = 0x18002f030;
    return 0x18002f030;
}
 
// Address range: 0x180011520 - 0x180011554
// Demangled:     protected: wxURL::CleanData
int64_t _3f_CleanData_40_wxURL_40__40_IEAAXXZ(int64_t a1) {
    // 0x180011520
    g117 = a1;
    int64_t v1 = g116; // 0x180011520
    int64_t v2 = g117; // 0x180011526
    g116 = v2;
    if (*(char *)(v2 + 432) != 0) {
        // 0x18001154e
        g116 = v1;
        return g114;
    }
    int64_t v3 = *(int64_t *)(v2 + 448); // 0x180011532
    g117 = v3;
    if (v3 != 0) {
        // 0x18001153e
        g114 = _3f_Destroy_40_wxSocketBase_40__40_QEAA_NXZ(v3);
        *(int64_t *)(g116 + 448) = 0;
    }
    // 0x18001154e
    g116 = v1;
    return g114;
}
 
// Address range: 0x180011560 - 0x1800115b4
// Demangled:     protected: wxURL::Free
int64_t _3f_Free_40_wxURL_40__40_IEAAXXZ(int64_t a1) {
    // 0x180011560
    g117 = a1;
    int64_t v1 = g116; // 0x180011560
    int64_t v2 = g117; // 0x180011566
    g116 = v2;
    int64_t v3; // 0x18001158e
    if (*(char *)(v2 + 432) == 0) {
        int64_t v4 = *(int64_t *)(v2 + 448); // 0x180011572
        g117 = v4;
        if (v4 != 0) {
            // 0x18001157e
            g114 = _3f_Destroy_40_wxSocketBase_40__40_QEAA_NXZ(v4);
            *(int64_t *)(g116 + 448) = 0;
            v3 = g116;
        } else {
            v3 = v2;
        }
    } else {
        v3 = v2;
    }
    int64_t v5 = *(int64_t *)(v3 + 424); // 0x18001158e
    g117 = v5;
    if (v5 == 0) {
        // 0x1800115ae
        g116 = v1;
        return g114;
    }
    // 0x18001159a
    if (v5 != *(int64_t *)0x18002f020) {
        // 0x1800115a3
        g114 = *(int64_t *)v5;
        g119 = 1;
    }
    // 0x1800115ae
    g116 = v1;
    return g114;
}
 
// Address range: 0x1800115c0 - 0x180011643
// Demangled:     public: virtual wxURL::~wxURL
int64_t _3f__3f_1wxURL_40__40_UEAA_40_XZ(int64_t * a1) {
    // 0x1800115c0
    g117 = (int64_t)a1;
    int64_t v1 = g116; // 0x1800115c5
    int64_t v2 = g117; // 0x1800115d3
    g116 = v2;
    g114 = &g48;
    *(int64_t *)v2 = (int64_t)&g48;
    int64_t v3 = g117; // 0x1800115e0
    if (*(char *)(v3 + 432) == 0) {
        int64_t v4 = *(int64_t *)(v3 + 448); // 0x1800115e9
        g117 = v4;
        if (v4 != 0) {
            // 0x1800115f5
            g114 = _3f_Destroy_40_wxSocketBase_40__40_QEAA_NXZ(v4);
            *(int64_t *)(g116 + 448) = 0;
        }
    }
    int64_t v5 = g116; // 0x180011605
    int64_t v6 = *(int64_t *)(v5 + 424); // 0x180011605
    g117 = v6;
    int64_t v7;
    int64_t v8;
    if (v6 != 0) {
        // 0x180011611
        if (v6 != *(int64_t *)0x18002f020) {
            // 0x18001161a
            g114 = *(int64_t *)v6;
            g119 = 1;
            v7 = 1;
        } else {
            v7 = v8;
        }
    } else {
        v7 = v8;
    }
    int64_t v9 = v5 + 464; // 0x180011626
    g117 = v9;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v9, v7, g112);
    int64_t v10 = g116; // 0x180011634
    g117 = v10;
    g116 = v1;
    int64_t result = _3f__3f_1wxURI_40__40_UEAA_40_XZ(v10); // 0x18001163c
    g114 = result;
    return result;
}
 
// Address range: 0x180011650 - 0x180011a65
// Demangled:     public: wxURL::GetInputStream
int64_t _3f_GetInputStream_40_wxURL_40__40_QEAAPEAVwxInputStream_40__40_XZ(int64_t * a1, int64_t a2, int64_t a3) {
    // 0x180011650
    g112 = a3;
    g119 = a2;
    g117 = (int64_t)a1;
    int64_t v1 = g116; // 0x180011664
    int64_t v2 = g120; // 0x180011668
    int64_t v3; // bp-312
    int64_t v4 = g61 ^ (int64_t)&v3; // 0x180011673
    g114 = v4;
    int64_t v5 = g117; // 0x18001167e
    g116 = v5;
    int32_t * v6 = (int32_t *)(v5 + 456); // 0x18001169c
    int64_t v7; // bp-280
    int64_t v8; // 0x1800117d0
    int64_t v9; // 0x1800117ed
    if (*(int64_t *)(v5 + 448) != 0) {
        // 0x18001169c
        *v6 = 0;
        int64_t v10 = g117; // 0x1800116a6
        unsigned char v11 = *(char *)(v10 + 416) / 2; // 0x1800116ad
        g114 = v11;
        if ((v11 & 1) != 0) {
            // 0x1800116b7
            g112 = 0;
            int64_t v12 = g119 & -256 | 58; // 0x1800116ba
            g119 = v12;
            int64_t v13 = v10 + 240; // 0x1800116bc
            g117 = v13;
            int64_t v14 = _3f_find_40_wxString_40__40_QEBA_KD_K_40_Z(v13, v12, 0); // 0x1800116c3
            g114 = v14;
            g120 = v14;
            int64_t v15 = *(int64_t *)0x180019bf8; // 0x1800116cc
            g117 = v15;
            int64_t v16; // bp-216
            if (v14 != *(int64_t *)v15) {
                // 0x180011713
                g112 = 0;
                int64_t v17 = &v7; // 0x180011719
                g119 = v17;
                int64_t v18 = g116 + 240; // 0x18001171e
                g117 = v18;
                int64_t v19 = _3f__3f_RwxString_40__40_QEBA_3f_AV0_40__K0_40_Z(v18, &v7, 0, v14); // 0x180011725
                g114 = v19;
                g119 = v19;
                int64_t v20 = &v16; // 0x18001172f
                g117 = v20;
                int64_t v21 = _3f_Unescape_40_wxURI_40__40_SA_3f_AVwxString_40__40_AEBV2_40__40_Z(&v16, v19); // 0x180011734
                g114 = v21;
                int64_t v22 = *(int64_t *)(g116 + 448) + 264; // 0x180011742
                g117 = v22;
                g119 = v21;
                g114 = _3f__3f_4wxString_40__40_QEAAAEAV0_40_AEBV0_40__40_Z(v22, v21);
                g117 = v20;
                g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v20, v21, 0);
                g117 = v17;
                g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v17, v21, 0);
                int64_t v23 = g116 + 240; // 0x18001176a
                g117 = v23;
                int64_t v24 = _3f_length_40_wxString_40__40_QEBA_KXZ((int64_t *)v23); // 0x180011771
                g114 = v24;
                int64_t v25 = g120 + 1; // 0x180011777
                g112 = v25;
                g119 = v20;
                int64_t v26 = g116 + 240; // 0x180011784
                g117 = v26;
                int64_t v27 = _3f__3f_RwxString_40__40_QEBA_3f_AV0_40__K0_40_Z(v26, &v16, (int32_t)v25, v24 + 1); // 0x18001178b
                g114 = v27;
                g119 = v27;
                g117 = v17;
                int64_t v28 = _3f_Unescape_40_wxURI_40__40_SA_3f_AVwxString_40__40_AEBV2_40__40_Z(&v7, v27); // 0x18001179a
                g114 = v28;
                int64_t v29 = *(int64_t *)(g116 + 448) + 320; // 0x1800117a8
                g117 = v29;
                g119 = v28;
                g114 = _3f__3f_4wxString_40__40_QEAAAEAV0_40_AEBV0_40__40_Z(v29, v28);
                g117 = v17;
                g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v17, g119, g112);
                g117 = v20;
                g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v20, g119, g112);
            } else {
                int64_t v30 = g116 + 240; // 0x1800116d8
                g119 = v30;
                int64_t v31 = &v16; // 0x1800116df
                g117 = v31;
                int64_t v32 = _3f_Unescape_40_wxURI_40__40_SA_3f_AVwxString_40__40_AEBV2_40__40_Z(&v16, v30); // 0x1800116e4
                g114 = v32;
                int64_t v33 = *(int64_t *)(g116 + 448) + 264; // 0x1800116f2
                g117 = v33;
                g119 = v32;
                g114 = _3f__3f_4wxString_40__40_QEAAAEAV0_40_AEBV0_40__40_Z(v33, v32);
                g117 = v31;
                g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v31, g119, g112);
            }
        }
        // 0x1800117d0
        int32_t v34; // bp-152
        v8 = &v34;
        g117 = v8;
        _3f__3f_0wxSockAddress_40__40_QEAA_40_XZ(v8);
        g114 = &g6;
        v34 = &g6;
        int64_t v35; // bp-128
        v9 = &v35;
        g117 = v9;
        _3f__3f_0wxString_40__40_QEAA_40_XZ(v9);
        g114 = &g7;
        v34 = &g7;
        int64_t v36 = g116; // 0x18001180b
        if (*(char *)(v36 + 432) != 0) {
            goto lab_0x1800118ce;
        } else {
            int64_t v37 = *(int64_t *)(v36 + 440); // 0x180011818
            g114 = v37;
            if (*(char *)(v37 + 200) == 0) {
                goto lab_0x1800118ce;
            } else {
                int64_t v38 = v36 + 296; // 0x18001182c
                g119 = v38;
                g117 = v8;
                int64_t v39 = _3f_Hostname_40_wxIPaddress_40__40_QEAA_NAEBVwxString_40__40__40_Z(v8, v38); // 0x18001183b
                g114 = v39;
                int64_t v40 = g116; // 0x180011871
                if ((char)v39 != 0) {
                    int64_t v41 = v40 + 352; // 0x180011871
                    g119 = v41;
                    g117 = v8;
                    int64_t v42 = _3f_Service_40_wxIPaddress_40__40_QEAA_NAEBVwxString_40__40__40_Z((int64_t *)&v34, (int64_t *)v41); // 0x180011880
                    g114 = v42;
                    int64_t v43 = g116; // 0x180011885
                    int64_t v44 = *(int64_t *)(v43 + 448); // 0x180011885
                    g117 = v44;
                    int64_t v45 = *(int64_t *)v44; // 0x18001188c
                    g114 = v45;
                    g112 = g112 & -256 | 1;
                    g119 = v8;
                    if ((char)v45 != 0) {
                        goto lab_0x1800118ce;
                    } else {
                        // 0x1800118a1
                        *(int32_t *)(v43 + 456) = 5;
                        g117 = v9;
                        g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v9, g119, g112);
                        g117 = v8;
                        _3f__3f_1wxSockAddress_40__40_UEAA_40_XZ(v8);
                        g114 = 0;
                        goto lab_0x180011a40;
                    }
                } else {
                    // 0x180011844
                    *(int32_t *)(v40 + 456) = 3;
                    g117 = v9;
                    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v9, v38, g112);
                    g117 = v8;
                    _3f__3f_1wxSockAddress_40__40_UEAA_40_XZ(v8);
                    g114 = 0;
                    goto lab_0x180011a40;
                }
            }
        }
    } else {
        // 0x18001168b
        *v6 = 2;
        g114 = 0;
        goto lab_0x180011a40;
    }
  lab_0x1800118ce:;
    // 0x1800118ce
    int64_t v46; // bp-72
    int64_t v47 = &v46; // 0x1800118ce
    g117 = v47;
    g114 = _3f__3f_0wxString_40__40_QEAA_40_XZ(v47);
    int64_t v48 = g116; // 0x1800118dd
    int64_t v49; // 0x1800118fb
    if (*(char *)(v48 + 432) != 0) {
        int64_t v50 = v48 + 464; // 0x1800118e6
        g119 = v50;
        g117 = v47;
        g114 = _3f__3f_YwxString_40__40_QEAAAEAV0_40_AEBV0_40__40_Z(v47, (int64_t *)v50);
        v49 = g116;
    } else {
        v49 = v48;
    }
    int64_t v51 = v49 + 72; // 0x1800118fb
    g117 = v51;
    int64_t v52 = _3f_empty_40_wxString_40__40_QEBA_NXZ(v51, g119); // 0x1800118ff
    g114 = v52;
    int64_t v53;
    if ((char)v52 == 0) {
        int64_t v54 = g116 + 72; // 0x180011920
        g119 = v54;
        g117 = v47;
        v53 = _3f__3f_YwxString_40__40_QEAAAEAV0_40_AEBV0_40__40_Z(v47, (int64_t *)v54);
    } else {
        // 0x180011909
        g119 = (int64_t)&g11;
        g117 = v47;
        int64_t v55 = _3f__3f_YwxString_40__40_QEAAAEAV0_40_PEB_W_40_Z(&v46, (int64_t *)&g11); // 0x180011918
        v53 = v55;
    }
    // 0x180011932
    g114 = v53;
    int64_t v56 = g116; // 0x180011932
    unsigned char v57 = *(char *)(v56 + 416) / 32; // 0x180011939
    g114 = v57;
    int64_t v58; // 0x180011985
    if ((v57 & 1) != 0) {
        int64_t v59 = v56 + 128; // 0x180011940
        g112 = v59;
        g119 = (int64_t)&g50;
        int64_t v60 = &v7; // 0x18001194e
        g117 = v60;
        int64_t v61 = _3f__3f_H_40_YA_3f_AVwxString_40__40_PEB_WAEBV0_40__40_Z(&v7, (int16_t *)&g50, v59); // 0x180011953
        g114 = v61;
        g119 = v61;
        g117 = v47;
        g114 = _3f__3f_YwxString_40__40_QEAAAEAV0_40_AEBV0_40__40_Z(v47, (int64_t *)v61);
        g117 = v60;
        g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v60, v61, g112);
        v58 = g116;
    } else {
        v58 = v56;
    }
    unsigned char v62 = *(char *)(v58 + 416) / 64; // 0x18001197e
    g114 = v62;
    int64_t v63; // 0x1800119d9
    if ((v62 & 1) != 0) {
        int64_t v64 = v58 + 184; // 0x180011985
        g112 = v64;
        g119 = (int64_t)&g49;
        int64_t v65 = &v7; // 0x180011993
        g117 = v65;
        int64_t v66 = _3f__3f_H_40_YA_3f_AVwxString_40__40_PEB_WAEBV0_40__40_Z(&v7, (int16_t *)&g49, v64); // 0x180011998
        g114 = v66;
        g119 = v66;
        g117 = v47;
        g114 = _3f__3f_YwxString_40__40_QEAAAEAV0_40_AEBV0_40__40_Z(v47, (int64_t *)v66);
        g117 = v65;
        g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v65, v66, g112);
        v63 = g116;
    } else {
        v63 = v58;
    }
    int64_t v67 = *(int64_t *)(v63 + 448); // 0x1800119bc
    g117 = v67;
    int64_t v68 = *(int64_t *)v67; // 0x1800119c3
    g114 = v68;
    g119 = v47;
    g118 = v68;
    if (v68 != 0) {
        // 0x180011a12
        g117 = v47;
        g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v47, v47, g112);
        g117 = v9;
        g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v9, v47, g112);
        g117 = v8;
        _3f__3f_1wxSockAddress_40__40_UEAA_40_XZ(v8);
        g114 = g118;
    } else {
        // 0x1800119d9
        *(int32_t *)(v63 + 456) = 6;
        g117 = v47;
        g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v47, v47, g112);
        g117 = v9;
        g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v9, v47, g112);
        g117 = v8;
        _3f__3f_1wxSockAddress_40__40_UEAA_40_XZ(v8);
        g114 = 0;
    }
    goto lab_0x180011a40;
  lab_0x180011a40:;
    int64_t v69 = g121 ^ v4; // 0x180011a48
    g117 = v69;
    __security_check_cookie(v69);
    g114 = &g122;
    g116 = v1;
    g120 = v2;
    return &g122;
}
 
// Address range: 0x180011a70 - 0x180011a78
int64_t function_180011a70(void) {
    // 0x180011a70
    g114 = &g84;
    return &g84;
}
 
// Address range: 0x180011a80 - 0x180011ae7
int64_t function_180011a80(int64_t a1) {
    // 0x180011a80
    g117 = a1;
    int64_t v1 = g116; // 0x180011a85
    g116 = a1;
    _3f__3f_0wxModule_40__40_QEAA_40_XZ(a1);
    g114 = &g51;
    *(int64_t *)g116 = (int64_t)&g51;
    g119 = (int64_t)L"wxSocketModule";
    int64_t v2; // bp-64
    int64_t v3 = &v2; // 0x180011aae
    g117 = v3;
    g114 = _3f__3f_0wxString_40__40_QEAA_40_PEB_W_40_Z(&v2, (int64_t)L"wxSocketModule", g112);
    g117 = v3;
    int64_t v4 = _3f_FindClass_40_wxClassInfo_40__40_SAPEAV1_40_AEBVwxString_40__40__40_Z(&v2); // 0x180011abf
    g114 = v4;
    g119 = v4;
    int64_t v5 = g116; // 0x180011ac8
    g117 = v5;
    g114 = _3f_AddDependency_40_wxModule_40__40_IEAAXPEAVwxClassInfo_40__40__40_Z(v5, v4);
    g117 = v3;
    _3f__3f_1wxString_40__40_QEAA_40_XZ(v3, v4, g112);
    int64_t result = g116; // 0x180011ade
    g114 = result;
    g116 = v1;
    return result;
}
 
// Address range: 0x180011af0 - 0x180011b62
int64_t function_180011af0(int64_t a1, int64_t a2) {
    // 0x180011af0
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x180011af0
    int64_t v2 = g120; // 0x180011af5
    int64_t v3 = g119; // 0x180011afa
    g120 = v3;
    g116 = a1;
    if ((v3 & 2) == 0) {
        // 0x180011b41
        g114 = _3f__3f_1wxURL_40__40_UEAA_40_XZ((int64_t *)a1);
        if ((g120 & 1) != 0) {
            int64_t v4 = g116; // 0x180011b4c
            g117 = v4;
            g114 = function_18001310e(v4);
        }
        int64_t result = g116; // 0x180011b54
        g114 = result;
        g116 = v1;
        g120 = v2;
        return result;
    }
    uint32_t v5 = *(int32_t *)(a1 - 8); // 0x180011b04
    g112 = v5;
    g119 = 520;
    g114 = function_180013168(a1, 520, v5, 0x1800115c0);
    if ((g120 & 1) != 0) {
        int64_t v6 = g116 - 8; // 0x180011b24
        g117 = v6;
        g114 = function_180013114(v6);
    }
    int64_t result2 = g116 - 8; // 0x180011b2d
    g114 = result2;
    g116 = v1;
    g120 = v2;
    return result2;
}
 
// Address range: 0x180011b70 - 0x180011c12
// Demangled:     protected: wxURL::FetchProtocol
int64_t _3f_FetchProtocol_40_wxURL_40__40_IEAA_NXZ(int64_t a1) {
    // 0x180011b70
    g117 = a1;
    int64_t v1 = g116; // 0x180011b70
    int64_t v2 = g120; // 0x180011b75
    int64_t v3 = *(int64_t *)0x18002f018; // 0x180011b7f
    g116 = v3;
    int64_t v4 = g117; // 0x180011b86
    int64_t result; // 0x180011bae
    if (v3 == 0) {
        // 0x180011bae
        result = g114 & -256;
        g114 = result;
        g116 = v1;
        g120 = v2;
        return result;
    }
    int64_t v5 = v3 + 24; // 0x180011b9027
    g119 = v5;
    int64_t v6 = v4 + 16; // 0x180011b9428
    g117 = v6;
    int64_t v7;
    int64_t v8 = v7 & -256 | 1; // 0x180011b9830
    g112 = v8;
    int64_t v9 = _3f_IsSameAs_40_wxString_40__40_QEBA_NAEBV1_40__N_40_Z(v6, v5, v8); // 0x180011b9b31
    g114 = v9;
    if ((char)v9 != 0) {
      lab_0x180011bc0:;
        int64_t v10 = v4 + 352; // 0x180011bc0
        g117 = v10;
        int64_t v11 = _3f_empty_40_wxString_40__40_QEBA_NXZ(v10, v5); // 0x180011bc7
        g114 = v11;
        if ((char)v11 != 0) {
            int64_t v12 = g116 + 136; // 0x180011bd1
            g119 = v12;
            int64_t v13 = v4 + 352; // 0x180011bd8
            g117 = v13;
            g114 = _3f__3f_4wxString_40__40_QEAAAEAV0_40_AEBV0_40__40_Z(v13, v12);
        }
        // 0x180011be5
        *(int64_t *)(v4 + 440) = g116;
        int64_t v14 = *(int64_t *)(g116 + 192); // 0x180011bec
        g117 = v14;
        int64_t v15 = _3f_CreateObject_40_wxClassInfo_40__40_QEBAPEAVwxObject_40__40_XZ(v14); // 0x180011bf3
        g114 = v15;
        g116 = v1;
        g120 = v2;
        *(int64_t *)(v4 + 448) = v15;
        int64_t result2 = g114 & -256 | 1; // 0x180011c0a
        g114 = result2;
        return result2;
    }
    while (true) {
        int64_t v16 = *(int64_t *)(g116 + 16); // 0x180011ba5
        g116 = v16;
        if (v16 == 0) {
            // break -> 0x180011bae
            break;
        }
        int64_t v17 = v16 + 24; // 0x180011b90
        g119 = v17;
        int64_t v18 = v4 + 16; // 0x180011b94
        g117 = v18;
        int64_t v19 = v8 & -256 | 1; // 0x180011b98
        g112 = v19;
        int64_t v20 = _3f_IsSameAs_40_wxString_40__40_QEBA_NAEBV1_40__N_40_Z(v18, v17, v19); // 0x180011b9b
        g114 = v20;
        if ((char)v20 != 0) {
            v5 = v17;
            goto lab_0x180011bc0;
        }
        v9 = v20;
        v8 = v19;
    }
    // 0x180011bae
    result = v9 & -256;
    g114 = result;
    g116 = v1;
    g120 = v2;
    return result;
}
 
// Address range: 0x180011c20 - 0x180011ecc
// Demangled:     public: static wxURL::SetDefaultProxy
int64_t _3f_SetDefaultProxy_40_wxURL_40__40_SAXAEBVwxString_40__40__40_Z(int64_t * a1) {
    int64_t v1 = (int64_t)a1;
    g117 = v1;
    int64_t v2 = g118; // 0x180011c20
    int64_t v3 = g116; // 0x180011c32
    int64_t v4; // bp-312
    int64_t v5 = g61 ^ (int64_t)&v4; // 0x180011c41
    g114 = v5;
    g116 = v1;
    int64_t v6 = _3f__3f_7wxString_40__40_QEBA_NXZ(v1); // 0x180011c4f
    g114 = v6;
    if ((char)v6 == 0) {
        int64_t v7 = g116; // 0x180011c98
        g119 = v7;
        int64_t v8; // bp-184
        int64_t v9 = &v8; // 0x180011c9b
        g117 = v9;
        g114 = _3f__3f_0wxString_40__40_QEAA_40_AEBV0_40__40_Z(v9, v7);
        g119 = 58;
        g112 = 0;
        g117 = v9;
        int64_t v10 = _3f_Find_40_wxString_40__40_QEBAH_W_N_40_Z(v9, 58, 0); // 0x180011cba
        g114 = v10;
        g118 = v10;
        if ((int32_t)v10 != -1) {
            // 0x180011cdb
            g112 = 0;
            int64_t v11; // bp-128
            int64_t v12 = &v11; // 0x180011ce1
            g119 = v12;
            g117 = v9;
            g114 = _3f__3f_RwxString_40__40_QEBA_3f_AV0_40__K0_40_Z(v9, &v11, 0, v10);
            g117 = v9;
            int64_t v13 = _3f_length_40_wxString_40__40_QEBA_KXZ(&v8); // 0x180011d00
            int64_t v14 = g118; // 0x180011d06
            int64_t v15 = v13 - v14; // 0x180011d06
            g114 = v15;
            int64_t v16 = v14 + 1; // 0x180011d09
            g112 = v16;
            g113 = v15;
            int64_t v17; // bp-72
            int64_t v18 = &v17; // 0x180011d12
            g119 = v18;
            g117 = v9;
            int64_t v19 = _3f__3f_RwxString_40__40_QEBA_3f_AV0_40__K0_40_Z(v9, &v17, (int32_t)v16, v15); // 0x180011d22
            g114 = v19;
            int32_t v20; // bp-264
            int64_t v21 = &v20; // 0x180011d29
            g117 = v21;
            _3f__3f_0wxSockAddress_40__40_QEAA_40_XZ(v21);
            g114 = &g6;
            v20 = &g6;
            int64_t v22; // bp-240
            int64_t v23 = &v22; // 0x180011d40
            g117 = v23;
            _3f__3f_0wxString_40__40_QEAA_40_XZ(v23);
            g114 = &g7;
            v20 = &g7;
            g119 = v12;
            g117 = v21;
            int64_t v24 = _3f_Hostname_40_wxIPaddress_40__40_QEAA_NAEBVwxString_40__40__40_Z(v21, v12); // 0x180011d65
            g114 = v24;
            if ((char)v24 != 0) {
                // 0x180011db6
                g119 = v18;
                g117 = v21;
                int64_t v25 = _3f_Service_40_wxIPaddress_40__40_QEAA_NAEBVwxString_40__40__40_Z((int64_t *)&v20, &v17); // 0x180011dc3
                g114 = v25;
                if ((char)v25 != 0) {
                    int64_t v26 = *(int64_t *)0x18002f020; // 0x180011e14
                    g117 = v26;
                    int64_t v27; // 0x180011e59
                    if (v26 == 0) {
                        // 0x180011e2f
                        g117 = 600;
                        int64_t v28 = function_18001323c(600, v18); // 0x180011e34
                        g114 = v28;
                        int64_t v29;
                        if (v28 == 0) {
                            v29 = 0;
                        } else {
                            // 0x180011e43
                            g117 = v28;
                            int64_t v30 = _3f__3f_0wxHTTP_40__40_QEAA_40_XZ(v28); // 0x180011e46
                            g114 = v30;
                            v29 = v30;
                        }
                        // 0x180011e52
                        g117 = v29;
                        *(int64_t *)0x18002f020 = v29;
                        v27 = g117;
                    } else {
                        // 0x180011e20
                        g114 = *(int64_t *)v26;
                        int64_t v31 = *(int64_t *)0x18002f020; // 0x180011e26
                        g117 = v31;
                        v27 = v31;
                    }
                    // 0x180011e59
                    g114 = *(int64_t *)v27;
                    int64_t v32 = 0x100000000 * v16 / 0x100000000 & -256 | 1; // 0x180011e5c
                    g112 = v32;
                    g119 = v21;
                    g117 = v23;
                    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v23, v21, v32);
                    g117 = v21;
                    g114 = _3f__3f_1wxSockAddress_40__40_UEAA_40_XZ(v21);
                    g117 = v18;
                    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v18, v21, v32);
                    g117 = v12;
                    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v12, v21, v32);
                    g117 = v9;
                    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v9, v21, v32);
                } else {
                    // 0x180011dcc
                    g117 = v23;
                    int64_t v33 = 0x100000000 * v16 / 0x100000000; // 0x180011dd1
                    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v23, v18, v33);
                    g117 = v21;
                    g114 = _3f__3f_1wxSockAddress_40__40_UEAA_40_XZ(v21);
                    g117 = v18;
                    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v18, v18, v33);
                    g117 = v12;
                    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v12, v18, v33);
                    g117 = v9;
                    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v9, v18, v33);
                }
            } else {
                // 0x180011d6e
                g117 = v23;
                int64_t v34 = 0x100000000 * v16 / 0x100000000; // 0x180011d73
                g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v23, v12, v34);
                g117 = v21;
                g114 = _3f__3f_1wxSockAddress_40__40_UEAA_40_XZ(v21);
                g117 = v18;
                g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v18, v12, v34);
                g117 = v12;
                g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v12, v12, v34);
                g117 = v9;
                g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v9, v12, v34);
            }
        } else {
            // 0x180011cc8
            g117 = v9;
            g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v9, 58, 0);
        }
    } else {
        int64_t v35 = *(int64_t *)0x18002f020; // 0x180011c59
        g117 = v35;
        if (v35 != 0) {
            // 0x180011c69
            g114 = *(int64_t *)v35;
            int64_t v36 = *(int64_t *)0x18002f020; // 0x180011c6f
            g117 = v36;
            if (v36 != 0) {
                // 0x180011c7f
                g114 = *(int64_t *)v36;
                g119 = 1;
                g117 = 0;
                *(int64_t *)0x18002f020 = 0;
            }
        }
    }
    int64_t v37 = g121 ^ v5; // 0x180011eb3
    g117 = v37;
    __security_check_cookie(v37);
    g114 = &g122;
    g116 = v3;
    g118 = v2;
    return &g122;
}
 
// Address range: 0x180011ed0 - 0x180011f03
int64_t function_180011ed0(void) {
    // 0x180011ed0
    g117 = 80;
    int64_t v1 = function_18001323c(80, g119); // 0x180011ee2
    g114 = v1;
    int64_t v2 = 0x100000000 * v1;
    int64_t result;
    if (v2 == 0) {
        result = 0;
    } else {
        int64_t v3 = v2 / 0x100000000; // 0x180011ef1
        g117 = v3;
        result = function_180011a80(v3);
    }
    // 0x180011efe
    g114 = result;
    return result;
}
 
// Address range: 0x180011f10 - 0x180011f40
int64_t function_180011f10(int64_t result, int64_t a2) {
    // 0x180011f10
    g119 = a2;
    g117 = result;
    int64_t v1 = g116; // 0x180011f10
    g116 = g119;
    g114 = _3f__3f_1wxModule_40__40_UEAA_40_XZ(result);
    if ((g116 & 1) != 0) {
        g117 = result;
        g114 = function_18001310e(result);
    }
    g114 = result;
    g116 = v1;
    return result;
}
 
// Address range: 0x180011f40 - 0x180011f70
int64_t function_180011f40(void) {
    // 0x180011f40
    g117 = (int64_t)L"HTTP_PROXY";
    int16_t * v1 = _wgetenv(L"HTTP_PROXY"); // 0x180011f4b
    int64_t v2 = (int64_t)v1; // 0x180011f4b
    g114 = v2;
    g119 = 1;
    g114 = v2 & -256 | 1;
    int64_t v3 = v1 != NULL ? 1 : (int64_t)*(char *)0x18002f028;
    g117 = v3;
    *(char *)0x18002f028 = (char)v3;
    return g114;
}
 
// Address range: 0x180011f70 - 0x180011f9b
int64_t function_180011f70(void) {
    int64_t v1 = *(int64_t *)0x18002f020; // 0x180011f74
    g117 = v1;
    if (v1 != 0) {
        // 0x180011f80
        g114 = *(int64_t *)v1;
        g119 = 1;
        *(int64_t *)0x18002f020 = 0;
    }
    // 0x180011f96
    return g114;
}
 
// Address range: 0x180011fa0 - 0x180012065
// Demangled:     protected: wxURL::Init
int64_t _3f_Init_40_wxURL_40__40_IEAAXAEBVwxString_40__40__40_Z(int64_t a1) {
    // 0x180011fa0
    g117 = a1;
    int64_t v1 = g118; // 0x180011fa0
    int64_t v2 = g116; // 0x180011faf
    int64_t v3 = g117; // 0x180011fb4
    g116 = v3;
    g118 = 0;
    *(int64_t *)(v3 + 448) = 0;
    *(int32_t *)(g117 + 456) = (int32_t)g118;
    int64_t v4 = g117 + 464; // 0x180011fc6
    g117 = v4;
    g114 = _3f__3f_4wxString_40__40_QEAAAEAV0_40_AEBV0_40__40_Z(v4, g119);
    int64_t v5 = *(int64_t *)0x18002f020; // 0x180012039
    g114 = v5;
    int64_t v6; // 0x180012043
    if (*(char *)0x18002f028 != (char)g118) {
        if (v5 == 0) {
            // 0x180011fe8
            g117 = (int64_t)L"HTTP_PROXY";
            int64_t v7 = (int64_t)_wgetenv(L"HTTP_PROXY"); // 0x180011fef
            g114 = v7;
            g119 = v7;
            int64_t v8; // bp-64
            int64_t v9 = &v8; // 0x180011ff8
            g117 = v9;
            g114 = _3f__3f_0wxString_40__40_QEAA_40_PEB_W_40_Z(&v8, v7, g112);
            g117 = v9;
            g114 = _3f_SetDefaultProxy_40_wxURL_40__40_SAXAEBVwxString_40__40__40_Z(&v8);
            g117 = v9;
            g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v9, v7, g112);
            int64_t v10 = *(int64_t *)0x18002f020; // 0x180012022
            g114 = v10;
            int64_t v11 = v10 == 0 ? g118 : (int64_t)*(char *)0x18002f028;
            *(char *)0x18002f028 = (char)v11;
            v6 = g114;
        } else {
            v6 = v5;
        }
    } else {
        v6 = v5;
    }
    // 0x180012040
    g114 = (int64_t)(v6 != 0) | v6 & -256;
    *(char *)(g116 + 432) = (char)(v6 != 0);
    int64_t v12 = *(int64_t *)0x18002f020; // 0x18001204c
    g114 = v12;
    *(int64_t *)(g116 + 424) = v12;
    g116 = v2;
    g118 = v1;
    return g114;
}
 
// Address range: 0x180012070 - 0x1800121dd
// Demangled:     protected: wxURL::ParseURL
int64_t _3f_ParseURL_40_wxURL_40__40_IEAA_NXZ(int64_t a1) {
    // 0x180012070
    g117 = a1;
    int64_t v1 = g116; // 0x180012082
    g116 = a1;
    int64_t v2; // 0x180012105
    if (*(int64_t *)(a1 + 448) == 0) {
        // 0x180012097
        if ((*(char *)(a1 + 416) & 1) == 0) {
            // 0x1800120a0
            *(int32_t *)(a1 + 456) = 1;
            int64_t result = g114 & -256; // 0x1800120aa
            g114 = result;
            // 0x1800121cc
            g116 = v1;
            return result;
        }
        int64_t v3 = _3f_FetchProtocol_40_wxURL_40__40_IEAA_NXZ(a1); // 0x1800120b1
        g114 = v3;
        int64_t v4 = g116; // 0x1800120c9
        if ((char)v3 == 0) {
            // 0x1800120ba
            *(int32_t *)(v4 + 456) = 2;
            // 0x1800121cc
            g116 = v1;
            return g114;
        }
        int64_t v5 = *(int64_t *)(v4 + 440); // 0x1800120c9
        g114 = v5;
        if (*(char *)(v5 + 200) != 0) {
            unsigned char v6 = *(char *)(v4 + 416) / 4; // 0x1800120e0
            g114 = v6;
            if ((v6 & 1) == 0) {
                // 0x1800120e7
                *(int32_t *)(v4 + 456) = 1;
                int64_t result2 = g114 & -256; // 0x1800120f1
                g114 = result2;
                // 0x1800121cc
                g116 = v1;
                return result2;
            }
            v2 = v4;
        } else {
            v2 = v4;
        }
    } else {
        v2 = a1;
    }
    // 0x1800120f8
    int64_t v7; // 0x1800121c0
    if (*(char *)(v2 + 432) != 0) {
        int64_t v8 = v2 + 16; // 0x180012105
        g119 = v8;
        g112 = (int64_t)&g13;
        int64_t v9; // bp-128
        int64_t v10 = &v9; // 0x180012110
        g117 = v10;
        int64_t v11 = _3f__3f_H_40_YA_3f_AVwxString_40__40_AEBV0_40_PEB_W_40_Z(&v9, v8, (int64_t *)&g13); // 0x180012115
        g114 = v11;
        g119 = v11;
        int64_t v12 = g116 + 464; // 0x18001211f
        g117 = v12;
        g114 = _3f__3f_4wxString_40__40_QEAAAEAV0_40_AEBV0_40__40_Z(v12, v11);
        g117 = v10;
        int64_t v13 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v10, v11, (int64_t)&g13); // 0x180012132
        g114 = v13;
        int64_t v14 = g116; // 0x180012138
        int64_t v15; // 0x1800121a1
        if (*(char *)(*(int64_t *)(v14 + 440) + 200) != 0) {
            // 0x180012149
            g112 = (int64_t)L"//";
            int64_t v16 = v14 + 464; // 0x180012150
            g119 = v16;
            int64_t v17; // bp-72
            int64_t v18 = &v17; // 0x180012157
            g117 = v18;
            int64_t v19 = _3f__3f_H_40_YA_3f_AVwxString_40__40_AEBV0_40_PEB_W_40_Z(&v17, v16, (int64_t *)L"//"); // 0x18001215c
            g114 = v19;
            int64_t v20 = g116 + 296; // 0x180012163
            g112 = v20;
            g119 = v19;
            g117 = v10;
            int64_t v21 = _3f__3f_H_40_YA_3f_AVwxString_40__40_AEBV0_40_0_40_Z(&v9, v19, v20); // 0x180012172
            g114 = v21;
            g119 = v21;
            int64_t v22 = g116 + 464; // 0x18001217c
            g117 = v22;
            g114 = _3f__3f_4wxString_40__40_QEAAAEAV0_40_AEBV0_40__40_Z(v22, v21);
            g117 = v10;
            g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v10, v21, v20);
            g117 = v18;
            g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v18, v21, v20);
            v15 = g116;
        } else {
            v15 = v14;
        }
        int64_t v23 = *(int64_t *)(v15 + 448); // 0x1800121a1
        g117 = v23;
        int64_t v24; // 0x1800121b2
        if (v23 != 0) {
            // 0x1800121ad
            g114 = _3f_Destroy_40_wxSocketBase_40__40_QEAA_NXZ(v23);
            v24 = g116;
        } else {
            v24 = v15;
        }
        int64_t v25 = *(int64_t *)(v24 + 424); // 0x1800121b2
        g114 = v25;
        *(int64_t *)(v24 + 448) = v25;
        v7 = g116;
    } else {
        v7 = v2;
    }
    // 0x1800121c0
    *(int32_t *)(v7 + 456) = 0;
    int64_t result3 = g114 & -256 | 1; // 0x1800121ca
    g114 = result3;
    // 0x1800121cc
    g116 = v1;
    return result3;
}
 
// Address range: 0x1800121e0 - 0x1800124d6
// Demangled:     public: wxURL::SetProxy
int64_t _3f_SetProxy_40_wxURL_40__40_QEAAXAEBVwxString_40__40__40_Z(int64_t a1, int64_t a2, int64_t a3) {
    // 0x1800121e0
    g112 = a3;
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x1800121f4
    int64_t v2 = g120; // 0x1800121f8
    int64_t v3; // bp-376
    int64_t v4 = g61 ^ (int64_t)&v3; // 0x180012203
    g114 = v4;
    int64_t v5 = g119; // 0x18001220e
    g116 = v5;
    g118 = g117;
    g117 = v5;
    int64_t v6 = _3f__3f_7wxString_40__40_QEBA_NXZ(v5); // 0x180012217
    g114 = v6;
    if ((char)v6 == 0) {
        // 0x18001225f
        int64_t v7; // bp-272
        int64_t v8 = &v7; // 0x18001225f
        g117 = v8;
        g114 = _3f__3f_0wxString_40__40_QEAA_40_XZ(v8);
        int64_t v9; // bp-80
        int64_t v10 = &v9; // 0x18001226b
        g117 = v10;
        g114 = _3f__3f_0wxString_40__40_QEAA_40_XZ(v10);
        int64_t v11; // bp-136
        int64_t v12 = &v11; // 0x18001227a
        g117 = v12;
        g114 = _3f__3f_0wxString_40__40_QEAA_40_XZ(v12);
        int32_t v13; // bp-216
        int64_t v14 = &v13; // 0x180012289
        g117 = v14;
        _3f__3f_0wxSockAddress_40__40_QEAA_40_XZ(v14);
        g114 = &g6;
        v13 = &g6;
        int64_t v15; // bp-192
        int64_t v16 = &v15; // 0x1800122a6
        g117 = v16;
        _3f__3f_0wxString_40__40_QEAA_40_XZ(v16);
        g114 = &g7;
        v13 = &g7;
        int64_t v17 = g116; // 0x1800122c4
        g119 = v17;
        g117 = v8;
        g114 = _3f__3f_4wxString_40__40_QEAAAEAV0_40_AEBV0_40__40_Z(v8, v17);
        g119 = 58;
        g112 = 0;
        g117 = v8;
        int64_t v18 = _3f_Find_40_wxString_40__40_QEBAH_W_N_40_Z(v8, 58, 0); // 0x1800122df
        g114 = v18;
        g120 = v18;
        if ((int32_t)v18 != -1) {
            // 0x180012338
            g112 = 0;
            int64_t v19; // bp-328
            int64_t v20 = &v19; // 0x18001233e
            g119 = v20;
            g117 = v8;
            int64_t v21 = _3f__3f_RwxString_40__40_QEBA_3f_AV0_40__K0_40_Z(v8, &v19, 0, v18); // 0x180012348
            g114 = v21;
            g119 = v21;
            g117 = v10;
            g114 = _3f__3f_4wxString_40__40_QEAAAEAV0_40_AEBV0_40__40_Z(v10, v21);
            g117 = v20;
            g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v20, v21, 0);
            g117 = v8;
            int64_t v22 = _3f_length_40_wxString_40__40_QEBA_KXZ(&v7); // 0x180012371
            int64_t v23 = g120; // 0x180012377
            int64_t v24 = v22 - v23; // 0x180012377
            g114 = v24;
            int64_t v25 = v23 + 1; // 0x18001237a
            g112 = v25;
            g113 = v24;
            g119 = v20;
            g117 = v8;
            int64_t v26 = _3f__3f_RwxString_40__40_QEBA_3f_AV0_40__K0_40_Z(v8, &v19, (int32_t)v25, v24); // 0x18001238d
            g114 = v26;
            g119 = v26;
            g117 = v12;
            g114 = _3f__3f_4wxString_40__40_QEAAAEAV0_40_AEBV0_40__40_Z(v12, v26);
            g117 = v20;
            int64_t v27 = 0x100000000 * v25 / 0x100000000; // 0x1800123ab
            g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v20, v26, v27);
            g119 = v10;
            g117 = v14;
            g114 = _3f_Hostname_40_wxIPaddress_40__40_QEAA_NAEBVwxString_40__40__40_Z(v14, v10);
            g119 = v12;
            g117 = v14;
            int64_t v28 = _3f_Service_40_wxIPaddress_40__40_QEAA_NAEBVwxString_40__40__40_Z((int64_t *)&v13, &v11); // 0x1800123d6
            g114 = v28;
            int64_t v29 = *(int64_t *)(g118 + 424); // 0x1800123db
            g117 = v29;
            if (v29 != 0) {
                // 0x1800123e7
                if (v29 != *(int64_t *)0x18002f020) {
                    // 0x1800123f0
                    g114 = *(int64_t *)v29;
                    g119 = 1;
                }
            }
            // 0x1800123fb
            g117 = 600;
            int64_t v30 = function_18001323c(600, g119); // 0x180012400
            g114 = v30;
            int64_t v31;
            if (v30 == 0) {
                v31 = 0;
            } else {
                // 0x18001240f
                g117 = v30;
                int64_t v32 = _3f__3f_0wxHTTP_40__40_QEAA_40_XZ(v30); // 0x180012412
                g114 = v32;
                v31 = v32;
            }
            // 0x18001241e
            g117 = v31;
            *(int64_t *)(g118 + 424) = v31;
            g114 = *(int64_t *)g117;
            int64_t v33 = v27 & -256 | 1; // 0x180012428
            g112 = v33;
            g119 = v14;
            if (*(char *)(g118 + 432) == 0) {
                int64_t v34 = *(int64_t *)(g118 + 448); // 0x18001243f
                g117 = v34;
                if (v34 != 0) {
                    // 0x18001244b
                    g114 = _3f_Destroy_40_wxSocketBase_40__40_QEAA_NXZ(v34);
                    *(int64_t *)(g118 + 448) = 0;
                }
            }
            // 0x18001245b
            *(char *)(g118 + 432) = 1;
            g117 = g118;
            g114 = _3f_ParseURL_40_wxURL_40__40_IEAA_NXZ(g118);
            g117 = v16;
            g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v16, v14, v33);
            g117 = v14;
            g114 = _3f__3f_1wxSockAddress_40__40_UEAA_40_XZ(v14);
            g117 = v12;
            g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v12, v14, v33);
            g117 = v10;
            g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v10, v14, v33);
            g117 = v8;
            g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v8, v14, v33);
        } else {
            // 0x1800122ed
            g117 = v16;
            g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v16, 58, 0);
            g117 = v14;
            g114 = _3f__3f_1wxSockAddress_40__40_UEAA_40_XZ(v14);
            g117 = v12;
            g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v12, 58, 0);
            g117 = v10;
            g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v10, 58, 0);
            g117 = v8;
            g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v8, 58, 0);
        }
    } else {
        int64_t * v35 = (int64_t *)(g118 + 424); // 0x180012221
        int64_t v36 = *v35; // 0x180012221
        g117 = v36;
        if (v36 != 0) {
            // 0x18001222d
            if (v36 != *(int64_t *)0x18002f020) {
                // 0x180012236
                g114 = *(int64_t *)v36;
                int64_t v37 = *v35; // 0x18001223c
                g117 = v37;
                if (v37 != 0) {
                    // 0x180012248
                    g114 = *(int64_t *)v37;
                    g119 = 1;
                }
            }
        }
        // 0x180012253
        *(char *)(g118 + 432) = 0;
    }
    int64_t v38 = g121 ^ v4; // 0x1800124b9
    g117 = v38;
    __security_check_cookie(v38);
    g114 = &g122;
    g116 = v1;
    g120 = v2;
    return &g122;
}
 
// Address range: 0x1800124e0 - 0x18001253f
// Demangled:     public: wxURL::wxURL
int64_t _3f__3f_0wxURL_40__40_QEAA_40_AEBVwxString_40__40__40_Z(int64_t a1, int64_t * a2) {
    // 0x1800124e0
    g119 = (int64_t)a2;
    g117 = a1;
    int64_t v1 = g118; // 0x1800124e5
    int64_t v2 = g116; // 0x1800124f3
    g116 = g119;
    g118 = g117;
    _3f__3f_0wxURI_40__40_QEAA_40_AEBVwxString_40__40__40_Z();
    g114 = &g48;
    *(int64_t *)g118 = (int64_t)&g48;
    int64_t v3 = g118 + 464; // 0x18001250f
    g117 = v3;
    g114 = _3f__3f_0wxString_40__40_QEAA_40_XZ(v3);
    g119 = g116;
    int64_t v4 = g118; // 0x180012520
    g117 = v4;
    g114 = _3f_Init_40_wxURL_40__40_IEAAXAEBVwxString_40__40__40_Z(v4);
    g117 = g118;
    _3f_ParseURL_40_wxURL_40__40_IEAA_NXZ(g118);
    int64_t result = g118; // 0x180012531
    g114 = result;
    g116 = v2;
    g118 = v1;
    return result;
}
 
// Address range: 0x180012540 - 0x1800125ba
// Demangled:     public: wxURL::wxURL
int64_t _3f__3f_0wxURL_40__40_QEAA_40_AEBVwxURI_40__40__40_Z(int64_t a1, int64_t a2) {
    // 0x180012540
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x180012553
    g116 = g119;
    g118 = g117;
    _3f__3f_0wxURI_40__40_QEAA_40_AEBV0_40__40_Z();
    g114 = &g48;
    *(int64_t *)g118 = (int64_t)&g48;
    int64_t v2 = g118 + 464; // 0x18001256f
    g117 = v2;
    g114 = _3f__3f_0wxString_40__40_QEAA_40_XZ(v2);
    int64_t v3; // bp-64
    int64_t v4 = &v3; // 0x18001257d
    g119 = v4;
    int64_t v5 = g116; // 0x180012582
    g117 = v5;
    int64_t v6 = _3f_BuildURI_40_wxURI_40__40_QEBA_3f_AVwxString_40__40_XZ(v5, &v3); // 0x180012585
    g114 = v6;
    g119 = v6;
    int64_t v7 = g118; // 0x18001258f
    g117 = v7;
    g114 = _3f_Init_40_wxURL_40__40_IEAAXAEBVwxString_40__40__40_Z(v7);
    g117 = v4;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v4, v6, g112);
    g117 = g118;
    _3f_ParseURL_40_wxURL_40__40_IEAA_NXZ(g118);
    g114 = g118;
    g116 = v1;
    return g118;
}
 
// Address range: 0x1800125c0 - 0x180012639
// Demangled:     public: wxURL::wxURL
int64_t _3f__3f_0wxURL_40__40_QEAA_40_AEBV0_40__40_Z(int64_t a1, int64_t a2) {
    // 0x1800125c0
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x1800125d3
    g116 = g119;
    g118 = g117;
    _3f__3f_0wxURI_40__40_QEAA_40_AEBV0_40__40_Z();
    g114 = &g48;
    *(int64_t *)g118 = (int64_t)&g48;
    int64_t v2 = g118 + 464; // 0x1800125ef
    g117 = v2;
    g114 = _3f__3f_0wxString_40__40_QEAA_40_XZ(v2);
    int64_t v3; // bp-64
    int64_t v4 = &v3; // 0x1800125fd
    g119 = v4;
    int64_t v5 = g116; // 0x180012602
    g117 = v5;
    int64_t v6 = _3f_GetURL_40_wxURL_40__40_QEBA_3f_AVwxString_40__40_XZ(v5, &v3); // 0x180012605
    g114 = v6;
    g119 = v6;
    int64_t v7 = g118; // 0x18001260e
    g117 = v7;
    g114 = _3f_Init_40_wxURL_40__40_IEAAXAEBVwxString_40__40__40_Z(v7);
    g117 = v4;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v4, v6, g112);
    g117 = g118;
    _3f_ParseURL_40_wxURL_40__40_IEAA_NXZ(g118);
    g114 = g118;
    g116 = v1;
    return g118;
}
 
// Address range: 0x180012640 - 0x1800126bc
// Demangled:     public: wxURL::operator=
int64_t _3f__3f_4wxURL_40__40_QEAAAEAV0_40_AEBVwxString_40__40__40_Z(int64_t a1, int64_t a2) {
    // 0x180012640
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x180012640
    g118 = g119;
    g116 = g117;
    g114 = _3f_Create_40_wxURI_40__40_QEAA_NAEBVwxString_40__40__40_Z();
    int64_t v2 = g116; // 0x180012656
    int64_t v3; // 0x18001269e
    if (*(char *)(v2 + 432) == 0) {
        int64_t v4 = *(int64_t *)(v2 + 448); // 0x18001265f
        g117 = v4;
        if (v4 != 0) {
            // 0x18001266b
            g114 = _3f_Destroy_40_wxSocketBase_40__40_QEAA_NXZ(v4);
            *(int64_t *)(g116 + 448) = 0;
            v3 = g116;
        } else {
            v3 = v2;
        }
    } else {
        v3 = v2;
    }
    int64_t v5 = *(int64_t *)(v3 + 424); // 0x18001267b
    g117 = v5;
    if (v5 != 0) {
        // 0x180012687
        if (v5 != *(int64_t *)0x18002f020) {
            // 0x180012690
            g114 = *(int64_t *)v5;
            g119 = 1;
        }
    }
    // 0x18001269b
    g119 = g118;
    g117 = v3;
    g114 = _3f_Init_40_wxURL_40__40_IEAAXAEBVwxString_40__40__40_Z(v3);
    int64_t v6 = g116; // 0x1800126a6
    g117 = v6;
    _3f_ParseURL_40_wxURL_40__40_IEAA_NXZ(v6);
    int64_t result = g116; // 0x1800126ae
    g114 = result;
    g116 = v1;
    return result;
}
 
// Address range: 0x1800126c0 - 0x18001276b
// Demangled:     public: wxURL::operator=
int64_t _3f__3f_4wxURL_40__40_QEAAAEAV0_40_AEBVwxURI_40__40__40_Z(int64_t a1, int64_t a2) {
    // 0x1800126c0
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x1800126cf
    int64_t result = g119; // 0x1800126d4
    g118 = result;
    int64_t v2 = g117; // 0x1800126d7
    g116 = v2;
    if (result == v2) {
        // 0x180012760
        g114 = result;
        g116 = v1;
        return result;
    }
    // 0x1800126df
    g114 = _3f__3f_4wxURI_40__40_QEAAAEAV0_40_AEBV0_40__40_Z();
    int64_t v3 = g116; // 0x1800126e5
    int64_t v4; // 0x18001270a
    if (*(char *)(v3 + 432) == 0) {
        int64_t v5 = *(int64_t *)(v3 + 448); // 0x1800126ee
        g117 = v5;
        if (v5 != 0) {
            // 0x1800126fa
            g114 = _3f_Destroy_40_wxSocketBase_40__40_QEAA_NXZ(v5);
            *(int64_t *)(g116 + 448) = 0;
            v4 = g116;
        } else {
            v4 = v3;
        }
    } else {
        v4 = v3;
    }
    int64_t v6 = *(int64_t *)(v4 + 424); // 0x18001270a
    g117 = v6;
    if (v6 != 0) {
        // 0x180012716
        if (v6 != *(int64_t *)0x18002f020) {
            // 0x18001271f
            g114 = *(int64_t *)v6;
            g119 = 1;
        }
    }
    // 0x18001272a
    int64_t v7; // bp-64
    int64_t v8 = &v7; // 0x18001272a
    g119 = v8;
    int64_t v9 = g118; // 0x18001272f
    g117 = v9;
    int64_t v10 = _3f_BuildURI_40_wxURI_40__40_QEBA_3f_AVwxString_40__40_XZ(v9, &v7); // 0x180012732
    g114 = v10;
    g119 = v10;
    int64_t v11 = g116; // 0x18001273c
    g117 = v11;
    g114 = _3f_Init_40_wxURL_40__40_IEAAXAEBVwxString_40__40__40_Z(v11);
    g117 = v8;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v8, v10, g112);
    int64_t v12 = g116; // 0x180012750
    g117 = v12;
    g114 = _3f_ParseURL_40_wxURL_40__40_IEAA_NXZ(v12);
    result = g116;
    // 0x180012760
    g114 = result;
    g116 = v1;
    return result;
}
 
// Address range: 0x180012770 - 0x18001281a
// Demangled:     public: wxURL::operator=
int64_t _3f__3f_4wxURL_40__40_QEAAAEAV0_40_AEBV0_40__40_Z(int64_t a1, int64_t a2) {
    // 0x180012770
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x18001277f
    int64_t result = g119; // 0x180012784
    g118 = result;
    int64_t v2 = g117; // 0x180012787
    g116 = v2;
    if (result == v2) {
        // 0x18001280f
        g114 = result;
        g116 = v1;
        return result;
    }
    // 0x18001278f
    g114 = _3f__3f_4wxURI_40__40_QEAAAEAV0_40_AEBV0_40__40_Z();
    int64_t v3 = g116; // 0x180012795
    int64_t v4; // 0x1800127ba
    if (*(char *)(v3 + 432) == 0) {
        int64_t v5 = *(int64_t *)(v3 + 448); // 0x18001279e
        g117 = v5;
        if (v5 != 0) {
            // 0x1800127aa
            g114 = _3f_Destroy_40_wxSocketBase_40__40_QEAA_NXZ(v5);
            *(int64_t *)(g116 + 448) = 0;
            v4 = g116;
        } else {
            v4 = v3;
        }
    } else {
        v4 = v3;
    }
    int64_t v6 = *(int64_t *)(v4 + 424); // 0x1800127ba
    g117 = v6;
    if (v6 != 0) {
        // 0x1800127c6
        if (v6 != *(int64_t *)0x18002f020) {
            // 0x1800127cf
            g114 = *(int64_t *)v6;
            g119 = 1;
        }
    }
    // 0x1800127da
    int64_t v7; // bp-64
    int64_t v8 = &v7; // 0x1800127da
    g119 = v8;
    int64_t v9 = g118; // 0x1800127df
    g117 = v9;
    int64_t v10 = _3f_GetURL_40_wxURL_40__40_QEBA_3f_AVwxString_40__40_XZ(v9, &v7); // 0x1800127e2
    g114 = v10;
    g119 = v10;
    int64_t v11 = g116; // 0x1800127eb
    g117 = v11;
    g114 = _3f_Init_40_wxURL_40__40_IEAAXAEBVwxString_40__40__40_Z(v11);
    g117 = v8;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v8, v10, g112);
    int64_t v12 = g116; // 0x1800127ff
    g117 = v12;
    g114 = _3f_ParseURL_40_wxURL_40__40_IEAA_NXZ(v12);
    result = g116;
    // 0x18001280f
    g114 = result;
    g116 = v1;
    return result;
}
 
// Address range: 0x180012820 - 0x18001286e
int64_t function_180012820(void) {
    // 0x180012820
    g117 = g87;
    g114 = DestroyWindow((int64_t *)g87);
    int64_t hInstance = wxGetInstance(); // 0x180012831
    g114 = hInstance;
    g117 = (int64_t)L"_wxSocket_Internal_Window_Class";
    g119 = hInstance;
    g114 = UnregisterClassW(L"_wxSocket_Internal_Window_Class", (int64_t *)hInstance);
    int64_t v1 = WSACleanup(); // 0x180012847
    g114 = v1;
    int64_t v2 = g90; // 0x18001284c
    g117 = v2;
    int64_t result; // 0x180012858
    if (v2 != 0) {
        // 0x180012858
        result = _3f_Unload_40_wxDynamicLibrary_40__40_SAXPEAUHINSTANCE___40__40__40_Z(v2);
        g114 = result;
        g90 = 0;
    } else {
        result = v1;
    }
    // 0x180012869
    return result;
}
 
// Address range: 0x180012870 - 0x18001293e
int64_t function_180012870(int64_t a1) {
    // 0x180012870
    g117 = a1;
    int64_t v1 = g116; // 0x180012875
    g116 = a1;
    function_18000e520(a1, g119);
    g114 = &g53;
    *(int64_t *)g116 = (int64_t)&g53;
    g119 = &g89;
    int64_t v2; // bp+24
    int64_t v3 = &v2; // 0x18001289d
    g117 = v3;
    int64_t v4 = _3f__3f_0wxCriticalSectionLocker_40__40_QEAA_40_AEAVwxCriticalSection_40__40__40_Z(&v2, &g89); // 0x1800128a2
    g114 = v4;
    int64_t v5 = g85; // 0x1800128a9
    g112 = v5;
    int64_t result;
    int64_t v6; // 0x1800128d3
    if (*(int64_t *)(8 * v5 + (int64_t)&g86) == 0) {
        v6 = v5;
        goto lab_0x1800128fe_2;
      lab_0x1800128fe_2:
        // 0x1800128fe
        *(int64_t *)(8 * v6 + (int64_t)&g86) = g116;
        int64_t v7 = g112; // 0x180012905
        int32_t v8 = v7 + 1; // 0x180012909
        int32_t v9 = v8 >> 31; // 0x180012909
        uint32_t v10 = v9 & 1023; // 0x18001290a
        g119 = v10;
        g85 = (v9 + v8 & 1023) - v10;
        int64_t v11 = v7 + 1024; // 0x18001291f
        g114 = v11;
        *(int32_t *)(g116 + 104) = (int32_t)v11;
        g117 = v3;
        _3f__3f_1wxCriticalSectionLocker_40__40_QEAA_40_XZ(&v2, v10, g112);
        // 0x180012938
        result = g116;
        g114 = result;
        g116 = v1;
        return result;
    }
    int32_t v12 = g85; // 0x1800128c1
    uint32_t v13; // 0x1800128c6
    while (true) {
        int32_t v14 = v12 + 1; // 0x1800128c1
        int32_t v15 = v14 >> 31; // 0x1800128c5
        v13 = v15 & 1023;
        g119 = v13;
        int32_t v16 = (v15 + v14 & 1023) - v13; // 0x1800128d3
        v6 = v16;
        g114 = v6;
        g112 = v6;
        if (v16 == g85) {
            // break -> 0x1800128e6
            break;
        }
        // 0x1800128dd
        if (*(int64_t *)(8 * v6 + (int64_t)&g86) == 0) {
            goto lab_0x1800128fe_2;
        }
        v12 = v16;
    }
    // 0x1800128e6
    *(int32_t *)(g116 + 104) = 0;
    g117 = v3;
    _3f__3f_1wxCriticalSectionLocker_40__40_QEAA_40_XZ(&v2, v13, g112);
    // 0x180012938
    result = g116;
    g114 = result;
    g116 = v1;
    return result;
}
 
// Address range: 0x180012940 - 0x180012943
// Demangled:     public: wxTCPConnection::Compress
int64_t _3f_Compress_40_wxTCPConnection_40__40_QEAAX_N_40_Z(void) {
    // 0x180012940
    return g114;
}
 
// Address range: 0x180012950 - 0x180012986
int64_t function_180012950(int64_t a1) {
    // 0x180012950
    g117 = a1;
    int64_t v1 = g116; // 0x180012950
    int64_t v2 = g117; // 0x180012956
    g116 = v2;
    int64_t v3 = g81; // 0x180012959
    g117 = v3;
    int64_t v4; // 0x180012971
    int64_t v5; // 0x18001297a
    if (v3 == 0) {
        // 0x180012965
        g114 = function_18000e3f0(v3, g119, g112);
        g117 = g81;
        v5 = g116;
        v4 = g81;
    } else {
        v5 = v2;
        v4 = v3;
    }
    int64_t result = *(int64_t *)v4; // 0x180012971
    g114 = result;
    g112 = 3;
    g119 = v5;
    g116 = v1;
    return result;
}
 
// Address range: 0x180012990 - 0x180012a28
int64_t function_180012990(int64_t a1) {
    // 0x180012990
    g117 = a1;
    int64_t v1 = g116; // 0x180012995
    int64_t v2 = g117; // 0x1800129a3
    g116 = v2;
    g114 = &g53;
    *(int64_t *)v2 = (int64_t)&g53;
    g119 = &g89;
    int64_t v3; // bp+16
    int64_t v4 = &v3; // 0x1800129b7
    g117 = v4;
    int64_t v5 = _3f__3f_0wxCriticalSectionLocker_40__40_QEAA_40_AEAVwxCriticalSection_40__40__40_Z(&v3, &g89); // 0x1800129bf
    g114 = v5;
    int64_t v6 = g116; // 0x1800129c5
    uint32_t wMsgFilterMin; // 0x1800129d0
    if (*(int32_t *)(v6 + 104) != 0) {
        wMsgFilterMin = *(int32_t *)(v6 + 104);
        g112 = wMsgFilterMin;
        g119 = g87;
        int64_t lpMsg; // bp-64
        g117 = &lpMsg;
        bool v7 = PeekMessageW((struct tagMSG *)&lpMsg, (int64_t *)g87, wMsgFilterMin, wMsgFilterMin, 1); // 0x1800129eb
        g114 = v7;
        int64_t v8 = g116;
        while (v7) {
            // 0x1800129d0
            wMsgFilterMin = *(int32_t *)(v8 + 104);
            g112 = wMsgFilterMin;
            g119 = g87;
            g117 = &lpMsg;
            v7 = PeekMessageW((struct tagMSG *)&lpMsg, (int64_t *)g87, wMsgFilterMin, wMsgFilterMin, 1);
            g114 = v7;
            v8 = g116;
        }
        int64_t v9 = (int64_t)*(int32_t *)(v8 + 104); // 0x1800129f5
        g114 = v9;
        g117 = &g86;
        *(int64_t *)(8 * v9 + (int64_t)&g86 - 0x2000) = 0;
    } else {
        int32_t v10;
        wMsgFilterMin = v10;
    }
    // 0x180012a0c
    g117 = v4;
    int64_t v11 = _3f__3f_1wxCriticalSectionLocker_40__40_QEAA_40_XZ(&v3, (int32_t)g119, (int64_t)wMsgFilterMin); // 0x180012a14
    g114 = v11;
    int64_t v12 = g116; // 0x180012a1b
    g117 = v12;
    g116 = v1;
    int64_t result = function_18000e5b0(v12); // 0x180012a23
    g114 = result;
    return result;
}
 
// Address range: 0x180012a30 - 0x180012c3b
int64_t function_180012a30(void) {
    int64_t v1 = g116; // 0x180012a44
    int64_t v2 = g120; // 0x180012a4c
    int64_t lParam; // r9
    g118 = lParam;
    int64_t wParam = g112; // 0x180012a53
    int64_t Msg = g119; // 0x180012a56
    g116 = Msg;
    int64_t v3 = Msg - 1024; // 0x180012a58
    g114 = v3;
    int64_t v4; // bp-568
    int64_t result; // 0x180012c3a
    int64_t v5; // 0x180012a70
    int64_t v6; // 0x180012c08
    int64_t v7; // 0x180012a89
    if ((int32_t)v3 < 1024) {
        // 0x180012a69
        g119 = &g89;
        v5 = &v4;
        g117 = v5;
        _3f__3f_0wxCriticalSectionLocker_40__40_QEAA_40_AEAVwxCriticalSection_40__40__40_Z(&v4, &g89);
        int64_t v8 = g116 - 1024; // 0x180012a7c
        g114 = v8;
        g120 = &g86;
        v7 = *(int64_t *)(8 * v8 + (int64_t)&g86);
        g120 = v7;
        if (v7 != 0) {
            int64_t * v9 = (int64_t *)(v7 + 8); // 0x180012aa4
            int64_t v10 = *v9; // 0x180012aa4
            g117 = v10;
            if (v10 != -1) {
                int64_t v11 = *(int64_t *)0x180019440; // 0x180012ac0
                g114 = v11;
                if (*(int64_t *)v11 != 0) {
                    // 0x180012acd
                    if (v10 != wParam) {
                        // 0x180012ad2
                        g114 = (int64_t)"mismatch between message and socket?";
                        g112 = (int64_t)"wxSocket_Internal_WinProc";
                        g119 = 335;
                        g117 = (int64_t)"..\\..\\src\\msw\\sockmsw.cpp";
                        g114 = _3f_wxOnAssert_40__40_YAXPEBDH000_40_Z("..\\..\\src\\msw\\sockmsw.cpp", 335, "wxSocket_Internal_WinProc", "socket->m_fd == (SOCKET)wParam");
                        char * v12 = (char *)*(int64_t *)0x180019430; // 0x180012b05
                        if (*v12 != 0) {
                            // 0x180012b0b
                            *v12 = 0;
                            g114 = __asm_int3();
                        }
                    }
                }
                uint64_t v13 = g118; // 0x180012b10
                int32_t v14 = v13; // 0x180012b13
                uint32_t v15 = v14 - 1; // 0x180012b13
                g119 = v15;
                if (v15 == 0) {
                    // 0x180012bb7
                    g116 = 0;
                    int32_t timeout = 0; // bp-560
                    int32_t readfds = 1; // bp-536
                    int64_t nfds = *v9 + 1; // 0x180012bd2
                    g117 = nfds;
                    g114 = &timeout;
                    g112 = 0;
                    g119 = &readfds;
                    int32_t v16 = select((int32_t)nfds, (struct fd_set *)&readfds, NULL, NULL, (struct timeval *)&timeout); // 0x180012bea
                    g114 = v16;
                    if (v16 == 1) {
                        // 0x180012bb7
                        v6 = g119;
                        goto lab_0x180012c03;
                    } else {
                        // 0x180012bf4
                        g117 = v5;
                        _3f__3f_1wxCriticalSectionLocker_40__40_QEAA_40_XZ(&v4, (int32_t)g119, g112);
                        g114 = 0;
                        result = 0;
                        goto lab_0x180012c22;
                    }
                } else {
                    uint32_t v17 = v14 - 2; // 0x180012b1c
                    int64_t v18 = v17; // 0x180012b1c
                    g119 = v18;
                    if (v17 == 0) {
                        // 0x180012bb0
                        g116 = 1;
                        v6 = v18;
                        goto lab_0x180012c03;
                    } else {
                        uint32_t v19 = v14 - 8; // 0x180012b25
                        int64_t v20 = v19; // 0x180012b25
                        g119 = v20;
                        if (v19 == 0) {
                            // 0x180012ba9
                            g116 = 2;
                            v6 = v20;
                            goto lab_0x180012c03;
                        } else {
                            uint32_t v21 = v14 - 16; // 0x180012b2a
                            int64_t v22 = v21; // 0x180012b2a
                            g119 = v22;
                            if (v21 == 0) {
                                int64_t v23 = v13 / 0x10000; // 0x180012b98
                                g118 = v23;
                                g116 = (int64_t)((int16_t)v23 != 0) | 2;
                                v6 = v22;
                                goto lab_0x180012c03;
                            } else {
                                if (v14 == 32) {
                                    // 0x180012b91
                                    g116 = 3;
                                    v6 = v22;
                                    goto lab_0x180012c03;
                                } else {
                                    int64_t v24 = *(int64_t *)0x180019440; // 0x180012b34
                                    g114 = v24;
                                    if (*(int64_t *)v24 != 0) {
                                        // 0x180012b41
                                        g114 = (int64_t)"unexpected socket notification";
                                        g112 = (int64_t)"wxSocket_Internal_WinProc";
                                        g119 = 377;
                                        g117 = (int64_t)"..\\..\\src\\msw\\sockmsw.cpp";
                                        g114 = _3f_wxOnAssert_40__40_YAXPEBDH000_40_Z("..\\..\\src\\msw\\sockmsw.cpp", 377, "wxSocket_Internal_WinProc", "Assert failure");
                                        char * v25 = (char *)*(int64_t *)0x180019430; // 0x180012b74
                                        if (*v25 != 0) {
                                            // 0x180012b7a
                                            *v25 = 0;
                                            g114 = __asm_int3();
                                        }
                                    }
                                    // 0x180012b7f
                                    g117 = v5;
                                    _3f__3f_1wxCriticalSectionLocker_40__40_QEAA_40_XZ(&v4, (int32_t)g119, g112);
                                    g114 = 0;
                                    result = 0;
                                    goto lab_0x180012c22;
                                }
                            }
                        }
                    }
                }
            } else {
                // 0x180012aae
                g117 = v5;
                _3f__3f_1wxCriticalSectionLocker_40__40_QEAA_40_XZ(&v4, (int32_t)&g89, g112);
                g114 = 0;
                result = 0;
                goto lab_0x180012c22;
            }
        } else {
            // 0x180012a92
            g117 = v5;
            _3f__3f_1wxCriticalSectionLocker_40__40_QEAA_40_XZ(&v4, (int32_t)&g89, g112);
            g114 = 0;
            result = 0;
            goto lab_0x180012c22;
        }
    } else {
        int64_t v26 = DefWindowProcW((int64_t *)g117, (int32_t)Msg, (int32_t)wParam, (int32_t)lParam); // 0x180012c1c
        g114 = v26;
        result = v26;
        goto lab_0x180012c22;
    }
  lab_0x180012c22:
    // 0x180012c22
    g116 = v1;
    g120 = v2;
    return result;
  lab_0x180012c03:
    // 0x180012c03
    g117 = v5;
    g114 = _3f__3f_1wxCriticalSectionLocker_40__40_QEAA_40_XZ(&v4, (int32_t)v6, g112);
    g119 = g116;
    g117 = v7;
    function_18000f2b0(v7);
    g114 = 0;
    result = 0;
    goto lab_0x180012c22;
}
 
// Address range: 0x180012c40 - 0x180012c77
int64_t function_180012c40(void) {
    int64_t v1 = g119; // 0x180012c44
    int64_t v2 = *(int64_t *)(v1 + 8); // 0x180012c44
    g117 = v2;
    int64_t result; // 0x180012c76
    if (v2 == -1) {
        // 0x180012c40
        result = g114;
    } else {
        // 0x180012c4e
        g112 = (int64_t)*(int32_t *)(v1 + 104);
        g119 = g87;
        g114 = 8;
        result = 8;
    }
    // 0x180012c72
    return result;
}
 
// Address range: 0x180012c80 - 0x180012ca7
int64_t function_180012c80(void) {
    int64_t v1 = g119; // 0x180012c84
    int64_t v2 = *(int64_t *)(v1 + 8); // 0x180012c84
    g117 = v2;
    if (v2 != -1) {
        // 0x180012c8e
        g112 = (int64_t)*(int32_t *)(v1 + 104);
        g119 = g87;
    }
    // 0x180012ca2
    return g114;
}
 
// Address range: 0x180012cb0 - 0x180012cee
int64_t function_180012cb0(int64_t a1) {
    // 0x180012cb0
    g117 = a1;
    int64_t v1 = g116; // 0x180012cb0
    int64_t v2 = g117; // 0x180012cb6
    g116 = v2;
    int64_t v3 = g81; // 0x180012cb9
    g117 = v3;
    int64_t v4; // 0x180012cd1
    int64_t v5; // 0x180012cda
    if (v3 == 0) {
        // 0x180012cc5
        g114 = function_18000e3f0(v3, g119, g112);
        g117 = g81;
        v5 = g116;
        v4 = g81;
    } else {
        v5 = v2;
        v4 = v3;
    }
    // 0x180012cd1
    g114 = *(int64_t *)v4;
    g112 = 3;
    g119 = v5;
    int64_t v6 = *(int64_t *)(v5 + 8); // 0x180012ce0
    g117 = v6;
    g116 = v1;
    int64_t result = closesocket((int32_t)v6); // 0x180012ce9
    g114 = result;
    return result;
}
 
// Address range: 0x180012cf0 - 0x180012d2e
int64_t function_180012cf0(void) {
    int32_t v1 = WSAGetLastError(); // 0x180012cf4
    g114 = v1;
    if (v1 == 0) {
        // 0x180012d27
        g114 = 0;
        return 0;
    }
    uint32_t v2 = v1 - 0x2733; // 0x180012cfd
    g114 = v2;
    if (v2 == 0) {
        // 0x180012d1d
        g114 = 7;
        return 7;
    }
    if (v1 == 0x2736) {
        // 0x180012d13
        g114 = 4;
        return 4;
    }
    // 0x180012d09
    g114 = 2;
    return 2;
}
 
// Address range: 0x180012d30 - 0x180012e75
int64_t function_180012d30(void) {
    int64_t v1 = g116; // 0x180012d30
    int64_t v2; // bp-552
    int64_t v3 = g61 ^ (int64_t)&v2; // 0x180012d49
    g114 = v3;
    g116 = 0;
    int64_t v4 = 0; // bp-520
    g112 = 0x180012a30;
    g119 = (int64_t)L"_wxSocket_Internal_Window_Class";
    g117 = &v4;
    int64_t v5 = wxCreateHiddenWindow(&v4, L"_wxSocket_Internal_Window_Class", 0x180012a30); // 0x180012d6e
    g114 = v5;
    g87 = v5;
    if (v5 != 0) {
        // 0x180012d84
        g114 = &g86;
        g117 = 128;
        *(int64_t *)(int64_t)&g86 = g116;
        *(int64_t *)(g114 + 8) = g116;
        *(int64_t *)(g114 + 16) = g116;
        int64_t v6 = g114; // 0x180012d9b
        g114 = v6 + 64;
        *(int64_t *)(v6 + 24) = g116;
        *(int64_t *)(g114 - 32) = g116;
        *(int64_t *)(g114 - 24) = g116;
        *(int64_t *)(g114 - 16) = g116;
        *(int64_t *)(g114 - 8) = g116;
        int64_t v7 = g117 - 1; // 0x180012db3
        g117 = v7;
        while (v7 != 0) {
            // 0x180012d90
            *(int64_t *)g114 = g116;
            *(int64_t *)(g114 + 8) = g116;
            *(int64_t *)(g114 + 16) = g116;
            v6 = g114;
            g114 = v6 + 64;
            *(int64_t *)(v6 + 24) = g116;
            *(int64_t *)(g114 - 32) = g116;
            *(int64_t *)(g114 - 24) = g116;
            *(int64_t *)(g114 - 16) = g116;
            *(int64_t *)(g114 - 8) = g116;
            v7 = g117 - 1;
            g117 = v7;
        }
        // 0x180012db8
        g85 = g116;
        g119 = (int64_t)L"wsock32.dll";
        int64_t v8; // bp-504
        int64_t v9 = &v8; // 0x180012dc5
        g117 = v9;
        int64_t v10 = _3f__3f_0wxString_40__40_QEAA_40_PEB_W_40_Z(&v8, (int64_t)L"wsock32.dll", 0x180012a30); // 0x180012dca
        g114 = v10;
        g112 = 40;
        g119 = v9;
        g117 = &g90;
        int64_t v11 = _3f_Load_40_wxDynamicLibrary_40__40_QEAA_NAEBVwxString_40__40_H_40_Z(&g90, &v8, 40); // 0x180012de3
        g114 = v11;
        g117 = v9;
        int64_t v12 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v9, v9, 40); // 0x180012def
        g114 = v12;
        if (g90 != 0) {
            // 0x180012e03
            g119 = (int64_t)"WSAAsyncSelect";
            g117 = v9;
            g114 = _3f__3f_0wxString_40__40_QEAA_40_PEBD_40_Z(&v8, (int64_t)"WSAAsyncSelect");
            g119 = v9;
            int64_t v13 = g90; // 0x180012e1b
            g117 = v13;
            int64_t v14 = _3f_RawGetSymbol_40_wxDynamicLibrary_40__40_SAPEAXPEAUHINSTANCE___40__40_AEBVwxString_40__40__40_Z(v13, &v8); // 0x180012e22
            g114 = v14;
            g88 = v14;
            g117 = v9;
            int64_t v15 = _3f__3f_1wxString_40__40_QEAA_40_XZ(v9, v9, 40); // 0x180012e34
            g114 = v15;
            if (g88 != 0) {
                // 0x180012e48
                g117 = 257;
                int64_t v16; // bp-440
                g119 = &v16;
                int32_t v17 = WSAStartup(257, (struct WSAData *)&v16); // 0x180012e52
                g114 = (int64_t)v17 & -256 | (int64_t)(v17 == 0);
            } else {
                // 0x180012e44
                g114 = v15 & -256;
            }
        } else {
            // 0x180012dff
            g114 = v12 & -256;
        }
    }
    int64_t v18 = g121 ^ v3; // 0x180012e64
    g117 = v18;
    __security_check_cookie(v18);
    g114 = &g122;
    g116 = v1;
    return &g122;
}
 
// Address range: 0x180012ee0 - 0x180012f1c
int64_t function_180012ee0(void) {
    int64_t v1 = g116; // 0x180012ee0
    int64_t v2 = g119; // 0x180012eef
    g116 = v2;
    g117 = 112;
    int64_t v3 = function_18001323c(112, v2); // 0x180012ef7
    g114 = v3;
    int64_t v4 = 0x100000000 * v3;
    int64_t result;
    if (v4 == 0) {
        result = 0;
    } else {
        // 0x180012f06
        g119 = g116;
        int64_t v5 = v4 / 0x100000000; // 0x180012f09
        g117 = v5;
        result = function_180012870(v5);
    }
    // 0x180012f16
    g114 = result;
    g116 = v1;
    return result;
}
 
// Address range: 0x180012f1c - 0x180012f22
int32_t function_180012f1c(void) {
    int32_t result = WSAGetLastError(); // 0x180012f1c
    g114 = result;
    return result;
}
 
// Address range: 0x180012f22 - 0x180012f28
struct hostent * function_180012f22(char * name) {
    // 0x180012f22
    g117 = (int64_t)name;
    struct hostent * result = gethostbyname(name); // 0x180012f22
    g114 = (int64_t)result;
    return result;
}
 
// Address range: 0x180012f28 - 0x180012f2e
struct hostent * function_180012f28(char * addr, int32_t len, int32_t type) {
    // 0x180012f28
    g112 = type;
    g119 = len;
    g117 = (int64_t)addr;
    struct hostent * result = gethostbyaddr(addr, len, type); // 0x180012f28
    g114 = (int64_t)result;
    return result;
}
 
// Address range: 0x180012f2e - 0x180012f34
struct servent * function_180012f2e(char * name, char * proto) {
    // 0x180012f2e
    g119 = (int64_t)proto;
    g117 = (int64_t)name;
    struct servent * result = getservbyname(name, proto); // 0x180012f2e
    g114 = (int64_t)result;
    return result;
}
 
// Address range: 0x180012f34 - 0x180012f3a
int32_t function_180012f34(int32_t netlong) {
    // 0x180012f34
    g117 = netlong;
    int32_t result = ntohl(netlong); // 0x180012f34
    g114 = result;
    return result;
}
 
// Address range: 0x180012f3a - 0x180012f40
int32_t function_180012f3a(int32_t hostlong) {
    // 0x180012f3a
    g117 = hostlong;
    int32_t result = htonl(hostlong); // 0x180012f3a
    g114 = result;
    return result;
}
 
// Address range: 0x180012f40 - 0x180012f46
int16_t function_180012f40(int16_t netshort) {
    // 0x180012f40
    g117 = netshort;
    int16_t result = ntohs(netshort); // 0x180012f40
    g114 = result;
    return result;
}
 
// Address range: 0x180012f46 - 0x180012f4c
int16_t function_180012f46(int16_t hostshort) {
    // 0x180012f46
    g117 = hostshort;
    int16_t result = htons(hostshort); // 0x180012f46
    g114 = result;
    return result;
}
 
// Address range: 0x180012f4c - 0x180012f52
int32_t function_180012f4c(char * cp) {
    // 0x180012f4c
    g117 = (int64_t)cp;
    int32_t result = inet_addr(cp); // 0x180012f4c
    g114 = result;
    return result;
}
 
// Address range: 0x180012f52 - 0x180012f58
int32_t function_180012f52(int32_t s, int32_t level, int32_t optname, char * optval, int32_t optlen) {
    // 0x180012f52
    g112 = optname;
    g119 = level;
    g117 = s;
    int32_t result = setsockopt(s, level, optname, optval, optlen); // 0x180012f52
    g114 = result;
    return result;
}
 
// Address range: 0x180012f58 - 0x180012f5e
int32_t function_180012f58(int32_t s, int32_t how) {
    // 0x180012f58
    g119 = how;
    g117 = s;
    int32_t result = shutdown(s, how); // 0x180012f58
    g114 = result;
    return result;
}
 
// Address range: 0x180012f5e - 0x180012f64
int32_t function_180012f5e(int32_t s, char * buf, int32_t len, int32_t flags) {
    // 0x180012f5e
    g112 = len;
    g119 = (int64_t)buf;
    g117 = s;
    int32_t result = send(s, buf, len, flags); // 0x180012f5e
    g114 = result;
    return result;
}
 
// Address range: 0x180012f64 - 0x180012f6a
int32_t function_180012f64(int32_t s, char * buf, int32_t len, int32_t flags, struct sockaddr * to, int32_t tolen) {
    // 0x180012f64
    g112 = len;
    g119 = (int64_t)buf;
    g117 = s;
    int32_t result = sendto(s, buf, len, flags, to, tolen); // 0x180012f64
    g114 = result;
    return result;
}
 
// Address range: 0x180012f6a - 0x180012f70
int32_t function_180012f6a(int32_t s, int32_t level, int32_t optname, char * optval, int32_t * optlen) {
    // 0x180012f6a
    g112 = optname;
    g119 = level;
    g117 = s;
    int32_t result = getsockopt(s, level, optname, optval, optlen); // 0x180012f6a
    g114 = result;
    return result;
}
 
// Address range: 0x180012f70 - 0x180012f76
int32_t function_180012f70(int32_t fd, struct fd_set * a2) {
    // 0x180012f70
    g119 = (int64_t)a2;
    g117 = fd;
    int32_t result = __WSAFDIsSet(fd, a2); // 0x180012f70
    g114 = result;
    return result;
}
 
// Address range: 0x180012f76 - 0x180012f7c
int32_t function_180012f76(int32_t nfds, struct fd_set * readfds, struct fd_set * writefds, struct fd_set * exceptfds, struct timeval * timeout) {
    // 0x180012f76
    g112 = (int64_t)writefds;
    g119 = (int64_t)readfds;
    g117 = nfds;
    int32_t result = select(nfds, readfds, writefds, exceptfds, timeout); // 0x180012f76
    g114 = result;
    return result;
}
 
// Address range: 0x180012f7c - 0x180012f82
int32_t function_180012f7c(int32_t s, struct sockaddr * name, int32_t * namelen) {
    // 0x180012f7c
    g112 = (int64_t)namelen;
    g119 = (int64_t)name;
    g117 = s;
    int32_t result = getsockname(s, name, namelen); // 0x180012f7c
    g114 = result;
    return result;
}
 
// Address range: 0x180012f82 - 0x180012f88
int32_t function_180012f82(int32_t s, int32_t backlog) {
    // 0x180012f82
    g119 = backlog;
    g117 = s;
    int32_t result = listen(s, backlog); // 0x180012f82
    g114 = result;
    return result;
}
 
// Address range: 0x180012f88 - 0x180012f8e
int32_t function_180012f88(int32_t s, struct sockaddr * name, int32_t namelen) {
    // 0x180012f88
    g112 = namelen;
    g119 = (int64_t)name;
    g117 = s;
    int32_t result = bind(s, name, namelen); // 0x180012f88
    g114 = result;
    return result;
}
 
// Address range: 0x180012f8e - 0x180012f94
int32_t function_180012f8e(int32_t af, int32_t type, int32_t protocol) {
    // 0x180012f8e
    g112 = protocol;
    g119 = type;
    g117 = af;
    int32_t sock_fd = socket(af, type, protocol); // 0x180012f8e
    g114 = sock_fd;
    return sock_fd;
}
 
// Address range: 0x180012f94 - 0x180012f9a
int32_t function_180012f94(int32_t s, struct sockaddr * name, int32_t namelen) {
    // 0x180012f94
    g112 = namelen;
    g119 = (int64_t)name;
    g117 = s;
    int32_t result = connect(s, name, namelen); // 0x180012f94
    g114 = result;
    return result;
}
 
// Address range: 0x180012f9a - 0x180012fa0
int32_t function_180012f9a(int32_t s, char * buf, int32_t len, int32_t flags, struct sockaddr * from, int32_t * fromlen) {
    // 0x180012f9a
    g112 = len;
    g119 = (int64_t)buf;
    g117 = s;
    int32_t result = recvfrom(s, buf, len, flags, from, fromlen); // 0x180012f9a
    g114 = result;
    return result;
}
 
// Address range: 0x180012fa0 - 0x180012fa6
int32_t function_180012fa0(int32_t s, struct sockaddr * addr, int32_t * addrlen) {
    // 0x180012fa0
    g112 = (int64_t)addrlen;
    g119 = (int64_t)addr;
    g117 = s;
    int32_t accepted_sock_fd = accept(s, addr, addrlen); // 0x180012fa0
    g114 = accepted_sock_fd;
    return accepted_sock_fd;
}
 
// Address range: 0x180012fa6 - 0x180012fac
int32_t function_180012fa6(int32_t s, char * buf, int32_t len, int32_t flags) {
    // 0x180012fa6
    g112 = len;
    g119 = (int64_t)buf;
    g117 = s;
    int32_t result = recv(s, buf, len, flags); // 0x180012fa6
    g114 = result;
    return result;
}
 
// Address range: 0x180012fac - 0x180012fb2
int32_t function_180012fac(void) {
    int32_t result = WSACleanup(); // 0x180012fac
    g114 = result;
    return result;
}
 
// Address range: 0x180012fb2 - 0x180012fb8
int32_t function_180012fb2(int32_t s) {
    // 0x180012fb2
    g117 = s;
    int32_t result = closesocket(s); // 0x180012fb2
    g114 = result;
    return result;
}
 
// Address range: 0x180012fb8 - 0x180012fbe
int32_t function_180012fb8(int16_t wVersionRequested, struct WSAData * lpWSAData) {
    // 0x180012fb8
    g119 = (int64_t)lpWSAData;
    g117 = wVersionRequested;
    int32_t result = WSAStartup(wVersionRequested, lpWSAData); // 0x180012fb8
    g114 = result;
    return result;
}
 
// Address range: 0x180012fbe - 0x180012fc4
int64_t function_180012fbe(void) {
    int64_t result = _3f_CreateRefData_40_wxObject_40__40_MEBAPEAVwxRefCounter_40__40_XZ(); // 0x180012fbe
    g114 = result;
    return result;
}
 
// Address range: 0x180012fc4 - 0x180012fca
int64_t function_180012fc4(void) {
    int64_t result = _3f_CloneRefData_40_wxObject_40__40_MEBAPEAVwxRefCounter_40__40_PEBV2_40__40_Z(); // 0x180012fc4
    g114 = result;
    return result;
}
 
// Address range: 0x180012fca - 0x180012fd0
int64_t function_180012fca(void) {
    int64_t result = _3f_GetClassInfo_40_wxFileSystemHandler_40__40_UEBAPEAVwxClassInfo_40__40_XZ(); // 0x180012fca
    g114 = result;
    return result;
}
 
// Address range: 0x180012fd0 - 0x180012fd6
int64_t function_180012fd0(void) {
    int64_t result = _3f_FindFirst_40_wxFileSystemHandler_40__40_UEAA_3f_AVwxString_40__40_AEBV2_40_H_40_Z(); // 0x180012fd0
    g114 = result;
    return result;
}
 
// Address range: 0x180012fd6 - 0x180012fdc
int64_t function_180012fd6(void) {
    int64_t result = _3f_FindNext_40_wxFileSystemHandler_40__40_UEAA_3f_AVwxString_40__40_XZ(); // 0x180012fd6
    g114 = result;
    return result;
}
 
// Address range: 0x180012fdc - 0x180012fe2
int64_t function_180012fdc(void) {
    int64_t result = _3f_GetClassInfo_40_wxInputStream_40__40_UEBAPEAVwxClassInfo_40__40_XZ(); // 0x180012fdc
    g114 = result;
    return result;
}
 
// Address range: 0x180012fe2 - 0x180012fe8
int64_t function_180012fe2(void) {
    int64_t result = _3f_IsOk_40_wxFileInputStream_40__40_UEBA_NXZ(); // 0x180012fe2
    g114 = result;
    return result;
}
 
// Address range: 0x180012fe8 - 0x180012fee
int64_t function_180012fe8(void) {
    int64_t result = _3f_GetSize_40_wxStreamBase_40__40_UEBA_KXZ(); // 0x180012fe8
    g114 = result;
    return result;
}
 
// Address range: 0x180012fee - 0x180012ff4
int64_t function_180012fee(void) {
    int64_t result = _3f_GetLength_40_wxFileInputStream_40__40_UEBA_JXZ(); // 0x180012fee
    g114 = result;
    return result;
}
 
// Address range: 0x180012ff4 - 0x180012ffa
int64_t function_180012ff4(void) {
    int64_t result = _3f_IsSeekable_40_wxFileInputStream_40__40_UEBA_NXZ(); // 0x180012ff4
    g114 = result;
    return result;
}
 
// Address range: 0x180012ffa - 0x180013000
int64_t function_180012ffa(void) {
    int64_t result = _3f_OnSysSeek_40_wxFileInputStream_40__40_MEAA_J_JW4wxSeekMode_40__40__40_Z(); // 0x180012ffa
    g114 = result;
    return result;
}
 
// Address range: 0x180013000 - 0x180013006
int64_t function_180013000(void) {
    int64_t result = _3f_OnSysTell_40_wxFileInputStream_40__40_MEBA_JXZ(); // 0x180013000
    g114 = result;
    return result;
}
 
// Address range: 0x180013006 - 0x18001300c
int64_t function_180013006(void) {
    int64_t result = _3f_Peek_40_wxInputStream_40__40_UEAADXZ(); // 0x180013006
    g114 = result;
    return result;
}
 
// Address range: 0x18001300c - 0x180013012
int64_t function_18001300c(void) {
    int64_t result = _3f_Read_40_wxInputStream_40__40_UEAAAEAV1_40_PEAX_K_40_Z(); // 0x18001300c
    g114 = result;
    return result;
}
 
// Address range: 0x180013012 - 0x180013018
int64_t function_180013012(void) {
    int64_t result = _3f_LastRead_40_wxInputStream_40__40_UEBA_KXZ(); // 0x180013012
    g114 = result;
    return result;
}
 
// Address range: 0x180013018 - 0x18001301e
int64_t function_180013018(void) {
    int64_t result = _3f_CanRead_40_wxInputStream_40__40_UEBA_NXZ(); // 0x180013018
    g114 = result;
    return result;
}
 
// Address range: 0x18001301e - 0x180013024
int64_t function_18001301e(void) {
    int64_t result = _3f_Eof_40_wxInputStream_40__40_UEBA_NXZ(); // 0x18001301e
    g114 = result;
    return result;
}
 
// Address range: 0x180013024 - 0x18001302a
int64_t function_180013024(void) {
    int64_t result = _3f_SeekI_40_wxInputStream_40__40_UEAA_J_JW4wxSeekMode_40__40__40_Z(); // 0x180013024
    g114 = result;
    return result;
}
 
// Address range: 0x18001302a - 0x180013030
int64_t function_18001302a(void) {
    int64_t result = _3f_TellI_40_wxInputStream_40__40_UEBA_JXZ(); // 0x18001302a
    g114 = result;
    return result;
}
 
// Address range: 0x180013030 - 0x180013036
int64_t function_180013030(void) {
    int64_t result = _3f_OnSysRead_40_wxFileInputStream_40__40_MEAA_KPEAX_K_40_Z(); // 0x180013030
    g114 = result;
    return result;
}
 
// Address range: 0x180013036 - 0x18001303c
int64_t function_180013036(void) {
    int64_t result = _3f_GetClassInfo_40_wxFSFile_40__40_UEBAPEAVwxClassInfo_40__40_XZ(); // 0x180013036
    g114 = result;
    return result;
}
 
// Address range: 0x18001303c - 0x180013042
int64_t function_18001303c(void) {
    int64_t result = _3f_IsOk_40_wxStreamBase_40__40_UEBA_NXZ(); // 0x18001303c
    g114 = result;
    return result;
}
 
// Address range: 0x180013042 - 0x180013048
int64_t function_180013042(void) {
    int64_t result = _3f_GetLength_40_wxStreamBase_40__40_UEBA_JXZ(); // 0x180013042
    g114 = result;
    return result;
}
 
// Address range: 0x180013048 - 0x18001304e
int64_t function_180013048(void) {
    int64_t result = _3f_IsSeekable_40_wxStreamBase_40__40_UEBA_NXZ(); // 0x180013048
    g114 = result;
    return result;
}
 
// Address range: 0x18001304e - 0x180013054
int64_t function_18001304e(void) {
    int64_t result = _3f_GetClassInfo_40_wxOutputStream_40__40_UEBAPEAVwxClassInfo_40__40_XZ(); // 0x18001304e
    g114 = result;
    return result;
}
 
// Address range: 0x180013054 - 0x18001305a
int64_t function_180013054(void) {
    int64_t result = _3f_Write_40_wxOutputStream_40__40_UEAAAEAV1_40_PEBX_K_40_Z(); // 0x180013054
    g114 = result;
    return result;
}
 
// Address range: 0x18001305a - 0x180013060
int64_t function_18001305a(void) {
    int64_t result = _3f_SeekO_40_wxOutputStream_40__40_UEAA_J_JW4wxSeekMode_40__40__40_Z(); // 0x18001305a
    g114 = result;
    return result;
}
 
// Address range: 0x180013060 - 0x180013066
int64_t function_180013060(void) {
    int64_t result = _3f_TellO_40_wxOutputStream_40__40_UEBA_JXZ(); // 0x180013060
    g114 = result;
    return result;
}
 
// Address range: 0x180013066 - 0x18001306c
int64_t function_180013066(void) {
    int64_t result = _3f_LastWrite_40_wxOutputStream_40__40_UEBA_KXZ(); // 0x180013066
    g114 = result;
    return result;
}
 
// Address range: 0x18001306c - 0x180013072
int64_t function_18001306c(void) {
    int64_t result = _3f_Sync_40_wxOutputStream_40__40_UEAAXXZ(); // 0x18001306c
    g114 = result;
    return result;
}
 
// Address range: 0x180013072 - 0x180013078
int64_t function_180013072(void) {
    int64_t result = _3f_Close_40_wxOutputStream_40__40_UEAA_NXZ(); // 0x180013072
    g114 = result;
    return result;
}
 
// Address range: 0x180013078 - 0x18001307e
int64_t function_180013078(void) {
    int64_t result = _3f_GetClassInfo_40_wxEvtHandler_40__40_UEBAPEAVwxClassInfo_40__40_XZ(); // 0x180013078
    g114 = result;
    return result;
}
 
// Address range: 0x18001307e - 0x180013084
int64_t function_18001307e(void) {
    int64_t result = _3f_SetNextHandler_40_wxEvtHandler_40__40_UEAAXPEAV1_40__40_Z(); // 0x18001307e
    g114 = result;
    return result;
}
 
// Address range: 0x180013084 - 0x18001308a
int64_t function_180013084(void) {
    int64_t result = _3f_SetPreviousHandler_40_wxEvtHandler_40__40_UEAAXPEAV1_40__40_Z(); // 0x180013084
    g114 = result;
    return result;
}
 
// Address range: 0x18001308a - 0x180013090
int64_t function_18001308a(void) {
    int64_t result = _3f_ProcessEvent_40_wxEvtHandler_40__40_UEAA_NAEAVwxEvent_40__40__40_Z(); // 0x18001308a
    g114 = result;
    return result;
}
 
// Address range: 0x180013090 - 0x180013096
int64_t function_180013090(void) {
    int64_t result = _3f_QueueEvent_40_wxEvtHandler_40__40_UEAAXPEAVwxEvent_40__40__40_Z(); // 0x180013090
    g114 = result;
    return result;
}
 
// Address range: 0x180013096 - 0x18001309c
int64_t function_180013096(void) {
    int64_t result = _3f_AddPendingEvent_40_wxEvtHandler_40__40_UEAAXAEBVwxEvent_40__40__40_Z(); // 0x180013096
    g114 = result;
    return result;
}
 
// Address range: 0x18001309c - 0x1800130a2
int64_t function_18001309c(void) {
    int64_t result = _3f_SearchEventTable_40_wxEvtHandler_40__40_UEAA_NAEAUwxEventTable_40__40_AEAVwxEvent_40__40__40_Z(); // 0x18001309c
    g114 = result;
    return result;
}
 
// Address range: 0x1800130a2 - 0x1800130a8
int64_t function_1800130a2(void) {
    int64_t result = _3f_TryBefore_40_wxEvtHandler_40__40_MEAA_NAEAVwxEvent_40__40__40_Z(); // 0x1800130a2
    g114 = result;
    return result;
}
 
// Address range: 0x1800130a8 - 0x1800130ae
int64_t function_1800130a8(void) {
    int64_t result = _3f_TryAfter_40_wxEvtHandler_40__40_MEAA_NAEAVwxEvent_40__40__40_Z(); // 0x1800130a8
    g114 = result;
    return result;
}
 
// Address range: 0x1800130ae - 0x1800130b4
int64_t function_1800130ae(void) {
    int64_t result = _3f_TryValidator_40_wxEvtHandler_40__40_MEAA_NAEAVwxEvent_40__40__40_Z(); // 0x1800130ae
    g114 = result;
    return result;
}
 
// Address range: 0x1800130b4 - 0x1800130ba
int64_t function_1800130b4(void) {
    int64_t result = _3f_TryParent_40_wxEvtHandler_40__40_MEAA_NAEAVwxEvent_40__40__40_Z(); // 0x1800130b4
    g114 = result;
    return result;
}
 
// Address range: 0x1800130ba - 0x1800130c0
int64_t function_1800130ba(void) {
    int64_t result = _3f_DoSetClientObject_40_wxEvtHandler_40__40_MEAAXPEAVwxClientData_40__40__40_Z(); // 0x1800130ba
    g114 = result;
    return result;
}
 
// Address range: 0x1800130c0 - 0x1800130c6
int64_t function_1800130c0(void) {
    int64_t result = _3f_DoGetClientObject_40_wxEvtHandler_40__40_MEBAPEAVwxClientData_40__40_XZ(); // 0x1800130c0
    g114 = result;
    return result;
}
 
// Address range: 0x1800130c6 - 0x1800130cc
int64_t function_1800130c6(void) {
    int64_t result = _3f_DoSetClientData_40_wxEvtHandler_40__40_MEAAXPEAX_40_Z(); // 0x1800130c6
    g114 = result;
    return result;
}
 
// Address range: 0x1800130cc - 0x1800130d2
int64_t function_1800130cc(void) {
    int64_t result = _3f_DoGetClientData_40_wxEvtHandler_40__40_MEBAPEAXXZ(); // 0x1800130cc
    g114 = result;
    return result;
}
 
// Address range: 0x1800130d2 - 0x1800130d8
int64_t function_1800130d2(void) {
    int64_t result = _3f_OnExec_40_wxConnectionBase_40__40_UEAA_NAEBVwxString_40__40_0_40_Z(); // 0x1800130d2
    g114 = result;
    return result;
}
 
// Address range: 0x1800130d8 - 0x1800130de
int64_t function_1800130d8(void) {
    int64_t result = _3f_OnExecute_40_wxConnectionBase_40__40_UEAA_NAEBVwxString_40__40_PEBX_KW4wxIPCFormat_40__40__40_Z(); // 0x1800130d8
    g114 = result;
    return result;
}
 
// Address range: 0x1800130de - 0x1800130e4
int64_t function_1800130de(void) {
    int64_t result = _3f_OnRequest_40_wxConnectionBase_40__40_UEAAPEBXAEBVwxString_40__40_0PEA_KW4wxIPCFormat_40__40__40_Z(); // 0x1800130de
    g114 = result;
    return result;
}
 
// Address range: 0x1800130e4 - 0x1800130ea
int64_t function_1800130e4(void) {
    int64_t result = _3f_OnPoke_40_wxConnectionBase_40__40_UEAA_NAEBVwxString_40__40_0PEBX_KW4wxIPCFormat_40__40__40_Z(); // 0x1800130e4
    g114 = result;
    return result;
}
 
// Address range: 0x1800130ea - 0x1800130f0
int64_t function_1800130ea(void) {
    int64_t result = _3f_OnStartAdvise_40_wxConnectionBase_40__40_UEAA_NAEBVwxString_40__40_0_40_Z(); // 0x1800130ea
    g114 = result;
    return result;
}
 
// Address range: 0x1800130f0 - 0x1800130f6
int64_t function_1800130f0(void) {
    int64_t result = _3f_OnStopAdvise_40_wxConnectionBase_40__40_UEAA_NAEBVwxString_40__40_0_40_Z(); // 0x1800130f0
    g114 = result;
    return result;
}
 
// Address range: 0x1800130f6 - 0x1800130fc
int64_t function_1800130f6(void) {
    int64_t result = _3f_OnAdvise_40_wxConnectionBase_40__40_UEAA_NAEBVwxString_40__40_0PEBX_KW4wxIPCFormat_40__40__40_Z(); // 0x1800130f6
    g114 = result;
    return result;
}
 
// Address range: 0x1800130fc - 0x180013102
int64_t function_1800130fc(void) {
    int64_t result = _3f_OnDisconnect_40_wxConnectionBase_40__40_UEAA_NXZ(); // 0x1800130fc
    g114 = result;
    return result;
}
 
// Address range: 0x180013102 - 0x180013108
int64_t function_180013102(void) {
    int64_t result = _3f_GetClassInfo_40_wxObject_40__40_UEBAPEAVwxClassInfo_40__40_XZ(); // 0x180013102
    g114 = result;
    return result;
}
 
// Address range: 0x180013108 - 0x18001310d
int64_t function_180013108(int64_t a1) {
    // 0x180013108
    g117 = a1;
    int64_t result = function_18001323c(a1, g119); // 0x180013108
    g114 = result;
    return result;
}
 
// Address range: 0x18001310e - 0x180013114
int64_t function_18001310e(int64_t a1) {
    // 0x18001310e
    g117 = a1;
    int64_t result = _3f__3f_3_40_YAXPEAX_40_Z(); // 0x18001310e
    g114 = result;
    return result;
}
 
// Address range: 0x180013114 - 0x18001311a
int64_t function_180013114(int64_t a1) {
    // 0x180013114
    g117 = a1;
    int64_t result = _3f__3f__V_40_YAXPEAX_40_Z(); // 0x180013114
    g114 = result;
    return result;
}
 
// Address range: 0x18001311c - 0x180013167
int64_t function_18001311c(int64_t a1, int64_t a2, int32_t a3, int64_t a4, int64_t a5) {
    // 0x18001311c
    g112 = a3;
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x18001311c
    int64_t v2 = g120; // 0x18001312b
    g120 = a4;
    int64_t v3 = g117; // 0x18001313c
    g116 = v3;
    uint32_t v4 = (int32_t)g112 - 1; // 0x18001313f3
    if (v4 >= 0) {
        int64_t v5 = v3 + g119 * (-1 - (int64_t)v4);
        g116 = v5;
        g117 = v5;
    }
    // 0x180013159
    g116 = v1;
    g120 = v2;
    return g114;
}
 
// Address range: 0x180013168 - 0x1800131c6
int64_t function_180013168(int64_t a1, int64_t a2, int32_t a3, int64_t a4) {
    // 0x180013168
    g112 = a3;
    g119 = a2;
    g117 = a1;
    int64_t v1;
    int64_t result = &v1; // 0x180013168
    g114 = result;
    int64_t v2 = g116; // 0x180013177
    int64_t v3 = g120; // 0x180013178
    int64_t v4 = g112; // 0x180013183
    int64_t v5 = g119; // 0x180013186
    g120 = v5;
    int64_t v6 = g117; // 0x180013194
    g116 = v6 + v5 * v4;
    uint32_t v7 = (int32_t)v4 - 1; // 0x18001319b3
    if (v7 >= 0) {
        int64_t v8 = v6 + v5 * (v4 - 1 - (int64_t)v7);
        g116 = v8;
        g117 = v8;
    }
    // 0x1800131b4
    g120 = v3;
    g116 = v2;
    return result;
}
 
// Address range: 0x1800131c6 - 0x1800131cc
int64_t function_1800131c6(int64_t a1, int64_t a2, int64_t a3, int64_t a4) {
    // 0x1800131c6
    g112 = a3;
    g119 = a2;
    g117 = a1;
    int64_t result = __CxxFrameHandler3(); // 0x1800131c6
    g114 = result;
    return result;
}
 
// Address range: 0x1800131cc - 0x180013235
int64_t function_1800131cc(int64_t a1, int64_t a2) {
    // 0x1800131cc
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x1800131cc
    int64_t v2 = g120; // 0x1800131d1
    int64_t v3 = g119; // 0x1800131db
    g120 = v3;
    g116 = a1;
    int64_t result;
    if ((v3 & 2) == 0) {
        // 0x18001320f
        g114 = function_180013c44();
        if ((g120 & 1) != 0) {
            int64_t v4 = g116; // 0x18001321a
            g117 = v4;
            g114 = function_18001310e(v4);
        }
        // 0x180013222
        result = g116;
        // 0x180013225
        g114 = result;
        g116 = v1;
        g120 = v2;
        return result;
    }
    uint32_t v5 = *(int32_t *)(a1 - 8); // 0x1800131e5
    g112 = v5;
    g119 = 24;
    g114 = function_180013168(a1, 24, v5, 0x180013c44);
    if ((g120 & 1) != 0) {
        int64_t v6 = g116 - 8; // 0x180013200
        g117 = v6;
        g114 = function_18001310e(v6);
    }
    // 0x180013209
    result = g116 - 8;
    // 0x180013225
    g114 = result;
    g116 = v1;
    g120 = v2;
    return result;
}
 
// Address range: 0x180013236 - 0x18001323c
int64_t function_180013236(void) {
    int64_t result = _purecall(); // 0x180013236
    g114 = result;
    return result;
}
 
// Address range: 0x18001323c - 0x180013242
int64_t function_18001323c(int64_t a1, int64_t a2) {
    // 0x18001323c
    g119 = a2;
    g117 = a1;
    int64_t result = _3f__3f_2_40_YAPEAX_K_40_Z(); // 0x18001323c
    g114 = result;
    return result;
}
 
// Address range: 0x180013244 - 0x1800132d3
int64_t function_180013244(int64_t a1, int64_t a2, int64_t a3, int64_t a4) {
    // 0x180013244
    g112 = a3;
    g119 = a2;
    g117 = a1;
    int64_t v1;
    g114 = &v1;
    int64_t v2 = g116; // 0x180013247
    int64_t v3 = g120; // 0x18001324f
    int64_t v4 = *(int64_t *)(a4 + 56); // 0x18001325d
    g116 = v4;
    int64_t v5 = g119; // 0x180013261
    g120 = v5;
    int64_t v6 = g112; // r12
    int64_t v7 = g117; // rbp
    int64_t v8 = v4 + 4; // 0x18001326a
    g112 = v8;
    g119 = a4;
    g117 = v5;
    g114 = function_1800133e0(v5, a4, v8);
    int32_t v9 = *(int32_t *)(g116 + 4); // 0x18001327c
    int32_t v10 = *(int32_t *)(v7 + 4); // 0x180013280
    g112 = 1;
    int64_t v11 = v9 & 1; // 0x180013291
    g114 = v11;
    int64_t result; // 0x1800132ad
    if (((v10 & 102) == 0 ? v11 : (int64_t)(v9 & 2)) != 0) {
        // 0x1800132a1
        g112 = v6;
        int64_t v12 = g120; // 0x1800132a7
        g119 = v12;
        g117 = v7;
        result = function_1800131c6(v7, v12, v6, a4);
        g114 = result;
        g112 = result;
    } else {
        result = 1;
    }
    // 0x1800132b5
    g116 = v2;
    g120 = v3;
    g114 = result;
    return result;
}
 
// Address range: 0x1800133c0 - 0x1800133d7
int64_t function_1800133c0(int64_t a1) {
    // 0x1800133c0
    g117 = a1;
    int64_t result = 0xffffffff - (int64_t)(_onexit((int32_t (*)())a1) != NULL) & 0xffffffff; // 0x1800133d0
    g114 = result;
    return result;
}
 
// Address range: 0x1800133d8 - 0x1800133de
int64_t * function_1800133d8(int64_t * dest, int64_t * src, int32_t n) {
    // 0x1800133d8
    g112 = n;
    g119 = (int64_t)src;
    g117 = (int64_t)dest;
    int64_t * dest_mem = memcpy(dest, src, n); // 0x1800133d8
    g114 = (int64_t)dest_mem;
    return dest_mem;
}
 
// Address range: 0x1800133e0 - 0x180013443
int64_t function_1800133e0(int64_t a1, int64_t a2, int64_t a3) {
    // 0x1800133e0
    g112 = a3;
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x1800133e0
    int32_t v2 = *(int32_t *)&g112; // 0x1800133e6
    int64_t v3 = g119; // 0x1800133e9
    g116 = v3;
    int64_t v4 = g117; // 0x1800133ec
    int64_t v5 = v2 & -8; // 0x1800133ef
    int64_t v6; // 0x180013412
    if ((v2 & 4) != 0) {
        int64_t v7 = g112; // 0x1800133fc
        uint32_t v8 = *(int32_t *)(v7 + 8); // 0x1800133fc
        g114 = v8;
        int64_t v9 = -v8; // 0x180013404
        g114 = v9;
        g117 = v9;
        v6 = (int64_t)*(int32_t *)(v7 + 4) + v4 & v9;
    } else {
        v6 = v4;
    }
    // 0x18001340f
    g114 = v5;
    int64_t v10 = *(int64_t *)(v6 + v5); // 0x180013412
    g119 = v10;
    int64_t v11 = *(int64_t *)(v3 + 16); // 0x180013416
    g114 = v11;
    int64_t v12 = (int64_t)*(int32_t *)(v11 + 8); // 0x18001341a
    g117 = v12;
    int64_t v13 = *(int64_t *)(v3 + 8) + v12; // 0x18001341d
    g117 = v13;
    char * v14 = (char *)(v13 + 3); // 0x180013421
    int64_t v15; // 0x180013433
    if ((*v14 & 15) != 0) {
        int64_t v16 = (int64_t)*v14 & 240; // 0x18001342b
        g114 = v16;
        v15 = v16 + v4;
    } else {
        v15 = v4;
    }
    int64_t v17 = v15 ^ v10; // 0x180013433
    g117 = v17;
    g116 = v1;
    __security_check_cookie(v17);
    g114 = &g122;
    return &g122;
}
 
// Address range: 0x180013444 - 0x180013461
int64_t function_180013444(void) {
    // 0x180013444
    int64_t v1; // r9
    int64_t v2 = *(int64_t *)(v1 + 56); // 0x180013448
    g112 = v2;
    int64_t v3 = g119; // 0x18001344c
    g117 = v3;
    g119 = v1;
    function_1800133e0(v3, v1, v2);
    g114 = 1;
    return 1;
}
 
// Address range: 0x180013462 - 0x180013468
int64_t function_180013462(int64_t a1) {
    // 0x180013462
    g117 = a1;
    int64_t result = __RTtypeid(); // 0x180013462
    g114 = result;
    return result;
}
 
// Address range: 0x1800134d0 - 0x180013729
int64_t function_1800134d0(int64_t a1, int64_t a2, int64_t a3) {
    // 0x1800134d0
    g112 = a3;
    g119 = a2;
    g117 = a1;
    int64_t v1;
    g114 = &v1;
    int64_t v2 = g116; // 0x1800134d3
    int64_t v3 = 0; // rdi
    int64_t v4 = g117; // 0x1800134f2
    int32_t v5 = g119; // 0x1800134f5
    int64_t v6; // rbp
    int64_t result;
    if (v5 != 0) {
        if (v5 != 1) {
            result = 1;
            // 0x18001370a
            g114 = result;
            g116 = v2;
            return result;
        }
        int64_t v7 = __readgsqword(48); // 0x18001363e
        g114 = v7;
        v6 = v3;
        int64_t v8 = *(int64_t *)(v7 + 8); // 0x180013649
        g116 = v8;
        int64_t v9 = g104; // 0x18001366158
        g104 = v9 == 0 ? v8 : v9;
        g114 = v9;
        if (v9 != 0) {
            while (true) {
                if (v9 == v8) {
                    // break -> 0x18001366e
                    break;
                }
                // 0x180013654
                g117 = 1000;
                Sleep(1000);
                int64_t v10 = g116;
                int64_t v11 = g104; // 0x180013661
                g104 = v11 == 0 ? v10 : v11;
                g114 = v11;
                if (v11 == 0) {
                    goto lab_0x180013673;
                }
                v9 = v11;
                v8 = v10;
            }
            // 0x18001366e
            v6 = 1;
        }
      lab_0x180013673:;
        uint32_t v12 = g103; // 0x180013673
        g114 = v12;
        if (v12 == (int32_t)v3) {
            // 0x180013689
            g119 = (int64_t)&g5;
            g117 = (int64_t)&g4;
            g103 = 1;
            int32_t v13 = _initterm_e((int32_t (**)())&g4, (int32_t (**)())&g5); // 0x1800136a1
            g114 = v13;
            if (v13 != (int32_t)v3) {
                result = 0;
                // 0x18001370a
                g114 = result;
                g116 = v2;
                return result;
            }
            // 0x1800136aa
            g119 = (int64_t)&g3;
            g117 = (int64_t)&g2;
            _initterm((void (**)())&g2, (void (**)())&g3);
            g114 = &g122;
            g103 = 2;
        } else {
            // 0x18001367d
            g117 = 31;
            _amsg_exit(31);
            g114 = &g122;
        }
        // 0x1800136c7
        if ((int32_t)v6 == (int32_t)v3) {
            int64_t v14 = g104; // 0x1800136ce
            g104 = v3;
            g114 = v14;
        }
        // 0x1800136d5
        if (g105 != v3) {
            // 0x1800136de
            g117 = &g105;
            int64_t v15 = function_180013b10(&g105); // 0x1800136e5
            g114 = v15;
            if ((int32_t)v15 != (int32_t)v3) {
                // 0x1800136ee
                g119 = 2;
                g117 = v4;
            }
        }
        // 0x1800136ff
        g93++;
        result = 1;
        // 0x18001370a
        g114 = result;
        g116 = v2;
        return result;
    }
    uint32_t v16 = g93; // 0x1800134fd
    g114 = v16;
    if (v16 <= 0) {
        result = 0;
        // 0x18001370a
        g114 = result;
        g116 = v2;
        return result;
    }
    int32_t v17 = v16 - 1; // 0x18001350b
    g114 = v17;
    int64_t v18 = 0; // r13
    g93 = v17;
    int64_t v19 = __readgsqword(48); // 0x180013516
    g114 = v19;
    int64_t v20 = *(int64_t *)(v19 + 8); // 0x18001351f
    g116 = v20;
    int64_t v21 = g104; // 0x18001353774
    g104 = v21 == 0 ? v20 : v21;
    g114 = v21;
    if (v21 != 0) {
        while (true) {
            if (v21 == v20) {
                // break -> 0x180013544
                break;
            }
            // 0x18001352a
            g117 = 1000;
            Sleep(1000);
            int64_t v22 = g116;
            int64_t v23 = g104; // 0x180013537
            g104 = v23 == 0 ? v22 : v23;
            g114 = v23;
            if (v23 == 0) {
                goto lab_0x18001354a;
            }
            v21 = v23;
            v20 = v22;
        }
        // 0x180013544
        v18 = 1;
    }
  lab_0x18001354a:;
    uint32_t v24 = g103; // 0x18001354a
    g114 = v24;
    if (v24 != 2) {
        // 0x180013555
        g117 = 31;
        _amsg_exit(31);
        g114 = &g122;
        result = 1;
        // 0x18001370a
        g114 = result;
        g116 = v2;
        return result;
    }
    int64_t v25 = g107; // 0x180013564
    g117 = v25;
    int64_t v26 = _decode_pointer(v25); // 0x18001356b
    g114 = v26;
    int64_t v27 = v26; // r12
    int64_t v28; // 0x180013622
    if (v26 != v3) {
        int64_t v29 = g106; // 0x18001357d
        g117 = v29;
        int64_t v30 = _decode_pointer(v29); // 0x180013584
        g114 = v30;
        int64_t v31 = v27; // 0x18001358a
        int64_t v32 = v31; // r15
        int64_t v33 = v30; // r14
        int64_t v34 = v30 - 8; // 0x1800135936469
        v6 = v34;
        if (v34 >= v31) {
            while (true) {
                int64_t v35 = v34; // 0x18001359367
                int64_t v36; // 0x1800135de
                int64_t v37; // 0x1800135e4
                while (true) {
                    // 0x18001359c
                    int64_t v38;
                    if (*(int64_t *)v35 != v3) {
                        int64_t v39 = _encoded_null(); // 0x1800135a2
                        g114 = v39;
                        int64_t v40 = v6; // 0x1800135a8
                        int64_t v41 = *(int64_t *)v40; // 0x1800135a8
                        if (v41 != v39) {
                            // 0x1800135ae
                            g117 = v41;
                            int64_t v42 = _decode_pointer(v41); // 0x1800135b2
                            g114 = v42;
                            g116 = v42;
                            int64_t v43 = _encoded_null(); // 0x1800135bb
                            g114 = v43;
                            *(int64_t *)v6 = v43;
                            int64_t v44 = g107; // 0x1800135c7
                            g117 = v44;
                            int64_t v45 = _decode_pointer(v44); // 0x1800135ce
                            g114 = v45;
                            int64_t v46 = g106; // 0x1800135d4
                            g117 = v46;
                            g116 = v45;
                            v36 = _decode_pointer(v46);
                            g114 = v36;
                            v37 = g116;
                            if (v32 != v37) {
                                // break -> 0x1800135ee
                                break;
                            }
                            // 0x1800135e9
                            if (v33 != v36) {
                                // break -> 0x1800135ee
                                break;
                            }
                            // 0x1800135e9
                            v38 = v6;
                        } else {
                            v38 = v40;
                        }
                    } else {
                        v38 = v35;
                    }
                    int64_t v47 = v38 - 8; // 0x180013593
                    v6 = v47;
                    if (v47 < v27) {
                        // break (via goto) -> 0x1800135f6
                        goto lab_0x1800135f6;
                    }
                    v35 = v47;
                }
                // 0x1800135ee
                v32 = v37;
                v27 = v37;
                v33 = v36;
                int64_t v48 = v36 - 8; // 0x18001359364
                v6 = v48;
                if (v48 < v37) {
                    v27 = v37;
                    // break -> 0x1800135f6
                    break;
                }
                v34 = v48;
            }
        } else {
            v27 = v31;
        }
      lab_0x1800135f6:
        // 0x1800135f6
        g117 = v27;
        free((int64_t *)v27);
        g114 = &g122;
        int64_t v49 = _encoded_null(); // 0x1800135ff
        g114 = v49;
        g106 = v49;
        g107 = v49;
        v28 = v3;
    } else {
        v28 = v26;
    }
    int32_t v50 = v28; // 0x180013613
    g103 = v50;
    if ((int32_t)v18 == v50) {
        // 0x180013622
        g104 = v28;
        result = 1;
    } else {
        result = 1;
    }
    // 0x18001370a
    g114 = result;
    g116 = v2;
    return result;
}
 
// Address range: 0x18001372c - 0x180013839
int64_t function_18001372c(int64_t a1, int64_t a2, int64_t a3) {
    // 0x18001372c
    g112 = a3;
    g119 = a2;
    g117 = a1;
    int64_t v1;
    g114 = &v1;
    int64_t v2 = g112; // 0x180013741
    g120 = v2;
    int64_t v3 = g119; // 0x180013744
    g118 = v3;
    int64_t v4 = g117; // 0x180013746
    g108 = v4;
    g116 = 1;
    int32_t v5 = v3; // 0x180013751
    *(int32_t *)&g63 = v5;
    int64_t result; // 0x180013837
    if (v5 == 0) {
        // 0x18001375b
        if (g93 == v5) {
            // 0x180013763
            g116 = 0;
            // 0x180013837
            result = function_18001383f();
            g114 = result;
            return result;
        }
    }
    int64_t v6; // 0x1800137aa
    int64_t v7; // 0x1800137ad
    int64_t v8; // 0x1800137af
    if (v5 == 1) {
        goto lab_0x1800137a2;
    } else {
        if (v5 != 2) {
            v8 = v4;
            v7 = v3;
            v6 = v2;
            goto lab_0x1800137aa;
        } else {
            goto lab_0x1800137a2;
        }
    }
  lab_0x1800137a2:
    // 0x1800137a2
    g114 = 0;
    int64_t v9 = function_1800134d0(v4, v3, v2); // 0x180013797
    g114 = v9;
    g116 = v9;
    if ((int32_t)v9 == 0) {
        // 0x180013837
        result = function_18001383f();
        g114 = result;
        return result;
    }
    // 0x1800137a2
    v8 = g108;
    v7 = g118;
    v6 = g120;
    goto lab_0x1800137aa;
  lab_0x1800137aa:
    // 0x1800137aa
    g112 = v6;
    g119 = v7;
    g117 = v8;
    int32_t v10 = DllMain((int64_t *)v8, (int32_t)v7, (int64_t *)v6); // 0x1800137b2
    int64_t v11 = v10; // 0x1800137b2
    g114 = v11;
    g116 = v11;
    int64_t v12; // 0x180013803
    if ((int32_t)g118 == 1) {
        if (v10 == 0) {
            int64_t v13 = g120; // 0x1800137c6
            g112 = v13;
            g119 = 0;
            g117 = g108;
            g114 = DllMain((int64_t *)g108, 0, (int64_t *)v13);
            int64_t v14 = g120; // 0x1800137d3
            g112 = v14;
            g119 = 0;
            g117 = g108;
            g114 = function_1800134d0(g108, 0, v14);
            v12 = g118;
        } else {
            v12 = g118;
        }
    } else {
        v12 = g118;
    }
    int32_t v15 = v12; // 0x1800137f7
    if (v15 != 0) {
        if (v15 != 3) {
            // 0x180013837
            result = function_18001383f();
            g114 = result;
            return result;
        }
    }
    int64_t v16 = g120; // 0x180013800
    g112 = v16;
    g119 = v12;
    g117 = g108;
    int64_t v17 = function_1800134d0(g108, v12, v16); // 0x180013808
    g114 = -v17 & 0xffffffff;
    uint32_t v18 = (int32_t)v17 != 0 ? (int32_t)g116 : 0; // 0x180013811
    int64_t v19 = v18; // 0x180013811
    g117 = v19;
    g116 = v19;
    if (v18 != 0) {
        // 0x18001381b
        g114 = 0;
    }
    // 0x180013837
    result = function_18001383f();
    g114 = result;
    return result;
}
 
// Address range: 0x180013839 - 0x18001383f
int64_t function_180013839(void) {
    // 0x180013839
    g116 = 0;
    return g114;
}
 
// Address range: 0x18001383f - 0x180013861
int64_t function_18001383f(void) {
    // 0x18001383f
    *(int32_t *)&g63 = -1;
    int64_t result = g116; // 0x180013849
    g114 = result;
    return result;
}
 
// Address range: 0x180013864 - 0x1800138a1
int64_t entry_point(int64_t a1, int64_t a2, int64_t a3) {
    // 0x180013864
    g112 = a3;
    g119 = a2;
    g117 = a1;
    int64_t v1 = g116; // 0x180013864
    int64_t v2 = g120; // 0x180013869
    int64_t v3 = g112; // 0x180013873
    int64_t v4 = g119; // 0x180013876
    g116 = v4;
    int64_t v5 = g117; // 0x180013878
    g120 = v5;
    int64_t v6; // 0x180013885
    int64_t v7; // 0x180013888
    int64_t v8; // 0x18001388a
    if ((int32_t)v4 == 1) {
        // 0x180013880
        __security_init_cookie();
        g114 = &g122;
        v8 = g120;
        v7 = g116;
        v6 = v3;
    } else {
        v8 = v5;
        v7 = v4;
        v6 = v3;
    }
    // 0x180013885
    g112 = v6;
    g119 = v7;
    g117 = v8;
    g116 = v1;
    g120 = v2;
    int64_t result = function_18001372c(v8, v7, v6); // 0x18001389c
    g114 = result;
    return result;
}
 
// Address range: 0x1800138a2 - 0x1800138a8
int64_t function_1800138a2(void) {
    int64_t result = _3f_terminate_40__40_YAXXZ(); // 0x1800138a2
    g114 = result;
    return result;
}
 
// Address range: 0x1800138a8 - 0x1800138ae
int64_t function_1800138a8(void) {
    int64_t result = __C_specific_handler(); // 0x1800138a8
    g114 = result;
    return result;
}
 
// Address range: 0x1800138b0 - 0x1800139fa
int64_t function_1800138b0(int64_t a1) {
    // 0x1800138b0
    g117 = a1;
    int64_t v1 = g117; // 0x1800138b0
    g117 = (int64_t)&g98;
    RtlCaptureContext((struct _CONTEXT *)&g98);
    g114 = &g122;
    int64_t v2 = g101; // 0x1800138c9
    g112 = 0;
    int64_t v3; // bp-40
    g119 = &v3;
    g117 = v2;
    struct _IMAGE_RUNTIME_FUNCTION_ENTRY * v4 = RtlLookupFunctionEntry(v2, &v3, NULL); // 0x1800138e2
    g114 = (int64_t)v4;
    int32_t v5; // 0x18001393d
    if (v4 == NULL) {
        // 0x180013935
        int64_t v6;
        v5 = v6;
        g101 = v5;
        int64_t v7 = &v1; // 0x18001394c
        g114 = v7;
        g100 = v7;
    } else {
        // 0x1800138f4
        g114 = (int64_t)&g98;
        g112 = v2;
        g119 = v3;
        g117 = 0;
        int64_t v8; // bp-64
        int64_t v9; // bp-72
        int64_t (*v10)(struct _EXCEPTION_RECORD *, int64_t *, struct _CONTEXT *, int64_t *) = RtlVirtualUnwind(0, v3, v2, v4, (struct _CONTEXT *)&g98, (int64_t **)&v9, &v8, NULL); // 0x18001392e
        g114 = (int64_t)v10;
        v5 = g101;
    }
    // 0x180013957
    g96 = v5;
    g99 = v1;
    *(int32_t *)&g94 = -0x3ffffbf7;
    *(int32_t *)&g95 = 1;
    g114 = g62;
    bool v11 = IsDebuggerPresent(); // 0x1800139a0
    g114 = v11;
    g97 = v11;
    g117 = 1;
    g114 = function_180013c4a(1);
    g117 = 0;
    g114 = (int64_t)SetUnhandledExceptionFilter(NULL);
    g117 = 0x18001e1e8;
    g114 = UnhandledExceptionFilter((struct _EXCEPTION_POINTERS *)0x18001e1e8);
    if (g97 == 0) {
        // 0x1800139d4
        g117 = 1;
        g114 = function_180013c4a(1);
    }
    int64_t * processHandle = GetCurrentProcess(); // 0x1800139de
    int64_t v12 = (int64_t)processHandle; // 0x1800139de
    g114 = v12;
    g119 = 0xc0000409;
    g117 = v12;
    int64_t result = TerminateProcess(processHandle, -0x3ffffbf7); // 0x1800139ec
    g114 = result;
    return result;
}
 
// Address range: 0x1800139fa - 0x180013a00
void function_1800139fa(int32_t locknum) {
    // 0x1800139fa
    g117 = locknum;
    _unlock(locknum);
    g114 = &g122;
}
 
// Address range: 0x180013a00 - 0x180013a06
int32_t (*function_180013a00(int32_t (*func)(), void (***pbegin)(), void (***pend)()))() {
    // 0x180013a00
    g112 = (int64_t)pend;
    g119 = (int64_t)pbegin;
    g117 = (int64_t)func;
    int32_t (*result)() = __dllonexit(func, pbegin, pend); // 0x180013a00
    g114 = (int64_t)result;
    return result;
}
 
// Address range: 0x180013a06 - 0x180013a0c
void function_180013a06(int32_t locknum) {
    // 0x180013a06
    g117 = locknum;
    _lock(locknum);
    g114 = &g122;
}
 
// Address range: 0x180013a0c - 0x180013a18
int64_t function_180013a0c(void) {
    // 0x180013a0c
    g117 = &g102;
    int64_t result = function_180013c50(&g102); // 0x180013a13
    g114 = result;
    return result;
}
 
// Address range: 0x180013b10 - 0x180013b51
int64_t function_180013b10(int64_t * a1) {
    // 0x180013b10
    g117 = (int64_t)a1;
    g112 = g117;
    int64_t v1 = 0x180000000; // r9
    g117 = 0x180000000;
    int64_t result = _ValidateImageBase(0x180000000); // 0x180013b21
    g114 = result;
    if ((int32_t)result == 0) {
        // 0x180013b4c
        return result;
    }
    int64_t v2 = g112 - v1; // 0x180013b2a
    g112 = v2;
    g119 = v2;
    g117 = v1;
    int64_t v3 = _FindPESection(v1, v2); // 0x180013b33
    g114 = v3;
    int64_t result2; // 0x180013b45
    if (v3 != 0) {
        // 0x180013b3d
        result2 = (int64_t)(*(int32_t *)(v3 + 36) >> 31 ^ 1);
        g114 = result2;
    } else {
        result2 = 0;
    }
    // 0x180013b4c
    return result2;
}
 
// Address range: 0x180013b52 - 0x180013b58
void function_180013b52(void (**First)(), void (**Last)()) {
    // 0x180013b52
    g119 = (int64_t)Last;
    g117 = (int64_t)First;
    _initterm(First, Last);
    g114 = &g122;
}
 
// Address range: 0x180013b58 - 0x180013b5e
int32_t function_180013b58(int32_t (**First)(), int32_t (**Last)()) {
    // 0x180013b58
    g119 = (int64_t)Last;
    g117 = (int64_t)First;
    int32_t result = _initterm_e(First, Last); // 0x180013b58
    g114 = result;
    return result;
}
 
// Address range: 0x180013b5e - 0x180013b64
void function_180013b5e(int32_t rterrnum) {
    // 0x180013b5e
    g117 = rterrnum;
    _amsg_exit(rterrnum);
    g114 = &g122;
}
 
// Address range: 0x180013b64 - 0x180013b6a
int32_t function_180013b64(int32_t ExceptionNum, struct _EXCEPTION_POINTERS * ExceptionPtr) {
    // 0x180013b64
    g119 = (int64_t)ExceptionPtr;
    g117 = ExceptionNum;
    int32_t result = __CppXcptFilter(ExceptionNum, ExceptionPtr); // 0x180013b64
    g114 = result;
    return result;
}
 
// Address range: 0x180013c44 - 0x180013c4a
int64_t function_180013c44(void) {
    int64_t result = _3f__type_info_dtor_internal_method_40_type_info_40__40_QEAAXXZ(); // 0x180013c44
    g114 = result;
    return result;
}
 
// Address range: 0x180013c4a - 0x180013c50
int64_t function_180013c4a(int64_t a1) {
    // 0x180013c4a
    g117 = a1;
    int64_t result = __crt_debugger_hook(); // 0x180013c4a
    g114 = result;
    return result;
}
 
// Address range: 0x180013c50 - 0x180013c56
int64_t function_180013c50(int64_t * a1) {
    // 0x180013c50
    g117 = (int64_t)a1;
    int64_t result = __clean_type_info_names_internal(); // 0x180013c50
    g114 = result;
    return result;
}
 
// Address range: 0x180013c56 - 0x180013c5c
int64_t (*function_180013c56(int32_t HandlerType, int64_t ImageBase, int64_t ControlPc, struct _IMAGE_RUNTIME_FUNCTION_ENTRY * FunctionEntry, struct _CONTEXT * ContextRecord, int64_t ** HandlerData, int64_t * EstablisherFrame, struct _KNONVOLATILE_CONTEXT_POINTERS * ContextPointers))(struct _EXCEPTION_RECORD *, int64_t *, struct _CONTEXT *, int64_t *) {
    // 0x180013c56
    g112 = ControlPc;
    g119 = ImageBase;
    g117 = HandlerType;
    int64_t (*result)(struct _EXCEPTION_RECORD *, int64_t *, struct _CONTEXT *, int64_t *) = RtlVirtualUnwind(HandlerType, ImageBase, ControlPc, FunctionEntry, ContextRecord, HandlerData, EstablisherFrame, ContextPointers); // 0x180013c56
    g114 = (int64_t)result;
    return result;
}
 
// Address range: 0x180013c5c - 0x180013c62
struct _IMAGE_RUNTIME_FUNCTION_ENTRY * function_180013c5c(int64_t ControlPc, int64_t * ImageBase, struct _UNWIND_HISTORY_TABLE * HistoryTable) {
    // 0x180013c5c
    g112 = (int64_t)HistoryTable;
    g119 = (int64_t)ImageBase;
    g117 = ControlPc;
    struct _IMAGE_RUNTIME_FUNCTION_ENTRY * result = RtlLookupFunctionEntry(ControlPc, ImageBase, HistoryTable); // 0x180013c5c
    g114 = (int64_t)result;
    return result;
}
 
// Address range: 0x180013cd0 - 0x180013ce8
int64_t function_180013cd0(void) {
    int64_t v1 = *(int64_t *)(g119 + 64); // 0x180013cd9
    g117 = v1;
    int64_t result = _3f__3f_1wxSockAddress_40__40_UEAA_40_XZ(v1); // 0x180013cdd
    g114 = result;
    return result;
}
 
// Address range: 0x180013cf0 - 0x180013d08
int64_t function_180013cf0(void) {
    int64_t v1 = *(int64_t *)(g119 + 72); // 0x180013cf9
    g117 = v1;
    int64_t result = function_18001310e(v1); // 0x180013cfd
    g114 = result;
    return result;
}
 
// Address range: 0x180013d10 - 0x180013d28
int64_t function_180013d10(void) {
    int64_t v1 = *(int64_t *)(g119 + 72); // 0x180013d19
    g117 = v1;
    int64_t result = _3f__3f_1wxSockAddress_40__40_UEAA_40_XZ(v1); // 0x180013d1d
    g114 = result;
    return result;
}
 
// Address range: 0x180013d30 - 0x180013d49
int64_t function_180013d30(void) {
    int64_t v1 = *(int64_t *)(g119 + 64); // 0x180013d39
    g117 = v1;
    int64_t result = _3f__3f_1wxObject_40__40_UEAA_40_XZ(v1); // 0x180013d3d
    g114 = result;
    return result;
}
 
// Address range: 0x180013d50 - 0x180013d6d
int64_t function_180013d50(void) {
    int64_t v1 = g119; // 0x180013d56
    int64_t v2 = *(int64_t *)(v1 + 64) + 24; // 0x180013d5d
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180013d61
    g114 = result;
    return result;
}
 
// Address range: 0x180013d70 - 0x180013d8d
int64_t function_180013d70(void) {
    int64_t v1 = g119; // 0x180013d76
    int64_t v2 = *(int64_t *)(v1 + 64) + 80; // 0x180013d7d
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180013d81
    g114 = result;
    return result;
}
 
// Address range: 0x180013d90 - 0x180013db7
int64_t function_180013d90(void) {
    int64_t v1 = g119; // 0x180013d96
    int32_t * v2 = (int32_t *)(v1 + 36); // 0x180013d99
    uint32_t v3 = *v2 & 1; // 0x180013d9c
    int64_t v4 = v3; // 0x180013d9c
    g114 = v4;
    int64_t result; // 0x180013dab
    if (v3 != 0) {
        // 0x180013da3
        *v2 = *v2 & -2;
        int64_t v5 = *(int64_t *)(v1 + 112); // 0x180013da7
        g117 = v5;
        result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v5, g119, g112);
        g114 = result;
    } else {
        result = v4;
    }
    // 0x180013db1
    return result;
}
 
// Address range: 0x180013dc0 - 0x180013dd9
int64_t function_180013dc0(void) {
    int64_t v1 = g119; // 0x180013dc6
    int64_t v2 = v1 + 48; // 0x180013dc9
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180013dcd
    g114 = result;
    return result;
}
 
// Address range: 0x180013de0 - 0x180013df9
int64_t function_180013de0(void) {
    int64_t v1 = g119; // 0x180013de6
    int64_t v2 = v1 + 48; // 0x180013de9
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180013ded
    g114 = result;
    return result;
}
 
// Address range: 0x180013e00 - 0x180013e19
int64_t function_180013e00(void) {
    int64_t v1 = g119; // 0x180013e06
    int64_t v2 = v1 + 48; // 0x180013e09
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180013e0d
    g114 = result;
    return result;
}
 
// Address range: 0x180013e20 - 0x180013e39
int64_t function_180013e20(void) {
    int64_t v1 = g119; // 0x180013e26
    int64_t v2 = v1 + 48; // 0x180013e29
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180013e2d
    g114 = result;
    return result;
}
 
// Address range: 0x180013e40 - 0x180013e59
int64_t function_180013e40(void) {
    int64_t v1 = g119; // 0x180013e46
    int64_t v2 = v1 + 48; // 0x180013e49
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180013e4d
    g114 = result;
    return result;
}
 
// Address range: 0x180013e60 - 0x180013e79
int64_t function_180013e60(void) {
    int64_t v1 = g119; // 0x180013e66
    int64_t v2 = v1 + 48; // 0x180013e69
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180013e6d
    g114 = result;
    return result;
}
 
// Address range: 0x180013e80 - 0x180013e9c
int64_t function_180013e80(void) {
    int64_t v1 = g119; // 0x180013e86
    int64_t v2 = v1 + 248; // 0x180013e89
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180013e90
    g114 = result;
    return result;
}
 
// Address range: 0x180013ea0 - 0x180013ebc
int64_t function_180013ea0(void) {
    int64_t v1 = g119; // 0x180013ea6
    int64_t v2 = v1 + 304; // 0x180013ea9
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180013eb0
    g114 = result;
    return result;
}
 
// Address range: 0x180013ec0 - 0x180013edc
int64_t function_180013ec0(void) {
    int64_t v1 = g119; // 0x180013ec6
    int64_t v2 = v1 + 192; // 0x180013ec9
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180013ed0
    g114 = result;
    return result;
}
 
// Address range: 0x180013ee0 - 0x180013efc
int64_t function_180013ee0(void) {
    int64_t v1 = g119; // 0x180013ee6
    int64_t v2 = v1 + 360; // 0x180013ee9
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180013ef0
    g114 = result;
    return result;
}
 
// Address range: 0x180013f00 - 0x180013f1b
int64_t function_180013f00(void) {
    int64_t v1 = g119 + 528; // 0x180013f09
    g117 = v1;
    int64_t result = _3f__3f_1wxURL_40__40_UEAA_40_XZ((int64_t *)v1); // 0x180013f10
    g114 = result;
    return result;
}
 
// Address range: 0x180013f20 - 0x180013f3c
int64_t function_180013f20(void) {
    int64_t v1 = g119; // 0x180013f26
    int64_t v2 = v1 + 472; // 0x180013f29
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180013f30
    g114 = result;
    return result;
}
 
// Address range: 0x180013f40 - 0x180013f5c
int64_t function_180013f40(void) {
    int64_t v1 = g119; // 0x180013f46
    int64_t v2 = v1 + 136; // 0x180013f49
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180013f50
    g114 = result;
    return result;
}
 
// Address range: 0x180013f60 - 0x180013f7c
int64_t function_180013f60(void) {
    int64_t v1 = g119; // 0x180013f66
    int64_t v2 = v1 + 416; // 0x180013f69
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180013f70
    g114 = result;
    return result;
}
 
// Address range: 0x180013f80 - 0x180013f99
int64_t function_180013f80(void) {
    int64_t v1 = g119 + 80; // 0x180013f89
    g117 = v1;
    int64_t result = _3f__3f_1wxFileOutputStream_40__40_UEAA_40_XZ((int64_t *)v1); // 0x180013f8d
    g114 = result;
    return result;
}
 
// Address range: 0x180013fa0 - 0x180013fb8
int64_t function_180013fa0(void) {
    int64_t v1 = *(int64_t *)(g119 + 64); // 0x180013fa9
    g117 = v1;
    int64_t result = function_18001310e(v1); // 0x180013fad
    g114 = result;
    return result;
}
 
// Address range: 0x180013fc0 - 0x180013fd8
int64_t function_180013fc0(void) {
    int64_t v1 = *(int64_t *)(g119 + 48); // 0x180013fc9
    g117 = v1;
    int64_t result = function_18001310e(v1); // 0x180013fcd
    g114 = result;
    return result;
}
 
// Address range: 0x180013fe0 - 0x180013ff9
int64_t function_180013fe0(void) {
    int64_t v1 = *(int64_t *)(g119 + 48); // 0x180013fe9
    g117 = v1;
    int64_t result = _3f__3f_1wxFileInputStream_40__40_UEAA_40_XZ(v1); // 0x180013fed
    g114 = result;
    return result;
}
 
// Address range: 0x180014000 - 0x180014027
int64_t function_180014000(void) {
    int64_t v1 = g119; // 0x180014006
    int32_t * v2 = (int32_t *)(v1 + 48); // 0x180014009
    uint32_t v3 = *v2 & 1; // 0x18001400c
    int64_t v4 = v3; // 0x18001400c
    g114 = v4;
    int64_t result; // 0x18001401b
    if (v3 != 0) {
        // 0x180014013
        *v2 = *v2 & -2;
        int64_t v5 = v1 + 80; // 0x180014017
        g117 = v5;
        result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v5, g119, g112);
        g114 = result;
    } else {
        result = v4;
    }
    // 0x180014021
    return result;
}
 
// Address range: 0x180014030 - 0x180014048
int64_t function_180014030(void) {
    int64_t v1 = *(int64_t *)(g119 + 72); // 0x180014039
    g117 = v1;
    int64_t result = function_18001310e(v1); // 0x18001403d
    g114 = result;
    return result;
}
 
// Address range: 0x180014050 - 0x180014069
int64_t function_180014050(void) {
    int64_t v1 = *(int64_t *)(g119 + 64); // 0x180014059
    g117 = v1;
    int64_t result = _3f__3f_1wxFileInputStream_40__40_UEAA_40_XZ(v1); // 0x18001405d
    g114 = result;
    return result;
}
 
// Address range: 0x180014070 - 0x18001408d
int64_t function_180014070(void) {
    int64_t v1 = g119; // 0x180014076
    int64_t v2 = *(int64_t *)(v1 + 64) + 72; // 0x18001407d
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180014081
    g114 = result;
    return result;
}
 
// Address range: 0x180014090 - 0x1800140ac
int64_t function_180014090(void) {
    int64_t v1 = g119; // 0x180014096
    int64_t v2 = v1 + 208; // 0x180014099
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x1800140a0
    g114 = result;
    return result;
}
 
// Address range: 0x1800140b0 - 0x1800140cc
int64_t function_1800140b0(void) {
    int64_t v1 = g119; // 0x1800140b6
    int64_t v2 = v1 + 152; // 0x1800140b9
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x1800140c0
    g114 = result;
    return result;
}
 
// Address range: 0x1800140d0 - 0x1800140e9
int64_t function_1800140d0(void) {
    int64_t v1 = g119; // 0x1800140d6
    int64_t v2 = v1 + 96; // 0x1800140d9
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x1800140dd
    g114 = result;
    return result;
}
 
// Address range: 0x1800140f0 - 0x180014109
int64_t function_1800140f0(void) {
    int64_t v1 = g119; // 0x1800140f6
    int64_t v2 = v1 + 40; // 0x1800140f9
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x1800140fd
    g114 = result;
    return result;
}
 
// Address range: 0x180014110 - 0x18001412b
int64_t function_180014110(void) {
    int64_t v1 = g119 + 272; // 0x180014119
    g117 = v1;
    int64_t result = _3f__3f_1wxURL_40__40_UEAA_40_XZ((int64_t *)v1); // 0x180014120
    g114 = result;
    return result;
}
 
// Address range: 0x180014130 - 0x18001414b
int64_t function_180014130(void) {
    int64_t v1 = *(int64_t *)(g119 + 176); // 0x180014139
    g117 = v1;
    int64_t result = _3f__3f_1wxProtocol_40__40_UEAA_40_XZ(v1); // 0x180014140
    g114 = result;
    return result;
}
 
// Address range: 0x180014150 - 0x180014173
int64_t function_180014150(void) {
    int64_t v1 = g119; // 0x180014156
    int64_t v2 = *(int64_t *)(v1 + 176) + 392; // 0x180014160
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180014167
    g114 = result;
    return result;
}
 
// Address range: 0x180014180 - 0x180014199
int64_t function_180014180(void) {
    int64_t v1 = g119; // 0x180014186
    int64_t v2 = v1 + 96; // 0x180014189
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x18001418d
    g114 = result;
    return result;
}
 
// Address range: 0x1800141a0 - 0x1800141b9
int64_t function_1800141a0(void) {
    int64_t v1 = g119; // 0x1800141a6
    int64_t v2 = v1 + 40; // 0x1800141a9
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x1800141ad
    g114 = result;
    return result;
}
 
// Address range: 0x1800141c0 - 0x1800141d8
int64_t function_1800141c0(void) {
    int64_t v1 = g119 + 96; // 0x1800141c9
    g117 = v1;
    int64_t result = _3f__3f_1wxSockAddress_40__40_UEAA_40_XZ(v1); // 0x1800141cd
    g114 = result;
    return result;
}
 
// Address range: 0x1800141e0 - 0x1800141f8
int64_t function_1800141e0(void) {
    int64_t v1 = g119 + 96; // 0x1800141e9
    g117 = v1;
    int64_t result = _3f__3f_1wxIPV4address_40__40_UEAA_40_XZ(v1); // 0x1800141ed
    g114 = result;
    return result;
}
 
// Address range: 0x180014200 - 0x180014219
int64_t function_180014200(void) {
    int64_t v1 = g119; // 0x180014206
    int64_t v2 = v1 + 40; // 0x180014209
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x18001420d
    g114 = result;
    return result;
}
 
// Address range: 0x180014220 - 0x180014238
int64_t function_180014220(void) {
    int64_t v1 = g119 + 96; // 0x180014229
    g117 = v1;
    int64_t result = _3f__3f_1wxSockAddress_40__40_UEAA_40_XZ(v1); // 0x18001422d
    g114 = result;
    return result;
}
 
// Address range: 0x180014240 - 0x180014259
int64_t function_180014240(void) {
    int64_t v1 = g119; // 0x180014246
    int64_t v2 = v1 + 40; // 0x180014249
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x18001424d
    g114 = result;
    return result;
}
 
// Address range: 0x180014260 - 0x180014279
int64_t function_180014260(void) {
    int64_t v1 = g119; // 0x180014266
    int64_t v2 = v1 + 96; // 0x180014269
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x18001426d
    g114 = result;
    return result;
}
 
// Address range: 0x180014280 - 0x180014299
int64_t function_180014280(void) {
    int64_t v1 = *(int64_t *)(g119 + 64); // 0x180014289
    g117 = v1;
    int64_t result = _3f__3f_1wxStringToNumHashMap_40__40_QEAA_40_XZ(v1); // 0x18001428d
    g114 = result;
    return result;
}
 
// Address range: 0x1800142a0 - 0x1800142bc
int64_t function_1800142a0(void) {
    int64_t v1 = *(int64_t *)(g119 + 64) + 8; // 0x1800142ad
    g117 = v1;
    int64_t result = function_180002570(v1); // 0x1800142b1
    g114 = result;
    return result;
}
 
// Address range: 0x1800142c0 - 0x1800142d9
int64_t function_1800142c0(void) {
    int64_t v1 = *(int64_t *)(g119 + 64); // 0x1800142c9
    g117 = v1;
    int64_t result = _3f__3f_1wxStringToNumHashMap_40__40_QEAA_40_XZ(v1); // 0x1800142cd
    g114 = result;
    return result;
}
 
// Address range: 0x1800142e0 - 0x1800142fc
int64_t function_1800142e0(void) {
    int64_t v1 = g119; // 0x1800142e6
    int64_t v2 = v1 + 320; // 0x1800142e9
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x1800142f0
    g114 = result;
    return result;
}
 
// Address range: 0x180014300 - 0x18001431c
int64_t function_180014300(void) {
    int64_t v1 = g119; // 0x180014306
    int64_t v2 = v1 + 264; // 0x180014309
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180014310
    g114 = result;
    return result;
}
 
// Address range: 0x180014320 - 0x18001433c
int64_t function_180014320(void) {
    int64_t v1 = g119; // 0x180014326
    int64_t v2 = v1 + 208; // 0x180014329
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180014330
    g114 = result;
    return result;
}
 
// Address range: 0x180014340 - 0x18001435c
int64_t function_180014340(void) {
    int64_t v1 = g119 + 264; // 0x180014349
    g117 = v1;
    int64_t result = _3f__3f_1wxFormatString_40__40_QEAA_40_XZ((int64_t *)v1); // 0x180014350
    g114 = result;
    return result;
}
 
// Address range: 0x180014360 - 0x180014379
int64_t function_180014360(void) {
    int64_t v1 = *(int64_t *)(g119 + 32); // 0x180014369
    g117 = v1;
    int64_t result = _3f__3f_1wxCStrData_40__40_QEAA_40_XZ(v1); // 0x18001436d
    g114 = result;
    return result;
}
 
// Address range: 0x180014380 - 0x18001439c
int64_t function_180014380(void) {
    int64_t v1 = g119 + 72; // 0x18001438d
    g117 = v1;
    int64_t result = function_180002570(v1); // 0x180014391
    g114 = result;
    return result;
}
 
// Address range: 0x1800143a0 - 0x1800143b8
int64_t function_1800143a0(void) {
    int64_t v1 = g119 + 64; // 0x1800143a9
    g117 = v1;
    int64_t result = function_1800025b0(v1); // 0x1800143ad
    g114 = result;
    return result;
}
 
// Address range: 0x1800143c0 - 0x1800143d9
int64_t function_1800143c0(void) {
    int64_t v1 = *(int64_t *)(g119 + 40); // 0x1800143c9
    g117 = v1;
    int64_t result = _3f__3f_1wxCStrData_40__40_QEAA_40_XZ(v1); // 0x1800143cd
    g114 = result;
    return result;
}
 
// Address range: 0x1800143e0 - 0x1800143fc
int64_t function_1800143e0(void) {
    int64_t v1 = g119 + 72; // 0x1800143ed
    g117 = v1;
    int64_t result = function_180002570(v1); // 0x1800143f1
    g114 = result;
    return result;
}
 
// Address range: 0x180014400 - 0x180014419
int64_t function_180014400(void) {
    int64_t v1 = *(int64_t *)(g119 + 40); // 0x180014409
    g117 = v1;
    int64_t result = _3f__3f_1wxStringToNumHashMap_40__40_QEAA_40_XZ(v1); // 0x18001440d
    g114 = result;
    return result;
}
 
// Address range: 0x180014420 - 0x180014447
int64_t function_180014420(void) {
    int64_t v1 = g119; // 0x180014426
    int32_t * v2 = (int32_t *)(v1 + 32); // 0x180014429
    uint32_t v3 = *v2 & 1; // 0x18001442c
    int64_t v4 = v3; // 0x18001442c
    g114 = v4;
    int64_t result; // 0x18001443b
    if (v3 != 0) {
        // 0x180014433
        *v2 = *v2 & -2;
        int64_t v5 = *(int64_t *)(v1 + 48); // 0x180014437
        g117 = v5;
        result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v5, g119, g112);
        g114 = result;
    } else {
        result = v4;
    }
    // 0x180014441
    return result;
}
 
// Address range: 0x180014450 - 0x180014469
int64_t function_180014450(void) {
    int64_t v1 = g119; // 0x180014456
    int64_t v2 = v1 + 56; // 0x180014459
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x18001445d
    g114 = result;
    return result;
}
 
// Address range: 0x180014470 - 0x180014489
int64_t function_180014470(void) {
    int64_t v1 = g119; // 0x180014476
    int64_t v2 = v1 + 112; // 0x180014479
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x18001447d
    g114 = result;
    return result;
}
 
// Address range: 0x180014490 - 0x1800144a9
int64_t function_180014490(void) {
    int64_t v1 = g119 + 112; // 0x180014499
    g117 = v1;
    int64_t result = _3f__3f_1wxFormatString_40__40_QEAA_40_XZ((int64_t *)v1); // 0x18001449d
    g114 = result;
    return result;
}
 
// Address range: 0x1800144b0 - 0x1800144c9
int64_t function_1800144b0(void) {
    int64_t v1 = g119 + 56; // 0x1800144b9
    g117 = v1;
    int64_t result = _3f__3f_1wxFormatString_40__40_QEAA_40_XZ((int64_t *)v1); // 0x1800144bd
    g114 = result;
    return result;
}
 
// Address range: 0x1800144d0 - 0x1800144ec
int64_t function_1800144d0(void) {
    int64_t v1 = g119; // 0x1800144d6
    int64_t v2 = v1 + 224; // 0x1800144d9
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x1800144e0
    g114 = result;
    return result;
}
 
// Address range: 0x1800144f0 - 0x18001450c
int64_t function_1800144f0(void) {
    int64_t v1 = g119; // 0x1800144f6
    int64_t v2 = v1 + 168; // 0x1800144f9
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180014500
    g114 = result;
    return result;
}
 
// Address range: 0x180014510 - 0x180014528
int64_t function_180014510(void) {
    int64_t v1 = *(int64_t *)(g119 + 64); // 0x180014519
    g117 = v1;
    int64_t result = _3f__3f_1wxSocketOutputStream_40__40_UEAA_40_XZ(v1); // 0x18001451d
    g114 = result;
    return result;
}
 
// Address range: 0x180014530 - 0x18001454c
int64_t function_180014530(void) {
    int64_t v1 = g119; // 0x180014536
    int64_t v2 = v1 + 280; // 0x180014539
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180014540
    g114 = result;
    return result;
}
 
// Address range: 0x180014550 - 0x180014568
int64_t function_180014550(void) {
    int64_t v1 = g119 + 32; // 0x180014559
    g117 = v1;
    int64_t result = function_180003100(v1); // 0x18001455d
    g114 = result;
    return result;
}
 
// Address range: 0x180014570 - 0x180014588
int64_t function_180014570(void) {
    int64_t v1 = g119 + 40; // 0x180014579
    g117 = v1;
    int64_t result = function_180003100(v1); // 0x18001457d
    g114 = result;
    return result;
}
 
// Address range: 0x180014590 - 0x1800145a8
int64_t function_180014590(void) {
    int64_t v1 = g119 + 40; // 0x180014599
    g117 = v1;
    int64_t result = function_180003100(v1); // 0x18001459d
    g114 = result;
    return result;
}
 
// Address range: 0x1800145b0 - 0x1800145cc
int64_t function_1800145b0(void) {
    int64_t v1 = g119; // 0x1800145b6
    int64_t v2 = v1 + 168; // 0x1800145b9
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x1800145c0
    g114 = result;
    return result;
}
 
// Address range: 0x1800145d0 - 0x1800145ec
int64_t function_1800145d0(void) {
    int64_t v1 = g119; // 0x1800145d6
    int64_t v2 = v1 + 224; // 0x1800145d9
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x1800145e0
    g114 = result;
    return result;
}
 
// Address range: 0x1800145f0 - 0x180014609
int64_t function_1800145f0(void) {
    int64_t v1 = g119; // 0x1800145f6
    int64_t v2 = v1 + 112; // 0x1800145f9
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x1800145fd
    g114 = result;
    return result;
}
 
// Address range: 0x180014610 - 0x180014629
int64_t function_180014610(void) {
    int64_t v1 = g119; // 0x180014616
    int64_t v2 = v1 + 56; // 0x180014619
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x18001461d
    g114 = result;
    return result;
}
 
// Address range: 0x180014630 - 0x180014649
int64_t function_180014630(void) {
    int64_t v1 = g119; // 0x180014636
    int64_t v2 = v1 + 56; // 0x180014639
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x18001463d
    g114 = result;
    return result;
}
 
// Address range: 0x180014650 - 0x180014669
int64_t function_180014650(void) {
    int64_t v1 = g119; // 0x180014656
    int64_t v2 = v1 + 120; // 0x180014659
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x18001465d
    g114 = result;
    return result;
}
 
// Address range: 0x180014670 - 0x180014689
int64_t function_180014670(void) {
    int64_t v1 = g119 + 48; // 0x180014679
    g117 = v1;
    int64_t result = _3f__3f_1wxFormatString_40__40_QEAA_40_XZ((int64_t *)v1); // 0x18001467d
    g114 = result;
    return result;
}
 
// Address range: 0x180014690 - 0x1800146a9
int64_t function_180014690(void) {
    int64_t v1 = *(int64_t *)(g119 + 40); // 0x180014699
    g117 = v1;
    int64_t result = _3f__3f_1wxCStrData_40__40_QEAA_40_XZ(v1); // 0x18001469d
    g114 = result;
    return result;
}
 
// Address range: 0x1800146b0 - 0x1800146c9
int64_t function_1800146b0(void) {
    int64_t v1 = g119 + 48; // 0x1800146b9
    g117 = v1;
    int64_t result = _3f__3f_1wxFormatString_40__40_QEAA_40_XZ((int64_t *)v1); // 0x1800146bd
    g114 = result;
    return result;
}
 
// Address range: 0x1800146d0 - 0x1800146e9
int64_t function_1800146d0(void) {
    int64_t v1 = *(int64_t *)(g119 + 40); // 0x1800146d9
    g117 = v1;
    int64_t result = _3f__3f_1wxCStrData_40__40_QEAA_40_XZ(v1); // 0x1800146dd
    g114 = result;
    return result;
}
 
// Address range: 0x1800146f0 - 0x180014709
int64_t function_1800146f0(void) {
    int64_t v1 = g119; // 0x1800146f6
    int64_t v2 = v1 + 32; // 0x1800146f9
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x1800146fd
    g114 = result;
    return result;
}
 
// Address range: 0x180014710 - 0x180014729
int64_t function_180014710(void) {
    int64_t v1 = g119 + 32; // 0x180014719
    g117 = v1;
    int64_t result = _3f__3f_1wxFormatString_40__40_QEAA_40_XZ((int64_t *)v1); // 0x18001471d
    g114 = result;
    return result;
}
 
// Address range: 0x180014730 - 0x18001474c
int64_t function_180014730(void) {
    int64_t v1 = g119 + 104; // 0x18001473d
    g117 = v1;
    int64_t result = function_180002570(v1); // 0x180014741
    g114 = result;
    return result;
}
 
// Address range: 0x180014750 - 0x180014768
int64_t function_180014750(void) {
    int64_t v1 = g119 + 96; // 0x180014759
    g117 = v1;
    int64_t result = function_1800025b0(v1); // 0x18001475d
    g114 = result;
    return result;
}
 
// Address range: 0x180014770 - 0x18001478c
int64_t function_180014770(void) {
    int64_t v1 = g119 + 104; // 0x18001477d
    g117 = v1;
    int64_t result = function_180002570(v1); // 0x180014781
    g114 = result;
    return result;
}
 
// Address range: 0x180014790 - 0x1800147ac
int64_t function_180014790(void) {
    int64_t v1 = *(int64_t *)(g119 + 240); // 0x180014799
    g117 = v1;
    int64_t result = _3f__3f_1wxStringToNumHashMap_40__40_QEAA_40_XZ(v1); // 0x1800147a0
    g114 = result;
    return result;
}
 
// Address range: 0x1800147b0 - 0x1800147cc
int64_t function_1800147b0(void) {
    int64_t v1 = g119; // 0x1800147b6
    int64_t v2 = v1 + 256; // 0x1800147b9
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x1800147c0
    g114 = result;
    return result;
}
 
// Address range: 0x1800147d0 - 0x1800147ec
int64_t function_1800147d0(void) {
    int64_t v1 = g119 + 176; // 0x1800147d9
    g117 = v1;
    int64_t result = _3f__3f_1wxFormatString_40__40_QEAA_40_XZ((int64_t *)v1); // 0x1800147e0
    g114 = result;
    return result;
}
 
// Address range: 0x1800147f0 - 0x180014809
int64_t function_1800147f0(void) {
    int64_t v1 = *(int64_t *)(g119 + 32); // 0x1800147f9
    g117 = v1;
    int64_t result = _3f__3f_1wxCStrData_40__40_QEAA_40_XZ(v1); // 0x1800147fd
    g114 = result;
    return result;
}
 
// Address range: 0x180014810 - 0x18001482c
int64_t function_180014810(void) {
    int64_t v1 = g119 + 64; // 0x18001481d
    g117 = v1;
    int64_t result = function_180002570(v1); // 0x180014821
    g114 = result;
    return result;
}
 
// Address range: 0x180014830 - 0x180014848
int64_t function_180014830(void) {
    int64_t v1 = g119 + 56; // 0x180014839
    g117 = v1;
    int64_t result = function_1800025b0(v1); // 0x18001483d
    g114 = result;
    return result;
}
 
// Address range: 0x180014850 - 0x180014869
int64_t function_180014850(void) {
    int64_t v1 = *(int64_t *)(g119 + 40); // 0x180014859
    g117 = v1;
    int64_t result = _3f__3f_1wxCStrData_40__40_QEAA_40_XZ(v1); // 0x18001485d
    g114 = result;
    return result;
}
 
// Address range: 0x180014870 - 0x18001488c
int64_t function_180014870(void) {
    int64_t v1 = g119 + 64; // 0x18001487d
    g117 = v1;
    int64_t result = function_180002570(v1); // 0x180014881
    g114 = result;
    return result;
}
 
// Address range: 0x180014890 - 0x1800148a9
int64_t function_180014890(void) {
    int64_t v1 = *(int64_t *)(g119 + 40); // 0x180014899
    g117 = v1;
    int64_t result = _3f__3f_1wxStringToNumHashMap_40__40_QEAA_40_XZ(v1); // 0x18001489d
    g114 = result;
    return result;
}
 
// Address range: 0x1800148b0 - 0x1800148da
int64_t function_1800148b0(void) {
    int64_t v1 = g119; // 0x1800148b6
    int32_t * v2 = (int32_t *)(v1 + 72); // 0x1800148b9
    uint32_t v3 = *v2 & 1; // 0x1800148bc
    int64_t v4 = v3; // 0x1800148bc
    g114 = v4;
    int64_t result; // 0x1800148ce
    if (v3 != 0) {
        // 0x1800148c3
        *v2 = *v2 & -2;
        int64_t v5 = *(int64_t *)(v1 + 312); // 0x1800148c7
        g117 = v5;
        result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v5, g119, g112);
        g114 = result;
    } else {
        result = v4;
    }
    // 0x1800148d4
    return result;
}
 
// Address range: 0x1800148e0 - 0x1800148fc
int64_t function_1800148e0(void) {
    int64_t v1 = g119; // 0x1800148e6
    int64_t v2 = v1 + 224; // 0x1800148e9
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x1800148f0
    g114 = result;
    return result;
}
 
// Address range: 0x180014900 - 0x18001491c
int64_t function_180014900(void) {
    int64_t v1 = g119 + 224; // 0x180014909
    g117 = v1;
    int64_t result = _3f__3f_1wxFormatString_40__40_QEAA_40_XZ((int64_t *)v1); // 0x180014910
    g114 = result;
    return result;
}
 
// Address range: 0x180014920 - 0x180014939
int64_t function_180014920(void) {
    int64_t v1 = g119; // 0x180014926
    int64_t v2 = *(int64_t *)(v1 + 56); // 0x180014929
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x18001492d
    g114 = result;
    return result;
}
 
// Address range: 0x180014940 - 0x18001495c
int64_t function_180014940(void) {
    int64_t v1 = g119 + 88; // 0x18001494d
    g117 = v1;
    int64_t result = function_180002570(v1); // 0x180014951
    g114 = result;
    return result;
}
 
// Address range: 0x180014960 - 0x180014978
int64_t function_180014960(void) {
    int64_t v1 = g119 + 80; // 0x180014969
    g117 = v1;
    int64_t result = function_1800025b0(v1); // 0x18001496d
    g114 = result;
    return result;
}
 
// Address range: 0x180014980 - 0x18001499c
int64_t function_180014980(void) {
    int64_t v1 = g119; // 0x180014986
    int64_t v2 = *(int64_t *)(v1 + 200); // 0x180014989
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180014990
    g114 = result;
    return result;
}
 
// Address range: 0x1800149a0 - 0x1800149bc
int64_t function_1800149a0(void) {
    int64_t v1 = g119 + 88; // 0x1800149ad
    g117 = v1;
    int64_t result = function_180002570(v1); // 0x1800149b1
    g114 = result;
    return result;
}
 
// Address range: 0x1800149c0 - 0x1800149d9
int64_t function_1800149c0(void) {
    int64_t v1 = *(int64_t *)(g119 + 56); // 0x1800149c9
    g117 = v1;
    int64_t result = _3f__3f_1wxStringToNumHashMap_40__40_QEAA_40_XZ(v1); // 0x1800149cd
    g114 = result;
    return result;
}
 
// Address range: 0x1800149e0 - 0x1800149fc
int64_t function_1800149e0(void) {
    int64_t v1 = g119 + 224; // 0x1800149e9
    g117 = v1;
    int64_t result = _3f__3f_1wxFormatString_40__40_QEAA_40_XZ((int64_t *)v1); // 0x1800149f0
    g114 = result;
    return result;
}
 
// Address range: 0x180014a00 - 0x180014a1c
int64_t function_180014a00(void) {
    int64_t v1 = g119 + 288; // 0x180014a09
    g117 = v1;
    int64_t result = _3f__3f_1wxCStrData_40__40_QEAA_40_XZ(v1); // 0x180014a10
    g114 = result;
    return result;
}
 
// Address range: 0x180014a20 - 0x180014a3c
int64_t function_180014a20(void) {
    int64_t v1 = g119 + 328; // 0x180014a29
    g117 = v1;
    int64_t result = _3f__3f_1wxCStrData_40__40_QEAA_40_XZ(v1); // 0x180014a30
    g114 = result;
    return result;
}
 
// Address range: 0x180014a40 - 0x180014a59
int64_t function_180014a40(void) {
    int64_t v1 = *(int64_t *)(g119 + 56); // 0x180014a49
    g117 = v1;
    int64_t result = _3f__3f_1wxCStrData_40__40_QEAA_40_XZ(v1); // 0x180014a4d
    g114 = result;
    return result;
}
 
// Address range: 0x180014a60 - 0x180014a7c
int64_t function_180014a60(void) {
    int64_t v1 = g119 + 88; // 0x180014a6d
    g117 = v1;
    int64_t result = function_180002570(v1); // 0x180014a71
    g114 = result;
    return result;
}
 
// Address range: 0x180014a80 - 0x180014a98
int64_t function_180014a80(void) {
    int64_t v1 = g119 + 80; // 0x180014a89
    g117 = v1;
    int64_t result = function_1800025b0(v1); // 0x180014a8d
    g114 = result;
    return result;
}
 
// Address range: 0x180014aa0 - 0x180014abc
int64_t function_180014aa0(void) {
    int64_t v1 = *(int64_t *)(g119 + 200); // 0x180014aa9
    g117 = v1;
    int64_t result = _3f__3f_1wxCStrData_40__40_QEAA_40_XZ(v1); // 0x180014ab0
    g114 = result;
    return result;
}
 
// Address range: 0x180014ac0 - 0x180014adc
int64_t function_180014ac0(void) {
    int64_t v1 = g119 + 88; // 0x180014acd
    g117 = v1;
    int64_t result = function_180002570(v1); // 0x180014ad1
    g114 = result;
    return result;
}
 
// Address range: 0x180014ae0 - 0x180014af9
int64_t function_180014ae0(void) {
    int64_t v1 = *(int64_t *)(g119 + 56); // 0x180014ae9
    g117 = v1;
    int64_t result = _3f__3f_1wxStringToNumHashMap_40__40_QEAA_40_XZ(v1); // 0x180014aed
    g114 = result;
    return result;
}
 
// Address range: 0x180014b00 - 0x180014b1c
int64_t function_180014b00(void) {
    int64_t v1 = g119 + 224; // 0x180014b09
    g117 = v1;
    int64_t result = _3f__3f_1wxFormatString_40__40_QEAA_40_XZ((int64_t *)v1); // 0x180014b10
    g114 = result;
    return result;
}
 
// Address range: 0x180014b20 - 0x180014b3c
int64_t function_180014b20(void) {
    int64_t v1 = g119 + 88; // 0x180014b2d
    g117 = v1;
    int64_t result = function_180002570(v1); // 0x180014b31
    g114 = result;
    return result;
}
 
// Address range: 0x180014b40 - 0x180014b58
int64_t function_180014b40(void) {
    int64_t v1 = g119 + 80; // 0x180014b49
    g117 = v1;
    int64_t result = function_1800025b0(v1); // 0x180014b4d
    g114 = result;
    return result;
}
 
// Address range: 0x180014b60 - 0x180014b7c
int64_t function_180014b60(void) {
    int64_t v1 = g119 + 88; // 0x180014b6d
    g117 = v1;
    int64_t result = function_180002570(v1); // 0x180014b71
    g114 = result;
    return result;
}
 
// Address range: 0x180014b80 - 0x180014b99
int64_t function_180014b80(void) {
    int64_t v1 = *(int64_t *)(g119 + 56); // 0x180014b89
    g117 = v1;
    int64_t result = _3f__3f_1wxStringToNumHashMap_40__40_QEAA_40_XZ(v1); // 0x180014b8d
    g114 = result;
    return result;
}
 
// Address range: 0x180014ba0 - 0x180014bb9
int64_t function_180014ba0(void) {
    int64_t v1 = g119; // 0x180014ba6
    int64_t v2 = v1 + 96; // 0x180014ba9
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180014bad
    g114 = result;
    return result;
}
 
// Address range: 0x180014bc0 - 0x180014bd9
int64_t function_180014bc0(void) {
    int64_t v1 = g119; // 0x180014bc6
    int64_t v2 = v1 + 40; // 0x180014bc9
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180014bcd
    g114 = result;
    return result;
}
 
// Address range: 0x180014be0 - 0x180014bf9
int64_t function_180014be0(void) {
    int64_t v1 = g119; // 0x180014be6
    int64_t v2 = v1 + 40; // 0x180014be9
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180014bed
    g114 = result;
    return result;
}
 
// Address range: 0x180014c00 - 0x180014c19
int64_t function_180014c00(void) {
    int64_t v1 = g119; // 0x180014c06
    int64_t v2 = v1 + 96; // 0x180014c09
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180014c0d
    g114 = result;
    return result;
}
 
// Address range: 0x180014c20 - 0x180014c39
int64_t function_180014c20(void) {
    int64_t v1 = g119; // 0x180014c26
    int64_t v2 = v1 + 40; // 0x180014c29
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180014c2d
    g114 = result;
    return result;
}
 
// Address range: 0x180014c40 - 0x180014c5b
int64_t function_180014c40(void) {
    int64_t v1 = g119 + 320; // 0x180014c49
    g117 = v1;
    int64_t result = _3f__3f_1wxSockAddress_40__40_UEAA_40_XZ(v1); // 0x180014c50
    g114 = result;
    return result;
}
 
// Address range: 0x180014c60 - 0x180014c7b
int64_t function_180014c60(void) {
    int64_t v1 = g119 + 320; // 0x180014c69
    g117 = v1;
    int64_t result = _3f__3f_1wxIPV4address_40__40_UEAA_40_XZ(v1); // 0x180014c70
    g114 = result;
    return result;
}
 
// Address range: 0x180014c80 - 0x180014c9b
int64_t function_180014c80(void) {
    int64_t v1 = g119 + 400; // 0x180014c89
    g117 = v1;
    int64_t result = _3f__3f_1wxSockAddress_40__40_UEAA_40_XZ(v1); // 0x180014c90
    g114 = result;
    return result;
}
 
// Address range: 0x180014ca0 - 0x180014cbb
int64_t function_180014ca0(void) {
    int64_t v1 = g119 + 400; // 0x180014ca9
    g117 = v1;
    int64_t result = _3f__3f_1wxIPV4address_40__40_UEAA_40_XZ(v1); // 0x180014cb0
    g114 = result;
    return result;
}
 
// Address range: 0x180014cc0 - 0x180014cd8
int64_t function_180014cc0(void) {
    int64_t v1 = *(int64_t *)(g119 + 32); // 0x180014cc9
    g117 = v1;
    int64_t result = function_18001310e(v1); // 0x180014ccd
    g114 = result;
    return result;
}
 
// Address range: 0x180014ce0 - 0x180014cfb
int64_t function_180014ce0(void) {
    int64_t v1 = g119 + 400; // 0x180014ce9
    g117 = v1;
    int64_t result = _3f__3f_1wxSockAddress_40__40_UEAA_40_XZ(v1); // 0x180014cf0
    g114 = result;
    return result;
}
 
// Address range: 0x180014d00 - 0x180014d1b
int64_t function_180014d00(void) {
    int64_t v1 = g119 + 320; // 0x180014d09
    g117 = v1;
    int64_t result = _3f__3f_1wxSockAddress_40__40_UEAA_40_XZ(v1); // 0x180014d10
    g114 = result;
    return result;
}
 
// Address range: 0x180014d20 - 0x180014d3c
int64_t function_180014d20(void) {
    int64_t v1 = g119; // 0x180014d26
    int64_t v2 = v1 + 480; // 0x180014d29
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180014d30
    g114 = result;
    return result;
}
 
// Address range: 0x180014d40 - 0x180014d5c
int64_t function_180014d40(void) {
    int64_t v1 = g119; // 0x180014d46
    int64_t v2 = v1 + 208; // 0x180014d49
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180014d50
    g114 = result;
    return result;
}
 
// Address range: 0x180014d60 - 0x180014d7c
int64_t function_180014d60(void) {
    int64_t v1 = g119; // 0x180014d66
    int64_t v2 = v1 + 264; // 0x180014d69
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180014d70
    g114 = result;
    return result;
}
 
// Address range: 0x180014d80 - 0x180014d9c
int64_t function_180014d80(void) {
    int64_t v1 = g119 + 168; // 0x180014d89
    g117 = v1;
    int64_t result = _3f__3f_1wxFormatString_40__40_QEAA_40_XZ((int64_t *)v1); // 0x180014d90
    g114 = result;
    return result;
}
 
// Address range: 0x180014da0 - 0x180014dbc
int64_t function_180014da0(void) {
    int64_t v1 = g119 + 56; // 0x180014dad
    g117 = v1;
    int64_t result = function_180002570(v1); // 0x180014db1
    g114 = result;
    return result;
}
 
// Address range: 0x180014dc0 - 0x180014dd8
int64_t function_180014dc0(void) {
    int64_t v1 = g119 + 48; // 0x180014dc9
    g117 = v1;
    int64_t result = function_1800025b0(v1); // 0x180014dcd
    g114 = result;
    return result;
}
 
// Address range: 0x180014de0 - 0x180014dfc
int64_t function_180014de0(void) {
    int64_t v1 = g119 + 56; // 0x180014ded
    g117 = v1;
    int64_t result = function_180002570(v1); // 0x180014df1
    g114 = result;
    return result;
}
 
// Address range: 0x180014e00 - 0x180014e19
int64_t function_180014e00(void) {
    int64_t v1 = *(int64_t *)(g119 + 32); // 0x180014e09
    g117 = v1;
    int64_t result = _3f__3f_1wxStringToNumHashMap_40__40_QEAA_40_XZ(v1); // 0x180014e0d
    g114 = result;
    return result;
}
 
// Address range: 0x180014e20 - 0x180014e3b
int64_t function_180014e20(void) {
    int64_t v1 = g119 + 400; // 0x180014e29
    g117 = v1;
    int64_t result = _3f__3f_1wxSockAddress_40__40_UEAA_40_XZ(v1); // 0x180014e30
    g114 = result;
    return result;
}
 
// Address range: 0x180014e40 - 0x180014e5b
int64_t function_180014e40(void) {
    int64_t v1 = g119 + 320; // 0x180014e49
    g117 = v1;
    int64_t result = _3f__3f_1wxSockAddress_40__40_UEAA_40_XZ(v1); // 0x180014e50
    g114 = result;
    return result;
}
 
// Address range: 0x180014e60 - 0x180014e7b
int64_t function_180014e60(void) {
    int64_t v1 = g119 + 400; // 0x180014e69
    g117 = v1;
    int64_t result = _3f__3f_1wxSockAddress_40__40_UEAA_40_XZ(v1); // 0x180014e70
    g114 = result;
    return result;
}
 
// Address range: 0x180014e80 - 0x180014e9b
int64_t function_180014e80(void) {
    int64_t v1 = g119 + 320; // 0x180014e89
    g117 = v1;
    int64_t result = _3f__3f_1wxSockAddress_40__40_UEAA_40_XZ(v1); // 0x180014e90
    g114 = result;
    return result;
}
 
// Address range: 0x180014ea0 - 0x180014eb9
int64_t function_180014ea0(void) {
    int64_t v1 = g119; // 0x180014ea6
    int64_t v2 = v1 + 96; // 0x180014ea9
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180014ead
    g114 = result;
    return result;
}
 
// Address range: 0x180014ec0 - 0x180014ed9
int64_t function_180014ec0(void) {
    int64_t v1 = g119; // 0x180014ec6
    int64_t v2 = v1 + 96; // 0x180014ec9
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180014ecd
    g114 = result;
    return result;
}
 
// Address range: 0x180014ee0 - 0x180014efc
int64_t function_180014ee0(void) {
    int64_t v1 = g119; // 0x180014ee6
    int64_t v2 = v1 + 320; // 0x180014ee9
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180014ef0
    g114 = result;
    return result;
}
 
// Address range: 0x180014f00 - 0x180014f1c
int64_t function_180014f00(void) {
    int64_t v1 = g119 + 280; // 0x180014f09
    g117 = v1;
    int64_t result = _3f__3f_1wxFormatString_40__40_QEAA_40_XZ((int64_t *)v1); // 0x180014f10
    g114 = result;
    return result;
}
 
// Address range: 0x180014f20 - 0x180014f3f
int64_t function_180014f20(void) {
    int64_t v1 = g119 + 168; // 0x180014f30
    g117 = v1;
    int64_t result = function_180002570(v1); // 0x180014f34
    g114 = result;
    return result;
}
 
// Address range: 0x180014f40 - 0x180014f5b
int64_t function_180014f40(void) {
    int64_t v1 = g119 + 160; // 0x180014f49
    g117 = v1;
    int64_t result = function_1800025b0(v1); // 0x180014f50
    g114 = result;
    return result;
}
 
// Address range: 0x180014f60 - 0x180014f7f
int64_t function_180014f60(void) {
    int64_t v1 = g119 + 168; // 0x180014f70
    g117 = v1;
    int64_t result = function_180002570(v1); // 0x180014f74
    g114 = result;
    return result;
}
 
// Address range: 0x180014f80 - 0x180014f99
int64_t function_180014f80(void) {
    int64_t v1 = *(int64_t *)(g119 + 88); // 0x180014f89
    g117 = v1;
    int64_t result = _3f__3f_1wxStringToNumHashMap_40__40_QEAA_40_XZ(v1); // 0x180014f8d
    g114 = result;
    return result;
}
 
// Address range: 0x180014fa0 - 0x180014fbc
int64_t function_180014fa0(void) {
    int64_t v1 = g119; // 0x180014fa6
    int64_t v2 = v1 + 464; // 0x180014fa9
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180014fb0
    g114 = result;
    return result;
}
 
// Address range: 0x180014fc0 - 0x180014fdb
int64_t function_180014fc0(void) {
    int64_t v1 = g119 + 384; // 0x180014fc9
    g117 = v1;
    int64_t result = _3f__3f_1wxSockAddress_40__40_UEAA_40_XZ(v1); // 0x180014fd0
    g114 = result;
    return result;
}
 
// Address range: 0x180014fe0 - 0x180014ffb
int64_t function_180014fe0(void) {
    int64_t v1 = g119 + 384; // 0x180014fe9
    g117 = v1;
    int64_t result = _3f__3f_1wxIPV4address_40__40_UEAA_40_XZ(v1); // 0x180014ff0
    g114 = result;
    return result;
}
 
// Address range: 0x180015000 - 0x180015018
int64_t function_180015000(void) {
    int64_t v1 = *(int64_t *)(g119 + 88); // 0x180015009
    g117 = v1;
    int64_t result = function_18001310e(v1); // 0x18001500d
    g114 = result;
    return result;
}
 
// Address range: 0x180015020 - 0x18001503b
int64_t function_180015020(void) {
    int64_t v1 = g119 + 384; // 0x180015029
    g117 = v1;
    int64_t result = _3f__3f_1wxSockAddress_40__40_UEAA_40_XZ(v1); // 0x180015030
    g114 = result;
    return result;
}
 
// Address range: 0x180015040 - 0x18001505b
int64_t function_180015040(void) {
    int64_t v1 = g119 + 384; // 0x180015049
    g117 = v1;
    int64_t result = _3f__3f_1wxSockAddress_40__40_UEAA_40_XZ(v1); // 0x180015050
    g114 = result;
    return result;
}
 
// Address range: 0x180015060 - 0x180015078
int64_t function_180015060(void) {
    int64_t v1 = *(int64_t *)(g119 + 64); // 0x180015069
    g117 = v1;
    int64_t result = _3f__3f_1wxProtocol_40__40_UEAA_40_XZ(v1); // 0x18001506d
    g114 = result;
    return result;
}
 
// Address range: 0x180015080 - 0x1800150a0
int64_t function_180015080(void) {
    int64_t v1 = g119; // 0x180015086
    int64_t v2 = *(int64_t *)(v1 + 64) + 392; // 0x18001508d
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180015094
    g114 = result;
    return result;
}
 
// Address range: 0x1800150a0 - 0x1800150bc
int64_t function_1800150a0(void) {
    int64_t v1 = g119; // 0x1800150a6
    int64_t v2 = v1 + 632; // 0x1800150a9
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x1800150b0
    g114 = result;
    return result;
}
 
// Address range: 0x1800150c0 - 0x1800150ea
int64_t function_1800150c0(void) {
    int64_t v1 = g119; // 0x1800150c6
    int32_t * v2 = (int32_t *)(v1 + 48); // 0x1800150c9
    uint32_t v3 = *v2 & 1; // 0x1800150cc
    int64_t v4 = v3; // 0x1800150cc
    g114 = v4;
    int64_t result; // 0x1800150de
    if (v3 != 0) {
        // 0x1800150d3
        *v2 = *v2 & -2;
        int64_t v5 = v1 + 296; // 0x1800150d7
        g117 = v5;
        result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v5, g119, g112);
        g114 = result;
    } else {
        result = v4;
    }
    // 0x1800150e4
    return result;
}
 
// Address range: 0x1800150f0 - 0x18001511a
int64_t function_1800150f0(void) {
    int64_t v1 = g119; // 0x1800150f6
    int32_t * v2 = (int32_t *)(v1 + 48); // 0x1800150f9
    uint32_t v3 = *v2 & 2; // 0x1800150fc
    int64_t v4 = v3; // 0x1800150fc
    g114 = v4;
    int64_t result; // 0x18001510e
    if (v3 != 0) {
        // 0x180015103
        *v2 = *v2 & -3;
        int64_t v5 = v1 + 408; // 0x180015107
        g117 = v5;
        result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v5, g119, g112);
        g114 = result;
    } else {
        result = v4;
    }
    // 0x180015114
    return result;
}
 
// Address range: 0x180015120 - 0x18001514a
int64_t function_180015120(void) {
    int64_t v1 = g119; // 0x180015126
    int32_t * v2 = (int32_t *)(v1 + 48); // 0x180015129
    uint32_t v3 = *v2 & 4; // 0x18001512c
    int64_t v4 = v3; // 0x18001512c
    g114 = v4;
    int64_t result; // 0x18001513e
    if (v3 != 0) {
        // 0x180015133
        *v2 = *v2 & -5;
        int64_t v5 = v1 + 352; // 0x180015137
        g117 = v5;
        result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v5, g119, g112);
        g114 = result;
    } else {
        result = v4;
    }
    // 0x180015144
    return result;
}
 
// Address range: 0x180015150 - 0x18001517a
int64_t function_180015150(void) {
    int64_t v1 = g119; // 0x180015156
    int32_t * v2 = (int32_t *)(v1 + 48); // 0x180015159
    uint32_t v3 = *v2 & 8; // 0x18001515c
    int64_t v4 = v3; // 0x18001515c
    g114 = v4;
    int64_t result; // 0x18001516e
    if (v3 != 0) {
        // 0x180015163
        *v2 = *v2 & -9;
        int64_t v5 = v1 + 576; // 0x180015167
        g117 = v5;
        result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v5, g119, g112);
        g114 = result;
    } else {
        result = v4;
    }
    // 0x180015174
    return result;
}
 
// Address range: 0x180015180 - 0x18001519c
int64_t function_180015180(void) {
    int64_t v1 = g119; // 0x180015186
    int64_t v2 = v1 + 240; // 0x180015189
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180015190
    g114 = result;
    return result;
}
 
// Address range: 0x1800151a0 - 0x1800151bc
int64_t function_1800151a0(void) {
    int64_t v1 = g119; // 0x1800151a6
    int64_t v2 = v1 + 464; // 0x1800151a9
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x1800151b0
    g114 = result;
    return result;
}
 
// Address range: 0x1800151c0 - 0x1800151d9
int64_t function_1800151c0(void) {
    int64_t v1 = g119 + 80; // 0x1800151c9
    g117 = v1;
    int64_t result = _3f__3f_1wxFormatString_40__40_QEAA_40_XZ((int64_t *)v1); // 0x1800151cd
    g114 = result;
    return result;
}
 
// Address range: 0x1800151e0 - 0x1800151f9
int64_t function_1800151e0(void) {
    int64_t v1 = g119; // 0x1800151e6
    int64_t v2 = *(int64_t *)(v1 + 56); // 0x1800151e9
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x1800151ed
    g114 = result;
    return result;
}
 
// Address range: 0x180015200 - 0x18001521c
int64_t function_180015200(void) {
    int64_t v1 = g119 + 128; // 0x18001520d
    g117 = v1;
    int64_t result = function_180002570(v1); // 0x180015211
    g114 = result;
    return result;
}
 
// Address range: 0x180015220 - 0x180015238
int64_t function_180015220(void) {
    int64_t v1 = g119 + 120; // 0x180015229
    g117 = v1;
    int64_t result = function_1800025b0(v1); // 0x18001522d
    g114 = result;
    return result;
}
 
// Address range: 0x180015240 - 0x180015259
int64_t function_180015240(void) {
    int64_t v1 = g119; // 0x180015246
    int64_t v2 = *(int64_t *)(v1 + 64); // 0x180015249
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x18001524d
    g114 = result;
    return result;
}
 
// Address range: 0x180015260 - 0x18001527c
int64_t function_180015260(void) {
    int64_t v1 = g119 + 128; // 0x18001526d
    g117 = v1;
    int64_t result = function_180002570(v1); // 0x180015271
    g114 = result;
    return result;
}
 
// Address range: 0x180015280 - 0x180015299
int64_t function_180015280(void) {
    int64_t v1 = *(int64_t *)(g119 + 64); // 0x180015289
    g117 = v1;
    int64_t result = _3f__3f_1wxStringToNumHashMap_40__40_QEAA_40_XZ(v1); // 0x18001528d
    g114 = result;
    return result;
}
 
// Address range: 0x1800152a0 - 0x1800152b9
int64_t function_1800152a0(void) {
    int64_t v1 = g119; // 0x1800152a6
    int64_t v2 = v1 + 48; // 0x1800152a9
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x1800152ad
    g114 = result;
    return result;
}
 
// Address range: 0x1800152c0 - 0x1800152d9
int64_t function_1800152c0(void) {
    int64_t v1 = g119; // 0x1800152c6
    int64_t v2 = v1 + 104; // 0x1800152c9
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x1800152cd
    g114 = result;
    return result;
}
 
// Address range: 0x1800152e0 - 0x1800152f8
int64_t function_1800152e0(void) {
    int64_t v1 = *(int64_t *)(g119 + 32); // 0x1800152e9
    g117 = v1;
    int64_t result = function_18001310e(v1); // 0x1800152ed
    g114 = result;
    return result;
}
 
// Address range: 0x180015300 - 0x180015319
int64_t function_180015300(void) {
    int64_t v1 = g119; // 0x180015306
    int64_t v2 = v1 + 48; // 0x180015309
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x18001530d
    g114 = result;
    return result;
}
 
// Address range: 0x180015320 - 0x180015338
int64_t function_180015320(void) {
    int64_t v1 = *(int64_t *)(g119 + 32); // 0x180015329
    g117 = v1;
    int64_t result = function_18001310e(v1); // 0x18001532d
    g114 = result;
    return result;
}
 
// Address range: 0x180015340 - 0x18001535c
int64_t function_180015340(void) {
    int64_t v1 = g119; // 0x180015346
    int64_t v2 = v1 + 224; // 0x180015349
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180015350
    g114 = result;
    return result;
}
 
// Address range: 0x180015360 - 0x18001537c
int64_t function_180015360(void) {
    int64_t v1 = g119 + 168; // 0x180015369
    g117 = v1;
    int64_t result = _3f__3f_1wxFormatString_40__40_QEAA_40_XZ((int64_t *)v1); // 0x180015370
    g114 = result;
    return result;
}
 
// Address range: 0x180015380 - 0x18001539c
int64_t function_180015380(void) {
    int64_t v1 = g119 + 56; // 0x18001538d
    g117 = v1;
    int64_t result = function_180002570(v1); // 0x180015391
    g114 = result;
    return result;
}
 
// Address range: 0x1800153a0 - 0x1800153b8
int64_t function_1800153a0(void) {
    int64_t v1 = g119 + 48; // 0x1800153a9
    g117 = v1;
    int64_t result = function_1800025b0(v1); // 0x1800153ad
    g114 = result;
    return result;
}
 
// Address range: 0x1800153c0 - 0x1800153dc
int64_t function_1800153c0(void) {
    int64_t v1 = g119 + 56; // 0x1800153cd
    g117 = v1;
    int64_t result = function_180002570(v1); // 0x1800153d1
    g114 = result;
    return result;
}
 
// Address range: 0x1800153e0 - 0x1800153f9
int64_t function_1800153e0(void) {
    int64_t v1 = *(int64_t *)(g119 + 32); // 0x1800153e9
    g117 = v1;
    int64_t result = _3f__3f_1wxStringToNumHashMap_40__40_QEAA_40_XZ(v1); // 0x1800153ed
    g114 = result;
    return result;
}
 
// Address range: 0x180015400 - 0x180015419
int64_t function_180015400(void) {
    int64_t v1 = g119 + 40; // 0x180015409
    g117 = v1;
    int64_t result = _3f__3f_1wxArrayString_40__40_QEAA_40_XZ((int64_t *)v1); // 0x18001540d
    g114 = result;
    return result;
}
 
// Address range: 0x180015420 - 0x18001543c
int64_t function_180015420(void) {
    int64_t v1 = g119; // 0x180015426
    int64_t v2 = v1 + 328; // 0x180015429
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180015430
    g114 = result;
    return result;
}
 
// Address range: 0x180015440 - 0x180015459
int64_t function_180015440(void) {
    int64_t v1 = g119 + 80; // 0x180015449
    g117 = v1;
    int64_t result = _3f__3f_1wxCStrData_40__40_QEAA_40_XZ(v1); // 0x18001544d
    g114 = result;
    return result;
}
 
// Address range: 0x180015460 - 0x180015479
int64_t function_180015460(void) {
    int64_t v1 = g119 + 48; // 0x180015469
    g117 = v1;
    int64_t result = _3f__3f_1wxArrayString_40__40_QEAA_40_XZ((int64_t *)v1); // 0x18001546d
    g114 = result;
    return result;
}
 
// Address range: 0x180015480 - 0x18001549c
int64_t function_180015480(void) {
    int64_t v1 = g119; // 0x180015486
    int64_t v2 = v1 + 272; // 0x180015489
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180015490
    g114 = result;
    return result;
}
 
// Address range: 0x1800154a0 - 0x1800154b9
int64_t function_1800154a0(void) {
    int64_t v1 = g119; // 0x1800154a6
    int64_t v2 = v1 + 80; // 0x1800154a9
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x1800154ad
    g114 = result;
    return result;
}
 
// Address range: 0x1800154c0 - 0x1800154dc
int64_t function_1800154c0(void) {
    int64_t v1 = g119; // 0x1800154c6
    int64_t v2 = v1 + 272; // 0x1800154c9
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x1800154d0
    g114 = result;
    return result;
}
 
// Address range: 0x1800154e0 - 0x1800154f9
int64_t function_1800154e0(void) {
    int64_t v1 = g119 + 80; // 0x1800154e9
    g117 = v1;
    int64_t result = _3f__3f_1wxCStrData_40__40_QEAA_40_XZ(v1); // 0x1800154ed
    g114 = result;
    return result;
}
 
// Address range: 0x180015500 - 0x180015519
int64_t function_180015500(void) {
    int64_t v1 = g119 + 80; // 0x180015509
    g117 = v1;
    int64_t result = _3f__3f_1wxFormatString_40__40_QEAA_40_XZ((int64_t *)v1); // 0x18001550d
    g114 = result;
    return result;
}
 
// Address range: 0x180015520 - 0x18001553f
int64_t function_180015520(void) {
    int64_t v1 = g119 + 152; // 0x180015530
    g117 = v1;
    int64_t result = function_180002570(v1); // 0x180015534
    g114 = result;
    return result;
}
 
// Address range: 0x180015540 - 0x18001555b
int64_t function_180015540(void) {
    int64_t v1 = g119 + 144; // 0x180015549
    g117 = v1;
    int64_t result = function_1800025b0(v1); // 0x180015550
    g114 = result;
    return result;
}
 
// Address range: 0x180015560 - 0x18001557f
int64_t function_180015560(void) {
    int64_t v1 = g119 + 152; // 0x180015570
    g117 = v1;
    int64_t result = function_180002570(v1); // 0x180015574
    g114 = result;
    return result;
}
 
// Address range: 0x180015580 - 0x180015599
int64_t function_180015580(void) {
    int64_t v1 = *(int64_t *)(g119 + 40); // 0x180015589
    g117 = v1;
    int64_t result = _3f__3f_1wxStringToNumHashMap_40__40_QEAA_40_XZ(v1); // 0x18001558d
    g114 = result;
    return result;
}
 
// Address range: 0x1800155a0 - 0x1800155b9
int64_t function_1800155a0(void) {
    int64_t v1 = g119 + 80; // 0x1800155a9
    g117 = v1;
    int64_t result = _3f__3f_1wxCStrData_40__40_QEAA_40_XZ(v1); // 0x1800155ad
    g114 = result;
    return result;
}
 
// Address range: 0x1800155c0 - 0x1800155d9
int64_t function_1800155c0(void) {
    int64_t v1 = g119 + 80; // 0x1800155c9
    g117 = v1;
    int64_t result = _3f__3f_1wxFormatString_40__40_QEAA_40_XZ((int64_t *)v1); // 0x1800155cd
    g114 = result;
    return result;
}
 
// Address range: 0x1800155e0 - 0x1800155ff
int64_t function_1800155e0(void) {
    int64_t v1 = g119 + 152; // 0x1800155f0
    g117 = v1;
    int64_t result = function_180002570(v1); // 0x1800155f4
    g114 = result;
    return result;
}
 
// Address range: 0x180015600 - 0x18001561b
int64_t function_180015600(void) {
    int64_t v1 = g119 + 144; // 0x180015609
    g117 = v1;
    int64_t result = function_1800025b0(v1); // 0x180015610
    g114 = result;
    return result;
}
 
// Address range: 0x180015620 - 0x18001563f
int64_t function_180015620(void) {
    int64_t v1 = g119 + 152; // 0x180015630
    g117 = v1;
    int64_t result = function_180002570(v1); // 0x180015634
    g114 = result;
    return result;
}
 
// Address range: 0x180015640 - 0x180015659
int64_t function_180015640(void) {
    int64_t v1 = *(int64_t *)(g119 + 40); // 0x180015649
    g117 = v1;
    int64_t result = _3f__3f_1wxStringToNumHashMap_40__40_QEAA_40_XZ(v1); // 0x18001564d
    g114 = result;
    return result;
}
 
// Address range: 0x180015660 - 0x18001567c
int64_t function_180015660(void) {
    // 0x180015660
    g117 = 0x18002e9c0;
    int64_t result = _3f__3f_1wxObject_40__40_UEAA_40_XZ(0x18002e9c0); // 0x180015670
    g114 = result;
    return result;
}
 
// Address range: 0x180015680 - 0x1800156a0
int64_t function_180015680(void) {
    // 0x180015680
    g117 = &g65;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ((int64_t)&g65, g119, g112); // 0x180015694
    g114 = result;
    return result;
}
 
// Address range: 0x1800156a0 - 0x1800156c0
int64_t function_1800156a0(void) {
    // 0x1800156a0
    g117 = &g66;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ((int64_t)&g66, g119, g112); // 0x1800156b4
    g114 = result;
    return result;
}
 
// Address range: 0x1800156c0 - 0x1800156ed
int64_t function_1800156c0(void) {
    int64_t v1 = g119; // 0x1800156c6
    int32_t * v2 = (int32_t *)(v1 + 176); // 0x1800156c9
    uint32_t v3 = *v2 & 1; // 0x1800156cf
    int64_t v4 = v3; // 0x1800156cf
    g114 = v4;
    int64_t result; // 0x1800156e1
    if (v3 != 0) {
        // 0x1800156d6
        *v2 = *v2 & -2;
        int64_t v5 = v1 + 88; // 0x1800156dd
        g117 = v5;
        result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v5, g119, g112);
        g114 = result;
    } else {
        result = v4;
    }
    // 0x1800156e7
    return result;
}
 
// Address range: 0x1800156f0 - 0x180015720
int64_t function_1800156f0(void) {
    int64_t v1 = g119; // 0x1800156f6
    int32_t * v2 = (int32_t *)(v1 + 176); // 0x1800156f9
    uint32_t v3 = *v2 & 2; // 0x1800156ff
    int64_t v4 = v3; // 0x1800156ff
    g114 = v4;
    int64_t result; // 0x180015714
    if (v3 != 0) {
        // 0x180015706
        *v2 = *v2 & -3;
        int64_t v5 = *(int64_t *)(v1 + 184); // 0x18001570d
        g117 = v5;
        result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v5, g119, g112);
        g114 = result;
    } else {
        result = v4;
    }
    // 0x18001571a
    return result;
}
 
// Address range: 0x180015720 - 0x18001573c
int64_t function_180015720(void) {
    int64_t v1 = g119; // 0x180015726
    int64_t v2 = v1 + 464; // 0x180015729
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180015730
    g114 = result;
    return result;
}
 
// Address range: 0x180015740 - 0x18001575c
int64_t function_180015740(void) {
    int64_t v1 = g119 + 688; // 0x180015749
    g117 = v1;
    int64_t result = _3f__3f_1wxStringTokenizer_40__40_UEAA_40_XZ((int64_t *)v1); // 0x180015750
    g114 = result;
    return result;
}
 
// Address range: 0x180015760 - 0x18001577c
int64_t function_180015760(void) {
    int64_t v1 = g119; // 0x180015766
    int64_t v2 = v1 + 576; // 0x180015769
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180015770
    g114 = result;
    return result;
}
 
// Address range: 0x180015780 - 0x18001579c
int64_t function_180015780(void) {
    int64_t v1 = g119; // 0x180015786
    int64_t v2 = v1 + 520; // 0x180015789
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180015790
    g114 = result;
    return result;
}
 
// Address range: 0x1800157a0 - 0x1800157bc
int64_t function_1800157a0(void) {
    int64_t v1 = g119; // 0x1800157a6
    int64_t v2 = v1 + 184; // 0x1800157a9
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x1800157b0
    g114 = result;
    return result;
}
 
// Address range: 0x1800157c0 - 0x1800157dc
int64_t function_1800157c0(void) {
    int64_t v1 = g119; // 0x1800157c6
    int64_t v2 = v1 + 408; // 0x1800157c9
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x1800157d0
    g114 = result;
    return result;
}
 
// Address range: 0x1800157e0 - 0x1800157fc
int64_t function_1800157e0(void) {
    int64_t v1 = g119; // 0x1800157e6
    int64_t v2 = v1 + 632; // 0x1800157e9
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x1800157f0
    g114 = result;
    return result;
}
 
// Address range: 0x180015800 - 0x18001581c
int64_t function_180015800(void) {
    int64_t v1 = g119; // 0x180015806
    int64_t v2 = v1 + 352; // 0x180015809
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180015810
    g114 = result;
    return result;
}
 
// Address range: 0x180015820 - 0x18001583c
int64_t function_180015820(void) {
    int64_t v1 = g119; // 0x180015826
    int64_t v2 = v1 + 296; // 0x180015829
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180015830
    g114 = result;
    return result;
}
 
// Address range: 0x180015840 - 0x18001585c
int64_t function_180015840(void) {
    int64_t v1 = g119; // 0x180015846
    int64_t v2 = v1 + 240; // 0x180015849
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180015850
    g114 = result;
    return result;
}
 
// Address range: 0x180015860 - 0x18001587c
int64_t function_180015860(void) {
    int64_t v1 = g119; // 0x180015866
    int64_t v2 = v1 + 520; // 0x180015869
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180015870
    g114 = result;
    return result;
}
 
// Address range: 0x180015880 - 0x18001589c
int64_t function_180015880(void) {
    int64_t v1 = g119; // 0x180015886
    int64_t v2 = v1 + 128; // 0x180015889
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180015890
    g114 = result;
    return result;
}
 
// Address range: 0x1800158a0 - 0x1800158b9
int64_t function_1800158a0(void) {
    int64_t v1 = g119; // 0x1800158a6
    int64_t v2 = v1 + 72; // 0x1800158a9
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x1800158ad
    g114 = result;
    return result;
}
 
// Address range: 0x1800158c0 - 0x1800158d9
int64_t function_1800158c0(void) {
    int64_t v1 = g119; // 0x1800158c6
    int64_t v2 = v1 + 72; // 0x1800158c9
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x1800158cd
    g114 = result;
    return result;
}
 
// Address range: 0x1800158e0 - 0x1800158fc
int64_t function_1800158e0(void) {
    int64_t v1 = g119; // 0x1800158e6
    int64_t v2 = v1 + 128; // 0x1800158e9
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x1800158f0
    g114 = result;
    return result;
}
 
// Address range: 0x180015900 - 0x180015919
int64_t function_180015900(void) {
    int64_t v1 = g119; // 0x180015906
    int64_t v2 = v1 + 40; // 0x180015909
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x18001590d
    g114 = result;
    return result;
}
 
// Address range: 0x180015920 - 0x18001594d
int64_t function_180015920(void) {
    int64_t v1 = g119; // 0x180015926
    int32_t * v2 = (int32_t *)(v1 + 128); // 0x180015929
    uint32_t v3 = *v2 & 1; // 0x18001592f
    int64_t v4 = v3; // 0x18001592f
    g114 = v4;
    int64_t result; // 0x180015941
    if (v3 != 0) {
        // 0x180015936
        *v2 = *v2 & -2;
        int64_t v5 = *(int64_t *)(v1 + 120); // 0x18001593d
        g117 = v5;
        result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v5, g119, g112);
        g114 = result;
    } else {
        result = v4;
    }
    // 0x180015947
    return result;
}
 
// Address range: 0x180015950 - 0x180015968
int64_t function_180015950(void) {
    int64_t v1 = *(int64_t *)(g119 + 32); // 0x180015959
    g117 = v1;
    int64_t result = function_18001310e(v1); // 0x18001595d
    g114 = result;
    return result;
}
 
// Address range: 0x180015970 - 0x180015988
int64_t function_180015970(void) {
    int64_t v1 = *(int64_t *)(g119 + 32); // 0x180015979
    g117 = v1;
    int64_t result = _3f__3f_1wxSockAddress_40__40_UEAA_40_XZ(v1); // 0x18001597d
    g114 = result;
    return result;
}
 
// Address range: 0x180015990 - 0x1800159a9
int64_t function_180015990(void) {
    int64_t v1 = g119; // 0x180015996
    int64_t v2 = v1 + 48; // 0x180015999
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x18001599d
    g114 = result;
    return result;
}
 
// Address range: 0x1800159b0 - 0x1800159c9
int64_t function_1800159b0(void) {
    int64_t v1 = g119; // 0x1800159b6
    int64_t v2 = v1 + 104; // 0x1800159b9
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x1800159bd
    g114 = result;
    return result;
}
 
// Address range: 0x1800159d0 - 0x1800159e9
int64_t function_1800159d0(void) {
    int64_t v1 = g119; // 0x1800159d6
    int64_t v2 = v1 + 48; // 0x1800159d9
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x1800159dd
    g114 = result;
    return result;
}
 
// Address range: 0x1800159f0 - 0x180015a08
int64_t function_1800159f0(void) {
    int64_t v1 = *(int64_t *)(g119 + 80); // 0x1800159f9
    g117 = v1;
    int64_t result = _3f__3f_1wxProtocol_40__40_UEAA_40_XZ(v1); // 0x1800159fd
    g114 = result;
    return result;
}
 
// Address range: 0x180015a10 - 0x180015a30
int64_t function_180015a10(void) {
    int64_t v1 = g119; // 0x180015a16
    int64_t v2 = *(int64_t *)(v1 + 80) + 392; // 0x180015a1d
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180015a24
    g114 = result;
    return result;
}
 
// Address range: 0x180015a30 - 0x180015a50
int64_t function_180015a30(void) {
    int64_t v1 = *(int64_t *)(g119 + 80) + 448; // 0x180015a3d
    g117 = v1;
    int64_t result = _3f__3f_1wxStringToStringHashMap_40__40_QEAA_40_XZ(v1); // 0x180015a44
    g114 = result;
    return result;
}
 
// Address range: 0x180015a50 - 0x180015a70
int64_t function_180015a50(void) {
    int64_t v1 = *(int64_t *)(g119 + 80) + 480; // 0x180015a5d
    g117 = v1;
    int64_t result = _3f__3f_1wxStringToStringHashMap_40__40_QEAA_40_XZ(v1); // 0x180015a64
    g114 = result;
    return result;
}
 
// Address range: 0x180015a70 - 0x180015a8f
int64_t function_180015a70(void) {
    int64_t v1 = *(int64_t *)(g119 + 80) + 528; // 0x180015a7d
    g117 = v1;
    int64_t result = function_180006c30(v1); // 0x180015a84
    g114 = result;
    return result;
}
 
// Address range: 0x180015a90 - 0x180015ab0
int64_t function_180015a90(void) {
    int64_t v1 = g119; // 0x180015a96
    int64_t v2 = *(int64_t *)(v1 + 80) + 536; // 0x180015a9d
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180015aa4
    g114 = result;
    return result;
}
 
// Address range: 0x180015ab0 - 0x180015ac8
int64_t function_180015ab0(void) {
    int64_t v1 = *(int64_t *)(g119 + 64); // 0x180015ab9
    g117 = v1;
    int64_t result = _3f__3f_1wxProtocol_40__40_UEAA_40_XZ(v1); // 0x180015abd
    g114 = result;
    return result;
}
 
// Address range: 0x180015ad0 - 0x180015af0
int64_t function_180015ad0(void) {
    int64_t v1 = g119; // 0x180015ad6
    int64_t v2 = *(int64_t *)(v1 + 64) + 392; // 0x180015add
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180015ae4
    g114 = result;
    return result;
}
 
// Address range: 0x180015af0 - 0x180015b10
int64_t function_180015af0(void) {
    int64_t v1 = *(int64_t *)(g119 + 64) + 448; // 0x180015afd
    g117 = v1;
    int64_t result = _3f__3f_1wxStringToStringHashMap_40__40_QEAA_40_XZ(v1); // 0x180015b04
    g114 = result;
    return result;
}
 
// Address range: 0x180015b10 - 0x180015b30
int64_t function_180015b10(void) {
    int64_t v1 = *(int64_t *)(g119 + 64) + 480; // 0x180015b1d
    g117 = v1;
    int64_t result = _3f__3f_1wxStringToStringHashMap_40__40_QEAA_40_XZ(v1); // 0x180015b24
    g114 = result;
    return result;
}
 
// Address range: 0x180015b30 - 0x180015b4f
int64_t function_180015b30(void) {
    int64_t v1 = *(int64_t *)(g119 + 64) + 528; // 0x180015b3d
    g117 = v1;
    int64_t result = function_180006c30(v1); // 0x180015b44
    g114 = result;
    return result;
}
 
// Address range: 0x180015b50 - 0x180015b70
int64_t function_180015b50(void) {
    int64_t v1 = g119; // 0x180015b56
    int64_t v2 = *(int64_t *)(v1 + 64) + 536; // 0x180015b5d
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180015b64
    g114 = result;
    return result;
}
 
// Address range: 0x180015b70 - 0x180015b9a
int64_t function_180015b70(void) {
    int64_t v1 = g119; // 0x180015b76
    int32_t * v2 = (int32_t *)(v1 + 72); // 0x180015b79
    uint32_t v3 = *v2 & 1; // 0x180015b7c
    int64_t v4 = v3; // 0x180015b7c
    g114 = v4;
    int64_t result; // 0x180015b8e
    if (v3 != 0) {
        // 0x180015b83
        *v2 = *v2 & -2;
        int64_t v5 = *(int64_t *)(v1 + 192); // 0x180015b87
        g117 = v5;
        result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v5, g119, g112);
        g114 = result;
    } else {
        result = v4;
    }
    // 0x180015b94
    return result;
}
 
// Address range: 0x180015ba0 - 0x180015bbc
int64_t function_180015ba0(void) {
    int64_t v1 = g119; // 0x180015ba6
    int64_t v2 = v1 + 232; // 0x180015ba9
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180015bb0
    g114 = result;
    return result;
}
 
// Address range: 0x180015bc0 - 0x180015bd9
int64_t function_180015bc0(void) {
    int64_t v1 = g119 + 32; // 0x180015bc9
    g117 = v1;
    int64_t result = _3f__3f_1wxFormatString_40__40_QEAA_40_XZ((int64_t *)v1); // 0x180015bcd
    g114 = result;
    return result;
}
 
// Address range: 0x180015be0 - 0x180015bf9
int64_t function_180015be0(void) {
    int64_t v1 = g119 + 32; // 0x180015be9
    g117 = v1;
    int64_t result = _3f__3f_1wxFormatString_40__40_QEAA_40_XZ((int64_t *)v1); // 0x180015bed
    g114 = result;
    return result;
}
 
// Address range: 0x180015c00 - 0x180015c19
int64_t function_180015c00(void) {
    int64_t v1 = *(int64_t *)(g119 + 80); // 0x180015c09
    g117 = v1;
    int64_t result = _3f__3f_1wxCStrData_40__40_QEAA_40_XZ(v1); // 0x180015c0d
    g114 = result;
    return result;
}
 
// Address range: 0x180015c20 - 0x180015c3c
int64_t function_180015c20(void) {
    int64_t v1 = *(int64_t *)(g119 + 176); // 0x180015c29
    g117 = v1;
    int64_t result = _3f__3f_1wxCStrData_40__40_QEAA_40_XZ(v1); // 0x180015c30
    g114 = result;
    return result;
}
 
// Address range: 0x180015c40 - 0x180015c5c
int64_t function_180015c40(void) {
    int64_t v1 = *(int64_t *)(g119 + 200); // 0x180015c49
    g117 = v1;
    int64_t result = _3f__3f_1wxCStrData_40__40_QEAA_40_XZ(v1); // 0x180015c50
    g114 = result;
    return result;
}
 
// Address range: 0x180015c60 - 0x180015c7c
int64_t function_180015c60(void) {
    int64_t v1 = g119 + 152; // 0x180015c69
    g117 = v1;
    int64_t result = _3f__3f_1wxCStrData_40__40_QEAA_40_XZ(v1); // 0x180015c70
    g114 = result;
    return result;
}
 
// Address range: 0x180015c80 - 0x180015c99
int64_t function_180015c80(void) {
    int64_t v1 = g119 + 32; // 0x180015c89
    g117 = v1;
    int64_t result = _3f__3f_1wxFormatString_40__40_QEAA_40_XZ((int64_t *)v1); // 0x180015c8d
    g114 = result;
    return result;
}
 
// Address range: 0x180015ca0 - 0x180015cb9
int64_t function_180015ca0(void) {
    int64_t v1 = g119; // 0x180015ca6
    int64_t v2 = v1 + 96; // 0x180015ca9
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180015cad
    g114 = result;
    return result;
}
 
// Address range: 0x180015cc0 - 0x180015cd9
int64_t function_180015cc0(void) {
    int64_t v1 = g119 + 32; // 0x180015cc9
    g117 = v1;
    int64_t result = _3f__3f_1wxFormatString_40__40_QEAA_40_XZ((int64_t *)v1); // 0x180015ccd
    g114 = result;
    return result;
}
 
// Address range: 0x180015ce0 - 0x180015cf9
int64_t function_180015ce0(void) {
    int64_t v1 = g119; // 0x180015ce6
    int64_t v2 = v1 + 96; // 0x180015ce9
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180015ced
    g114 = result;
    return result;
}
 
// Address range: 0x180015d00 - 0x180015d19
int64_t function_180015d00(void) {
    int64_t v1 = g119 + 32; // 0x180015d09
    g117 = v1;
    int64_t result = _3f__3f_1wxFormatString_40__40_QEAA_40_XZ((int64_t *)v1); // 0x180015d0d
    g114 = result;
    return result;
}
 
// Address range: 0x180015d20 - 0x180015d39
int64_t function_180015d20(void) {
    int64_t v1 = g119; // 0x180015d26
    int64_t v2 = v1 + 96; // 0x180015d29
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180015d2d
    g114 = result;
    return result;
}
 
// Address range: 0x180015d40 - 0x180015d59
int64_t function_180015d40(void) {
    int64_t v1 = g119 + 32; // 0x180015d49
    g117 = v1;
    int64_t result = _3f__3f_1wxFormatString_40__40_QEAA_40_XZ((int64_t *)v1); // 0x180015d4d
    g114 = result;
    return result;
}
 
// Address range: 0x180015d60 - 0x180015d79
int64_t function_180015d60(void) {
    int64_t v1 = g119; // 0x180015d66
    int64_t v2 = v1 + 96; // 0x180015d69
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180015d6d
    g114 = result;
    return result;
}
 
// Address range: 0x180015d80 - 0x180015d99
int64_t function_180015d80(void) {
    int64_t v1 = g119 + 32; // 0x180015d89
    g117 = v1;
    int64_t result = _3f__3f_1wxFormatString_40__40_QEAA_40_XZ((int64_t *)v1); // 0x180015d8d
    g114 = result;
    return result;
}
 
// Address range: 0x180015da0 - 0x180015db9
int64_t function_180015da0(void) {
    int64_t v1 = g119; // 0x180015da6
    int64_t v2 = v1 + 96; // 0x180015da9
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180015dad
    g114 = result;
    return result;
}
 
// Address range: 0x180015dc0 - 0x180015dd8
int64_t function_180015dc0(void) {
    int64_t v1 = g119 + 80; // 0x180015dc9
    g117 = v1;
    int64_t result = function_180003100(v1); // 0x180015dcd
    g114 = result;
    return result;
}
 
// Address range: 0x180015de0 - 0x180015df8
int64_t function_180015de0(void) {
    int64_t v1 = g119 + 32; // 0x180015de9
    g117 = v1;
    int64_t result = function_180003100(v1); // 0x180015ded
    g114 = result;
    return result;
}
 
// Address range: 0x180015e00 - 0x180015e1c
int64_t function_180015e00(void) {
    int64_t v1 = g119; // 0x180015e06
    int64_t v2 = v1 + 208; // 0x180015e09
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180015e10
    g114 = result;
    return result;
}
 
// Address range: 0x180015e20 - 0x180015e39
int64_t function_180015e20(void) {
    int64_t v1 = g119 + 112; // 0x180015e29
    g117 = v1;
    int64_t result = _3f__3f_1wxFormatString_40__40_QEAA_40_XZ((int64_t *)v1); // 0x180015e2d
    g114 = result;
    return result;
}
 
// Address range: 0x180015e40 - 0x180015e5c
int64_t function_180015e40(void) {
    int64_t v1 = *(int64_t *)(g119 + 152); // 0x180015e49
    g117 = v1;
    int64_t result = _3f__3f_1wxCStrData_40__40_QEAA_40_XZ(v1); // 0x180015e50
    g114 = result;
    return result;
}
 
// Address range: 0x180015e60 - 0x180015e79
int64_t function_180015e60(void) {
    int64_t v1 = *(int64_t *)(g119 + 32); // 0x180015e69
    g117 = v1;
    int64_t result = _3f__3f_1wxCStrData_40__40_QEAA_40_XZ(v1); // 0x180015e6d
    g114 = result;
    return result;
}
 
// Address range: 0x180015e80 - 0x180015e99
int64_t function_180015e80(void) {
    int64_t v1 = *(int64_t *)(g119 + 96); // 0x180015e89
    g117 = v1;
    int64_t result = _3f__3f_1wxCStrData_40__40_QEAA_40_XZ(v1); // 0x180015e8d
    g114 = result;
    return result;
}
 
// Address range: 0x180015ea0 - 0x180015eb8
int64_t function_180015ea0(void) {
    int64_t v1 = g119 + 40; // 0x180015ea9
    g117 = v1;
    int64_t result = function_180003100(v1); // 0x180015ead
    g114 = result;
    return result;
}
 
// Address range: 0x180015ec0 - 0x180015ed8
int64_t function_180015ec0(void) {
    int64_t v1 = g119 + 32; // 0x180015ec9
    g117 = v1;
    int64_t result = function_180003100(v1); // 0x180015ecd
    g114 = result;
    return result;
}
 
// Address range: 0x180015ee0 - 0x180015ef8
int64_t function_180015ee0(void) {
    int64_t v1 = g119 + 32; // 0x180015ee9
    g117 = v1;
    int64_t result = function_180003100(v1); // 0x180015eed
    g114 = result;
    return result;
}
 
// Address range: 0x180015f00 - 0x180015f1c
int64_t function_180015f00(void) {
    int64_t v1 = g119; // 0x180015f06
    int64_t v2 = v1 + 192; // 0x180015f09
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180015f10
    g114 = result;
    return result;
}
 
// Address range: 0x180015f20 - 0x180015f39
int64_t function_180015f20(void) {
    int64_t v1 = g119; // 0x180015f26
    int64_t v2 = v1 + 48; // 0x180015f29
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180015f2d
    g114 = result;
    return result;
}
 
// Address range: 0x180015f40 - 0x180015f67
int64_t function_180015f40(void) {
    int64_t v1 = g119; // 0x180015f46
    int32_t * v2 = (int32_t *)(v1 + 32); // 0x180015f49
    uint32_t v3 = *v2 & 1; // 0x180015f4c
    int64_t v4 = v3; // 0x180015f4c
    g114 = v4;
    int64_t result; // 0x180015f5b
    if (v3 != 0) {
        // 0x180015f53
        *v2 = *v2 & -2;
        int64_t v5 = v1 + 48; // 0x180015f57
        g117 = v5;
        result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v5, g119, g112);
        g114 = result;
    } else {
        result = v4;
    }
    // 0x180015f61
    return result;
}
 
// Address range: 0x180015f70 - 0x180015f89
int64_t function_180015f70(void) {
    int64_t v1 = g119; // 0x180015f76
    int64_t v2 = v1 + 48; // 0x180015f79
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180015f7d
    g114 = result;
    return result;
}
 
// Address range: 0x180015f90 - 0x180015fa9
int64_t function_180015f90(void) {
    int64_t v1 = g119; // 0x180015f96
    int64_t v2 = v1 + 48; // 0x180015f99
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180015f9d
    g114 = result;
    return result;
}
 
// Address range: 0x180015fb0 - 0x180015fcc
int64_t function_180015fb0(void) {
    int64_t v1 = g119; // 0x180015fb6
    int64_t v2 = v1 + 192; // 0x180015fb9
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180015fc0
    g114 = result;
    return result;
}
 
// Address range: 0x180015fd0 - 0x180015fec
int64_t function_180015fd0(void) {
    int64_t v1 = g119; // 0x180015fd6
    int64_t v2 = v1 + 192; // 0x180015fd9
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180015fe0
    g114 = result;
    return result;
}
 
// Address range: 0x180015ff0 - 0x180016009
int64_t function_180015ff0(void) {
    int64_t v1 = g119; // 0x180015ff6
    int64_t v2 = v1 + 48; // 0x180015ff9
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180015ffd
    g114 = result;
    return result;
}
 
// Address range: 0x180016010 - 0x180016029
int64_t function_180016010(void) {
    int64_t v1 = g119; // 0x180016016
    int64_t v2 = v1 + 48; // 0x180016019
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x18001601d
    g114 = result;
    return result;
}
 
// Address range: 0x180016030 - 0x18001604c
int64_t function_180016030(void) {
    int64_t v1 = g119; // 0x180016036
    int64_t v2 = v1 + 192; // 0x180016039
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180016040
    g114 = result;
    return result;
}
 
// Address range: 0x180016050 - 0x18001606c
int64_t function_180016050(void) {
    int64_t v1 = g119; // 0x180016056
    int64_t v2 = v1 + 304; // 0x180016059
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180016060
    g114 = result;
    return result;
}
 
// Address range: 0x180016070 - 0x18001608c
int64_t function_180016070(void) {
    int64_t v1 = g119 + 192; // 0x180016079
    g117 = v1;
    int64_t result = _3f__3f_1wxFormatString_40__40_QEAA_40_XZ((int64_t *)v1); // 0x180016080
    g114 = result;
    return result;
}
 
// Address range: 0x180016090 - 0x1800160a9
int64_t function_180016090(void) {
    int64_t v1 = g119; // 0x180016096
    int64_t v2 = *(int64_t *)(v1 + 40); // 0x180016099
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x18001609d
    g114 = result;
    return result;
}
 
// Address range: 0x1800160b0 - 0x1800160c9
int64_t function_1800160b0(void) {
    int64_t v1 = g119; // 0x1800160b6
    int64_t v2 = *(int64_t *)(v1 + 104); // 0x1800160b9
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x1800160bd
    g114 = result;
    return result;
}
 
// Address range: 0x1800160d0 - 0x1800160e9
int64_t function_1800160d0(void) {
    int64_t v1 = g119; // 0x1800160d6
    int64_t v2 = *(int64_t *)(v1 + 120); // 0x1800160d9
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x1800160dd
    g114 = result;
    return result;
}
 
// Address range: 0x1800160f0 - 0x180016108
int64_t function_1800160f0(void) {
    int64_t v1 = g119 + 32; // 0x1800160f9
    g117 = v1;
    int64_t result = function_180003100(v1); // 0x1800160fd
    g114 = result;
    return result;
}
 
// Address range: 0x180016110 - 0x180016128
int64_t function_180016110(void) {
    int64_t v1 = g119 + 40; // 0x180016119
    g117 = v1;
    int64_t result = function_180003100(v1); // 0x18001611d
    g114 = result;
    return result;
}
 
// Address range: 0x180016130 - 0x180016148
int64_t function_180016130(void) {
    int64_t v1 = g119 + 40; // 0x180016139
    g117 = v1;
    int64_t result = function_180003100(v1); // 0x18001613d
    g114 = result;
    return result;
}
 
// Address range: 0x180016150 - 0x18001616c
int64_t function_180016150(void) {
    int64_t v1 = g119; // 0x180016156
    int64_t v2 = v1 + 248; // 0x180016159
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180016160
    g114 = result;
    return result;
}
 
// Address range: 0x180016170 - 0x180016189
int64_t function_180016170(void) {
    int64_t v1 = g119; // 0x180016176
    int64_t v2 = v1 + 48; // 0x180016179
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x18001617d
    g114 = result;
    return result;
}
 
// Address range: 0x180016190 - 0x1800161ac
int64_t function_180016190(void) {
    int64_t v1 = g119; // 0x180016196
    int64_t v2 = v1 + 192; // 0x180016199
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x1800161a0
    g114 = result;
    return result;
}
 
// Address range: 0x1800161b0 - 0x1800161c9
int64_t function_1800161b0(void) {
    int64_t v1 = g119; // 0x1800161b6
    int64_t v2 = v1 + 48; // 0x1800161b9
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x1800161bd
    g114 = result;
    return result;
}
 
// Address range: 0x1800161d0 - 0x1800161ec
int64_t function_1800161d0(void) {
    int64_t v1 = g119; // 0x1800161d6
    int64_t v2 = v1 + 192; // 0x1800161d9
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x1800161e0
    g114 = result;
    return result;
}
 
// Address range: 0x1800161f0 - 0x180016209
int64_t function_1800161f0(void) {
    int64_t v1 = g119; // 0x1800161f6
    int64_t v2 = v1 + 48; // 0x1800161f9
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x1800161fd
    g114 = result;
    return result;
}
 
// Address range: 0x180016210 - 0x180016229
int64_t function_180016210(void) {
    int64_t v1 = g119; // 0x180016216
    int64_t v2 = v1 + 48; // 0x180016219
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x18001621d
    g114 = result;
    return result;
}
 
// Address range: 0x180016230 - 0x18001624c
int64_t function_180016230(void) {
    int64_t v1 = g119 + 416; // 0x180016239
    g117 = v1;
    int64_t result = _3f__3f_1wxStringTokenizer_40__40_UEAA_40_XZ((int64_t *)v1); // 0x180016240
    g114 = result;
    return result;
}
 
// Address range: 0x180016250 - 0x18001626c
int64_t function_180016250(void) {
    int64_t v1 = g119; // 0x180016256
    int64_t v2 = v1 + 360; // 0x180016259
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180016260
    g114 = result;
    return result;
}
 
// Address range: 0x180016270 - 0x18001628c
int64_t function_180016270(void) {
    int64_t v1 = g119; // 0x180016276
    int64_t v2 = v1 + 192; // 0x180016279
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180016280
    g114 = result;
    return result;
}
 
// Address range: 0x180016290 - 0x1800162ac
int64_t function_180016290(void) {
    int64_t v1 = g119; // 0x180016296
    int64_t v2 = v1 + 216; // 0x180016299
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x1800162a0
    g114 = result;
    return result;
}
 
// Address range: 0x1800162b0 - 0x1800162cc
int64_t function_1800162b0(void) {
    int64_t v1 = g119; // 0x1800162b6
    int64_t v2 = v1 + 160; // 0x1800162b9
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x1800162c0
    g114 = result;
    return result;
}
 
// Address range: 0x1800162d0 - 0x1800162e8
int64_t function_1800162d0(void) {
    int64_t v1 = *(int64_t *)(g119 + 32); // 0x1800162d9
    g117 = v1;
    int64_t result = function_18001310e(v1); // 0x1800162dd
    g114 = result;
    return result;
}
 
// Address range: 0x1800162f0 - 0x180016309
int64_t function_1800162f0(void) {
    int64_t v1 = g119; // 0x1800162f6
    int64_t v2 = v1 + 48; // 0x1800162f9
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x1800162fd
    g114 = result;
    return result;
}
 
// Address range: 0x180016310 - 0x180016329
int64_t function_180016310(void) {
    int64_t v1 = g119; // 0x180016316
    int64_t v2 = v1 + 104; // 0x180016319
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x18001631d
    g114 = result;
    return result;
}
 
// Address range: 0x180016330 - 0x180016349
int64_t function_180016330(void) {
    int64_t v1 = g119; // 0x180016336
    int64_t v2 = v1 + 48; // 0x180016339
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x18001633d
    g114 = result;
    return result;
}
 
// Address range: 0x180016350 - 0x180016369
int64_t function_180016350(void) {
    int64_t v1 = g119; // 0x180016356
    int64_t v2 = v1 + 104; // 0x180016359
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x18001635d
    g114 = result;
    return result;
}
 
// Address range: 0x180016370 - 0x18001638c
int64_t function_180016370(void) {
    // 0x180016370
    g117 = 0x18002eac0;
    int64_t result = _3f__3f_1wxObject_40__40_UEAA_40_XZ(0x18002eac0); // 0x180016380
    g114 = result;
    return result;
}
 
// Address range: 0x180016390 - 0x1800163b0
int64_t function_180016390(void) {
    // 0x180016390
    g117 = &g68;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ((int64_t)&g68, g119, g112); // 0x1800163a4
    g114 = result;
    return result;
}
 
// Address range: 0x1800163b0 - 0x1800163d0
int64_t function_1800163b0(void) {
    // 0x1800163b0
    g117 = &g69;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ((int64_t)&g69, g119, g112); // 0x1800163c4
    g114 = result;
    return result;
}
 
// Address range: 0x1800163d0 - 0x1800163e8
int64_t function_1800163d0(void) {
    int64_t v1 = g119 + 48; // 0x1800163d9
    g117 = v1;
    int64_t result = _3f__3f_1wxSockAddress_40__40_UEAA_40_XZ(v1); // 0x1800163dd
    g114 = result;
    return result;
}
 
// Address range: 0x1800163f0 - 0x180016408
int64_t function_1800163f0(void) {
    int64_t v1 = g119 + 48; // 0x1800163f9
    g117 = v1;
    int64_t result = _3f__3f_1wxIPV4address_40__40_UEAA_40_XZ(v1); // 0x1800163fd
    g114 = result;
    return result;
}
 
// Address range: 0x180016410 - 0x180016428
int64_t function_180016410(void) {
    int64_t v1 = g119 + 48; // 0x180016419
    g117 = v1;
    int64_t result = _3f__3f_1wxSockAddress_40__40_UEAA_40_XZ(v1); // 0x18001641d
    g114 = result;
    return result;
}
 
// Address range: 0x180016430 - 0x180016448
int64_t function_180016430(void) {
    int64_t v1 = g119 + 48; // 0x180016439
    g117 = v1;
    int64_t result = _3f__3f_1wxSockAddress_40__40_UEAA_40_XZ(v1); // 0x18001643d
    g114 = result;
    return result;
}
 
// Address range: 0x180016450 - 0x180016468
int64_t function_180016450(void) {
    int64_t v1 = g119 + 48; // 0x180016459
    g117 = v1;
    int64_t result = _3f__3f_1wxSockAddress_40__40_UEAA_40_XZ(v1); // 0x18001645d
    g114 = result;
    return result;
}
 
// Address range: 0x180016470 - 0x180016488
int64_t function_180016470(void) {
    int64_t v1 = g119 + 48; // 0x180016479
    g117 = v1;
    int64_t result = _3f__3f_1wxSockAddress_40__40_UEAA_40_XZ(v1); // 0x18001647d
    g114 = result;
    return result;
}
 
// Address range: 0x180016490 - 0x1800164a9
int64_t function_180016490(void) {
    int64_t v1 = *(int64_t *)(g119 + 80); // 0x180016499
    g117 = v1;
    int64_t result = _3f__3f_1wxStringToNumHashMap_40__40_QEAA_40_XZ(v1); // 0x18001649d
    g114 = result;
    return result;
}
 
// Address range: 0x1800164b0 - 0x1800164c8
int64_t function_1800164b0(void) {
    int64_t v1 = *(int64_t *)(g119 + 64); // 0x1800164b9
    g117 = v1;
    int64_t result = _3f__3f_1wxDatagramSocket_40__40_UEAA_40_XZ(v1); // 0x1800164bd
    g114 = result;
    return result;
}
 
// Address range: 0x1800164d0 - 0x1800164f0
int64_t function_1800164d0(void) {
    int64_t v1 = g119; // 0x1800164d6
    int64_t v2 = *(int64_t *)(v1 + 64) + 264; // 0x1800164dd
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x1800164e4
    g114 = result;
    return result;
}
 
// Address range: 0x1800164f0 - 0x180016510
int64_t function_1800164f0(void) {
    int64_t v1 = g119; // 0x1800164f6
    int64_t v2 = *(int64_t *)(v1 + 64) + 320; // 0x1800164fd
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180016504
    g114 = result;
    return result;
}
 
// Address range: 0x180016510 - 0x180016529
int64_t function_180016510(void) {
    int64_t v1 = g119; // 0x180016516
    int64_t v2 = v1 + 56; // 0x180016519
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x18001651d
    g114 = result;
    return result;
}
 
// Address range: 0x180016530 - 0x180016549
int64_t function_180016530(void) {
    int64_t v1 = g119; // 0x180016536
    int64_t v2 = *(int64_t *)(v1 + 48); // 0x180016539
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x18001653d
    g114 = result;
    return result;
}
 
// Address range: 0x180016550 - 0x180016568
int64_t function_180016550(void) {
    int64_t v1 = *(int64_t *)(g119 + 32); // 0x180016559
    g117 = v1;
    int64_t result = function_18001310e(v1); // 0x18001655d
    g114 = result;
    return result;
}
 
// Address range: 0x180016570 - 0x180016589
int64_t function_180016570(void) {
    int64_t v1 = g119; // 0x180016576
    int64_t v2 = v1 + 56; // 0x180016579
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x18001657d
    g114 = result;
    return result;
}
 
// Address range: 0x180016590 - 0x1800165a9
int64_t function_180016590(void) {
    int64_t v1 = g119; // 0x180016596
    int64_t v2 = v1 + 112; // 0x180016599
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x18001659d
    g114 = result;
    return result;
}
 
// Address range: 0x1800165b0 - 0x1800165c9
int64_t function_1800165b0(void) {
    int64_t v1 = g119 + 40; // 0x1800165b9
    g117 = v1;
    int64_t result = _3f__3f_1wxFormatString_40__40_QEAA_40_XZ((int64_t *)v1); // 0x1800165bd
    g114 = result;
    return result;
}
 
// Address range: 0x1800165d0 - 0x1800165ec
int64_t function_1800165d0(void) {
    int64_t v1 = g119; // 0x1800165d6
    int64_t v2 = *(int64_t *)(v1 + 304); // 0x1800165d9
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x1800165e0
    g114 = result;
    return result;
}
 
// Address range: 0x1800165f0 - 0x18001660c
int64_t function_1800165f0(void) {
    int64_t v1 = g119 + 88; // 0x1800165fd
    g117 = v1;
    int64_t result = function_180002570(v1); // 0x180016601
    g114 = result;
    return result;
}
 
// Address range: 0x180016610 - 0x180016628
int64_t function_180016610(void) {
    int64_t v1 = g119 + 80; // 0x180016619
    g117 = v1;
    int64_t result = function_1800025b0(v1); // 0x18001661d
    g114 = result;
    return result;
}
 
// Address range: 0x180016630 - 0x18001664c
int64_t function_180016630(void) {
    int64_t v1 = g119; // 0x180016636
    int64_t v2 = *(int64_t *)(v1 + 312); // 0x180016639
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180016640
    g114 = result;
    return result;
}
 
// Address range: 0x180016650 - 0x18001666c
int64_t function_180016650(void) {
    int64_t v1 = g119 + 88; // 0x18001665d
    g117 = v1;
    int64_t result = function_180002570(v1); // 0x180016661
    g114 = result;
    return result;
}
 
// Address range: 0x180016670 - 0x18001668c
int64_t function_180016670(void) {
    int64_t v1 = *(int64_t *)(g119 + 304); // 0x180016679
    g117 = v1;
    int64_t result = _3f__3f_1wxStringToNumHashMap_40__40_QEAA_40_XZ(v1); // 0x180016680
    g114 = result;
    return result;
}
 
// Address range: 0x180016690 - 0x1800166ab
int64_t function_180016690(void) {
    int64_t v1 = g119 + 176; // 0x180016699
    g117 = v1;
    int64_t result = function_180003100(v1); // 0x1800166a0
    g114 = result;
    return result;
}
 
// Address range: 0x1800166b0 - 0x1800166cb
int64_t function_1800166b0(void) {
    int64_t v1 = g119 + 176; // 0x1800166b9
    g117 = v1;
    int64_t result = function_180003100(v1); // 0x1800166c0
    g114 = result;
    return result;
}
 
// Address range: 0x1800166d0 - 0x1800166e9
int64_t function_1800166d0(void) {
    int64_t v1 = g119; // 0x1800166d6
    int64_t v2 = v1 + 56; // 0x1800166d9
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x1800166dd
    g114 = result;
    return result;
}
 
// Address range: 0x1800166f0 - 0x180016709
int64_t function_1800166f0(void) {
    int64_t v1 = *(int64_t *)(g119 + 64); // 0x1800166f9
    g117 = v1;
    int64_t result = _3f__3f_1wxObject_40__40_UEAA_40_XZ(v1); // 0x1800166fd
    g114 = result;
    return result;
}
 
// Address range: 0x180016710 - 0x180016728
int64_t function_180016710(void) {
    int64_t v1 = *(int64_t *)(g119 + 64); // 0x180016719
    g117 = v1;
    int64_t result = function_18001310e(v1); // 0x18001671d
    g114 = result;
    return result;
}
 
// Address range: 0x180016730 - 0x180016748
int64_t function_180016730(void) {
    int64_t v1 = *(int64_t *)(g119 + 64); // 0x180016739
    g117 = v1;
    int64_t result = _3f__3f_1wxSockAddress_40__40_UEAA_40_XZ(v1); // 0x18001673d
    g114 = result;
    return result;
}
 
// Address range: 0x180016750 - 0x18001677d
int64_t function_180016750(void) {
    int64_t v1 = g119; // 0x180016756
    int32_t * v2 = (int32_t *)(v1 + 192); // 0x180016759
    uint32_t v3 = *v2 & 1; // 0x18001675f
    int64_t v4 = v3; // 0x18001675f
    g114 = v4;
    int64_t result; // 0x180016771
    if (v3 != 0) {
        // 0x180016766
        *v2 = *v2 & -2;
        int64_t v5 = v1 + 96; // 0x18001676d
        g117 = v5;
        result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v5, g119, g112);
        g114 = result;
    } else {
        result = v4;
    }
    // 0x180016777
    return result;
}
 
// Address range: 0x180016780 - 0x1800167ad
int64_t function_180016780(void) {
    int64_t v1 = g119; // 0x180016786
    int32_t * v2 = (int32_t *)(v1 + 192); // 0x180016789
    uint32_t v3 = *v2 & 2; // 0x18001678f
    int64_t v4 = v3; // 0x18001678f
    g114 = v4;
    int64_t result; // 0x1800167a1
    if (v3 != 0) {
        // 0x180016796
        *v2 = *v2 & -3;
        int64_t v5 = v1 + 40; // 0x18001679d
        g117 = v5;
        result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v5, g119, g112);
        g114 = result;
    } else {
        result = v4;
    }
    // 0x1800167a7
    return result;
}
 
// Address range: 0x1800167b0 - 0x1800167e0
int64_t function_1800167b0(void) {
    int64_t v1 = g119; // 0x1800167b6
    int32_t * v2 = (int32_t *)(v1 + 232); // 0x1800167b9
    uint32_t v3 = *v2 & 1; // 0x1800167bf
    int64_t v4 = v3; // 0x1800167bf
    g114 = v4;
    int64_t result; // 0x1800167d4
    if (v3 != 0) {
        // 0x1800167c6
        *v2 = *v2 & -2;
        int64_t v5 = v1 + 152; // 0x1800167cd
        g117 = v5;
        result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v5, g119, g112);
        g114 = result;
    } else {
        result = v4;
    }
    // 0x1800167da
    return result;
}
 
// Address range: 0x1800167e0 - 0x1800167f9
int64_t function_1800167e0(void) {
    int64_t v1 = g119; // 0x1800167e6
    int64_t v2 = v1 + 40; // 0x1800167e9
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x1800167ed
    g114 = result;
    return result;
}
 
// Address range: 0x180016800 - 0x18001682d
int64_t function_180016800(void) {
    int64_t v1 = g119; // 0x180016806
    int32_t * v2 = (int32_t *)(v1 + 232); // 0x180016809
    uint32_t v3 = *v2 & 2; // 0x18001680f
    int64_t v4 = v3; // 0x18001680f
    g114 = v4;
    int64_t result; // 0x180016821
    if (v3 != 0) {
        // 0x180016816
        *v2 = *v2 & -3;
        int64_t v5 = v1 + 96; // 0x18001681d
        g117 = v5;
        result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v5, g119, g112);
        g114 = result;
    } else {
        result = v4;
    }
    // 0x180016827
    return result;
}
 
// Address range: 0x180016830 - 0x180016849
int64_t function_180016830(void) {
    int64_t v1 = g119; // 0x180016836
    int64_t v2 = v1 + 40; // 0x180016839
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x18001683d
    g114 = result;
    return result;
}
 
// Address range: 0x180016850 - 0x180016877
int64_t function_180016850(void) {
    int64_t v1 = g119; // 0x180016856
    int32_t * v2 = (int32_t *)(v1 + 112); // 0x180016859
    uint32_t v3 = *v2 & 1; // 0x18001685c
    int64_t v4 = v3; // 0x18001685c
    g114 = v4;
    int64_t result; // 0x18001686b
    if (v3 != 0) {
        // 0x180016863
        *v2 = *v2 & -2;
        int64_t v5 = *(int64_t *)(v1 + 120); // 0x180016867
        g117 = v5;
        result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v5, g119, g112);
        g114 = result;
    } else {
        result = v4;
    }
    // 0x180016871
    return result;
}
 
// Address range: 0x180016880 - 0x180016899
int64_t function_180016880(void) {
    int64_t v1 = g119 + 56; // 0x180016889
    g117 = v1;
    int64_t result = _3f__3f_1wxFormatString_40__40_QEAA_40_XZ((int64_t *)v1); // 0x18001688d
    g114 = result;
    return result;
}
 
// Address range: 0x1800168a0 - 0x1800168b8
int64_t function_1800168a0(void) {
    int64_t v1 = g119 + 48; // 0x1800168a9
    g117 = v1;
    int64_t result = function_180003100(v1); // 0x1800168ad
    g114 = result;
    return result;
}
 
// Address range: 0x1800168c0 - 0x1800168d9
int64_t function_1800168c0(void) {
    int64_t v1 = g119; // 0x1800168c6
    int64_t v2 = v1 + 56; // 0x1800168c9
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x1800168cd
    g114 = result;
    return result;
}
 
// Address range: 0x1800168e0 - 0x1800168fb
int64_t function_1800168e0(void) {
    int64_t v1 = *(int64_t *)(g119 + 152); // 0x1800168e9
    g117 = v1;
    int64_t result = function_18001310e(v1); // 0x1800168f0
    g114 = result;
    return result;
}
 
// Address range: 0x180016900 - 0x18001692d
int64_t function_180016900(void) {
    int64_t v1 = g119; // 0x180016906
    int32_t * v2 = (int32_t *)(v1 + 144); // 0x180016909
    uint32_t v3 = *v2 & 1; // 0x18001690f
    int64_t v4 = v3; // 0x18001690f
    g114 = v4;
    int64_t result; // 0x180016921
    if (v3 != 0) {
        // 0x180016916
        *v2 = *v2 & -2;
        int64_t v5 = v1 + 40; // 0x18001691d
        g117 = v5;
        result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v5, g119, g112);
        g114 = result;
    } else {
        result = v4;
    }
    // 0x180016927
    return result;
}
 
// Address range: 0x180016930 - 0x180016948
int64_t function_180016930(void) {
    int64_t v1 = *(int64_t *)(g119 + 64); // 0x180016939
    g117 = v1;
    int64_t result = function_18001310e(v1); // 0x18001693d
    g114 = result;
    return result;
}
 
// Address range: 0x180016950 - 0x18001696c
int64_t function_180016950(void) {
    // 0x180016950
    g117 = 0x18002ecb0;
    int64_t result = _3f__3f_1wxObject_40__40_UEAA_40_XZ(0x18002ecb0); // 0x180016960
    g114 = result;
    return result;
}
 
// Address range: 0x180016970 - 0x180016990
int64_t function_180016970(void) {
    // 0x180016970
    g117 = &g71;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ((int64_t)&g71, g119, g112); // 0x180016984
    g114 = result;
    return result;
}
 
// Address range: 0x180016990 - 0x1800169b0
int64_t function_180016990(void) {
    // 0x180016990
    g117 = &g72;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ((int64_t)&g72, g119, g112); // 0x1800169a4
    g114 = result;
    return result;
}
 
// Address range: 0x1800169b0 - 0x1800169c8
int64_t function_1800169b0(void) {
    int64_t v1 = *(int64_t *)(g119 + 80); // 0x1800169b9
    g117 = v1;
    int64_t result = function_18001310e(v1); // 0x1800169bd
    g114 = result;
    return result;
}
 
// Address range: 0x1800169d0 - 0x1800169e8
int64_t function_1800169d0(void) {
    int64_t v1 = *(int64_t *)(g119 + 80); // 0x1800169d9
    g117 = v1;
    int64_t result = _3f__3f_1wxSockAddress_40__40_UEAA_40_XZ(v1); // 0x1800169dd
    g114 = result;
    return result;
}
 
// Address range: 0x1800169f0 - 0x180016a08
int64_t function_1800169f0(void) {
    int64_t v1 = g119 + 48; // 0x1800169f9
    g117 = v1;
    int64_t result = _3f__3f_1wxSockAddress_40__40_UEAA_40_XZ(v1); // 0x1800169fd
    g114 = result;
    return result;
}
 
// Address range: 0x180016a10 - 0x180016a28
int64_t function_180016a10(void) {
    int64_t v1 = g119 + 48; // 0x180016a19
    g117 = v1;
    int64_t result = _3f__3f_1wxIPV4address_40__40_UEAA_40_XZ(v1); // 0x180016a1d
    g114 = result;
    return result;
}
 
// Address range: 0x180016a30 - 0x180016a48
int64_t function_180016a30(void) {
    int64_t v1 = g119 + 48; // 0x180016a39
    g117 = v1;
    int64_t result = _3f__3f_1wxSockAddress_40__40_UEAA_40_XZ(v1); // 0x180016a3d
    g114 = result;
    return result;
}
 
// Address range: 0x180016a50 - 0x180016a69
int64_t function_180016a50(void) {
    int64_t v1 = g119; // 0x180016a56
    int64_t v2 = v1 + 40; // 0x180016a59
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180016a5d
    g114 = result;
    return result;
}
 
// Address range: 0x180016a70 - 0x180016a88
int64_t function_180016a70(void) {
    int64_t v1 = *(int64_t *)(g119 + 112); // 0x180016a79
    g117 = v1;
    int64_t result = function_18001310e(v1); // 0x180016a7d
    g114 = result;
    return result;
}
 
// Address range: 0x180016a90 - 0x180016aa8
int64_t function_180016a90(void) {
    int64_t v1 = *(int64_t *)(g119 + 112); // 0x180016a99
    g117 = v1;
    int64_t result = _3f__3f_1wxSockAddress_40__40_UEAA_40_XZ(v1); // 0x180016a9d
    g114 = result;
    return result;
}
 
// Address range: 0x180016ab0 - 0x180016ac8
int64_t function_180016ab0(void) {
    int64_t v1 = *(int64_t *)(g119 + 112); // 0x180016ab9
    g117 = v1;
    int64_t result = function_18001310e(v1); // 0x180016abd
    g114 = result;
    return result;
}
 
// Address range: 0x180016ad0 - 0x180016ae9
int64_t function_180016ad0(void) {
    int64_t v1 = *(int64_t *)(g119 + 64); // 0x180016ad9
    g117 = v1;
    int64_t result = _3f__3f_1wxServerBase_40__40_UEAA_40_XZ(v1); // 0x180016add
    g114 = result;
    return result;
}
 
// Address range: 0x180016af0 - 0x180016b08
int64_t function_180016af0(void) {
    int64_t v1 = g119 + 96; // 0x180016af9
    g117 = v1;
    int64_t result = function_18000b400(v1); // 0x180016afd
    g114 = result;
    return result;
}
 
// Address range: 0x180016b10 - 0x180016b28
int64_t function_180016b10(void) {
    int64_t v1 = g119 + 80; // 0x180016b19
    g117 = v1;
    int64_t result = function_18000b400(v1); // 0x180016b1d
    g114 = result;
    return result;
}
 
// Address range: 0x180016b30 - 0x180016b49
int64_t function_180016b30(void) {
    int64_t v1 = *(int64_t *)(g119 + 64); // 0x180016b39
    g117 = v1;
    int64_t result = _3f__3f_1wxConnectionBase_40__40_UEAA_40_XZ(v1); // 0x180016b3d
    g114 = result;
    return result;
}
 
// Address range: 0x180016b50 - 0x180016b68
int64_t function_180016b50(void) {
    int64_t v1 = *(int64_t *)(g119 + 64); // 0x180016b59
    g117 = v1;
    int64_t result = _3f__3f_1wxSocketStream_40__40_UEAA_40_XZ(v1); // 0x180016b5d
    g114 = result;
    return result;
}
 
// Address range: 0x180016b70 - 0x180016b8d
int64_t function_180016b70(void) {
    int64_t v1 = *(int64_t *)(g119 + 64) + 104; // 0x180016b7d
    g117 = v1;
    int64_t result = _3f__3f_1wxBufferedOutputStream_40__40_UEAA_40_XZ(v1); // 0x180016b81
    g114 = result;
    return result;
}
 
// Address range: 0x180016b90 - 0x180016bb0
int64_t function_180016b90(void) {
    int64_t v1 = *(int64_t *)(g119 + 64) + 160; // 0x180016b9d
    g117 = v1;
    int64_t result = _3f__3f_1wxDataInputStream_40__40_QEAA_40_XZ(v1); // 0x180016ba4
    g114 = result;
    return result;
}
 
// Address range: 0x180016bb0 - 0x180016bc8
int64_t function_180016bb0(void) {
    int64_t v1 = *(int64_t *)(g119 + 72); // 0x180016bb9
    g117 = v1;
    int64_t result = function_18001310e(v1); // 0x180016bbd
    g114 = result;
    return result;
}
 
// Address range: 0x180016bd0 - 0x180016be9
int64_t function_180016bd0(void) {
    int64_t v1 = *(int64_t *)(g119 + 72); // 0x180016bd9
    g117 = v1;
    int64_t result = _3f__3f_1wxConnectionBase_40__40_UEAA_40_XZ(v1); // 0x180016bdd
    g114 = result;
    return result;
}
 
// Address range: 0x180016bf0 - 0x180016c08
int64_t function_180016bf0(void) {
    int64_t v1 = *(int64_t *)(g119 + 80); // 0x180016bf9
    g117 = v1;
    int64_t result = function_18001310e(v1); // 0x180016bfd
    g114 = result;
    return result;
}
 
// Address range: 0x180016c10 - 0x180016c29
int64_t function_180016c10(void) {
    int64_t v1 = *(int64_t *)(g119 + 80); // 0x180016c19
    g117 = v1;
    int64_t result = _3f__3f_1wxConnectionBase_40__40_UEAA_40_XZ(v1); // 0x180016c1d
    g114 = result;
    return result;
}
 
// Address range: 0x180016c30 - 0x180016c49
int64_t function_180016c30(void) {
    int64_t v1 = *(int64_t *)(g119 + 64); // 0x180016c39
    g117 = v1;
    int64_t result = _3f__3f_1wxConnectionBase_40__40_UEAA_40_XZ(v1); // 0x180016c3d
    g114 = result;
    return result;
}
 
// Address range: 0x180016c50 - 0x180016c6d
int64_t function_180016c50(void) {
    int64_t v1 = g119; // 0x180016c56
    int64_t v2 = *(int64_t *)(v1 + 64) + 56; // 0x180016c5d
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180016c61
    g114 = result;
    return result;
}
 
// Address range: 0x180016c70 - 0x180016c88
int64_t function_180016c70(void) {
    int64_t v1 = *(int64_t *)(g119 + 72); // 0x180016c79
    g117 = v1;
    int64_t result = _3f__3f_1wxSocketStream_40__40_UEAA_40_XZ(v1); // 0x180016c7d
    g114 = result;
    return result;
}
 
// Address range: 0x180016c90 - 0x180016cad
int64_t function_180016c90(void) {
    int64_t v1 = *(int64_t *)(g119 + 72) + 104; // 0x180016c9d
    g117 = v1;
    int64_t result = _3f__3f_1wxBufferedOutputStream_40__40_UEAA_40_XZ(v1); // 0x180016ca1
    g114 = result;
    return result;
}
 
// Address range: 0x180016cb0 - 0x180016cd0
int64_t function_180016cb0(void) {
    int64_t v1 = *(int64_t *)(g119 + 72) + 160; // 0x180016cbd
    g117 = v1;
    int64_t result = _3f__3f_1wxDataInputStream_40__40_QEAA_40_XZ(v1); // 0x180016cc4
    g114 = result;
    return result;
}
 
// Address range: 0x180016cd0 - 0x180016ce8
int64_t function_180016cd0(void) {
    int64_t v1 = *(int64_t *)(g119 + 48); // 0x180016cd9
    g117 = v1;
    int64_t result = function_18001310e(v1); // 0x180016cdd
    g114 = result;
    return result;
}
 
// Address range: 0x180016cf0 - 0x180016d08
int64_t function_180016cf0(void) {
    int64_t v1 = g119 + 48; // 0x180016cf9
    g117 = v1;
    int64_t result = function_18000b400(v1); // 0x180016cfd
    g114 = result;
    return result;
}
 
// Address range: 0x180016d10 - 0x180016d29
int64_t function_180016d10(void) {
    int64_t v1 = g119; // 0x180016d16
    int64_t v2 = v1 + 64; // 0x180016d19
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180016d1d
    g114 = result;
    return result;
}
 
// Address range: 0x180016d30 - 0x180016d48
int64_t function_180016d30(void) {
    int64_t v1 = *(int64_t *)(g119 + 56); // 0x180016d39
    g117 = v1;
    int64_t result = function_18001310e(v1); // 0x180016d3d
    g114 = result;
    return result;
}
 
// Address range: 0x180016d50 - 0x180016d68
int64_t function_180016d50(void) {
    int64_t v1 = *(int64_t *)(g119 + 56); // 0x180016d59
    g117 = v1;
    int64_t result = function_18001310e(v1); // 0x180016d5d
    g114 = result;
    return result;
}
 
// Address range: 0x180016d70 - 0x180016d88
int64_t function_180016d70(void) {
    int64_t v1 = g119 + 56; // 0x180016d79
    g117 = v1;
    int64_t result = function_18000b400(v1); // 0x180016d7d
    g114 = result;
    return result;
}
 
// Address range: 0x180016d90 - 0x180016da8
int64_t function_180016d90(void) {
    int64_t v1 = *(int64_t *)(g119 + 56); // 0x180016d99
    g117 = v1;
    int64_t result = _3f__3f_1wxSocketStream_40__40_UEAA_40_XZ(v1); // 0x180016d9d
    g114 = result;
    return result;
}
 
// Address range: 0x180016db0 - 0x180016dcd
int64_t function_180016db0(void) {
    int64_t v1 = *(int64_t *)(g119 + 56) + 104; // 0x180016dbd
    g117 = v1;
    int64_t result = _3f__3f_1wxBufferedOutputStream_40__40_UEAA_40_XZ(v1); // 0x180016dc1
    g114 = result;
    return result;
}
 
// Address range: 0x180016dd0 - 0x180016df0
int64_t function_180016dd0(void) {
    int64_t v1 = *(int64_t *)(g119 + 56) + 160; // 0x180016ddd
    g117 = v1;
    int64_t result = _3f__3f_1wxDataInputStream_40__40_QEAA_40_XZ(v1); // 0x180016de4
    g114 = result;
    return result;
}
 
// Address range: 0x180016df0 - 0x180016e0c
int64_t function_180016df0(void) {
    int64_t v1 = g119; // 0x180016df6
    int64_t v2 = v1 + 840; // 0x180016df9
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180016e00
    g114 = result;
    return result;
}
 
// Address range: 0x180016e10 - 0x180016e2c
int64_t function_180016e10(void) {
    int64_t v1 = g119; // 0x180016e16
    int64_t v2 = v1 + 784; // 0x180016e19
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180016e20
    g114 = result;
    return result;
}
 
// Address range: 0x180016e30 - 0x180016e4c
int64_t function_180016e30(void) {
    int64_t v1 = g119; // 0x180016e36
    int64_t v2 = v1 + 392; // 0x180016e39
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180016e40
    g114 = result;
    return result;
}
 
// Address range: 0x180016e50 - 0x180016e6c
int64_t function_180016e50(void) {
    int64_t v1 = g119; // 0x180016e56
    int64_t v2 = v1 + 616; // 0x180016e59
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180016e60
    g114 = result;
    return result;
}
 
// Address range: 0x180016e70 - 0x180016e88
int64_t function_180016e70(void) {
    int64_t v1 = g119 + 48; // 0x180016e79
    g117 = v1;
    int64_t result = function_18000b400(v1); // 0x180016e7d
    g114 = result;
    return result;
}
 
// Address range: 0x180016e90 - 0x180016eac
int64_t function_180016e90(void) {
    int64_t v1 = g119; // 0x180016e96
    int64_t v2 = v1 + 560; // 0x180016e99
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180016ea0
    g114 = result;
    return result;
}
 
// Address range: 0x180016eb0 - 0x180016ec8
int64_t function_180016eb0(void) {
    int64_t v1 = g119 + 48; // 0x180016eb9
    g117 = v1;
    int64_t result = function_18000b400(v1); // 0x180016ebd
    g114 = result;
    return result;
}
 
// Address range: 0x180016ed0 - 0x180016eec
int64_t function_180016ed0(void) {
    int64_t v1 = g119; // 0x180016ed6
    int64_t v2 = v1 + 504; // 0x180016ed9
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180016ee0
    g114 = result;
    return result;
}
 
// Address range: 0x180016ef0 - 0x180016f0c
int64_t function_180016ef0(void) {
    int64_t v1 = g119; // 0x180016ef6
    int64_t v2 = v1 + 448; // 0x180016ef9
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180016f00
    g114 = result;
    return result;
}
 
// Address range: 0x180016f10 - 0x180016f28
int64_t function_180016f10(void) {
    int64_t v1 = g119 + 48; // 0x180016f19
    g117 = v1;
    int64_t result = function_18000b400(v1); // 0x180016f1d
    g114 = result;
    return result;
}
 
// Address range: 0x180016f30 - 0x180016f48
int64_t function_180016f30(void) {
    int64_t v1 = g119 + 48; // 0x180016f39
    g117 = v1;
    int64_t result = function_18000b400(v1); // 0x180016f3d
    g114 = result;
    return result;
}
 
// Address range: 0x180016f50 - 0x180016f6c
int64_t function_180016f50(void) {
    int64_t v1 = g119 + 312; // 0x180016f59
    g117 = v1;
    int64_t result = _3f__3f_1wxFormatString_40__40_QEAA_40_XZ((int64_t *)v1); // 0x180016f60
    g114 = result;
    return result;
}
 
// Address range: 0x180016f70 - 0x180016f8f
int64_t function_180016f70(void) {
    int64_t v1 = g119 + 200; // 0x180016f80
    g117 = v1;
    int64_t result = function_180002570(v1); // 0x180016f84
    g114 = result;
    return result;
}
 
// Address range: 0x180016f90 - 0x180016fab
int64_t function_180016f90(void) {
    int64_t v1 = g119 + 192; // 0x180016f99
    g117 = v1;
    int64_t result = function_1800025b0(v1); // 0x180016fa0
    g114 = result;
    return result;
}
 
// Address range: 0x180016fb0 - 0x180016fcf
int64_t function_180016fb0(void) {
    int64_t v1 = g119 + 200; // 0x180016fc0
    g117 = v1;
    int64_t result = function_180002570(v1); // 0x180016fc4
    g114 = result;
    return result;
}
 
// Address range: 0x180016fd0 - 0x180016fe9
int64_t function_180016fd0(void) {
    int64_t v1 = *(int64_t *)(g119 + 48); // 0x180016fd9
    g117 = v1;
    int64_t result = _3f__3f_1wxStringToNumHashMap_40__40_QEAA_40_XZ(v1); // 0x180016fdd
    g114 = result;
    return result;
}
 
// Address range: 0x180016ff0 - 0x18001700c
int64_t function_180016ff0(void) {
    int64_t v1 = g119 + 352; // 0x180016ff9
    g117 = v1;
    int64_t result = _3f__3f_1wxFormatString_40__40_QEAA_40_XZ((int64_t *)v1); // 0x180017000
    g114 = result;
    return result;
}
 
// Address range: 0x180017010 - 0x18001702c
int64_t function_180017010(void) {
    int64_t v1 = g119 + 80; // 0x18001701d
    g117 = v1;
    int64_t result = function_180002570(v1); // 0x180017021
    g114 = result;
    return result;
}
 
// Address range: 0x180017030 - 0x180017048
int64_t function_180017030(void) {
    int64_t v1 = g119 + 72; // 0x180017039
    g117 = v1;
    int64_t result = function_1800025b0(v1); // 0x18001703d
    g114 = result;
    return result;
}
 
// Address range: 0x180017050 - 0x18001706c
int64_t function_180017050(void) {
    int64_t v1 = g119 + 80; // 0x18001705d
    g117 = v1;
    int64_t result = function_180002570(v1); // 0x180017061
    g114 = result;
    return result;
}
 
// Address range: 0x180017070 - 0x180017089
int64_t function_180017070(void) {
    int64_t v1 = *(int64_t *)(g119 + 48); // 0x180017079
    g117 = v1;
    int64_t result = _3f__3f_1wxStringToNumHashMap_40__40_QEAA_40_XZ(v1); // 0x18001707d
    g114 = result;
    return result;
}
 
// Address range: 0x180017090 - 0x1800170a8
int64_t function_180017090(void) {
    int64_t v1 = g119 + 48; // 0x180017099
    g117 = v1;
    int64_t result = function_18000b400(v1); // 0x18001709d
    g114 = result;
    return result;
}
 
// Address range: 0x1800170b0 - 0x1800170c8
int64_t function_1800170b0(void) {
    int64_t v1 = *(int64_t *)(g119 + 72); // 0x1800170b9
    g117 = v1;
    int64_t result = function_18001310e(v1); // 0x1800170bd
    g114 = result;
    return result;
}
 
// Address range: 0x1800170d0 - 0x1800170e9
int64_t function_1800170d0(void) {
    int64_t v1 = *(int64_t *)(g119 + 72); // 0x1800170d9
    g117 = v1;
    int64_t result = _3f__3f_1wxEventFunctor_40__40_UEAA_40_XZ(v1); // 0x1800170dd
    g114 = result;
    return result;
}
 
// Address range: 0x1800170f0 - 0x18001710c
int64_t function_1800170f0(void) {
    // 0x1800170f0
    g117 = &g78;
    int64_t result = _3f__3f_1wxEventTableEntry_40__40_QEAA_40_XZ(&g78); // 0x180017100
    g114 = result;
    return result;
}
 
// Address range: 0x180017110 - 0x180017128
int64_t function_180017110(void) {
    int64_t v1 = *(int64_t *)(g119 + 80); // 0x180017119
    g117 = v1;
    int64_t result = function_18001310e(v1); // 0x18001711d
    g114 = result;
    return result;
}
 
// Address range: 0x180017130 - 0x180017149
int64_t function_180017130(void) {
    int64_t v1 = *(int64_t *)(g119 + 80); // 0x180017139
    g117 = v1;
    int64_t result = _3f__3f_1wxEventFunctor_40__40_UEAA_40_XZ(v1); // 0x18001713d
    g114 = result;
    return result;
}
 
// Address range: 0x180017150 - 0x18001716c
int64_t function_180017150(void) {
    // 0x180017150
    g117 = &g79;
    int64_t result = _3f__3f_1wxEventTableEntry_40__40_QEAA_40_XZ(&g79); // 0x180017160
    g114 = result;
    return result;
}
 
// Address range: 0x180017170 - 0x180017188
int64_t function_180017170(void) {
    int64_t v1 = *(int64_t *)(g119 + 64); // 0x180017179
    g117 = v1;
    int64_t result = _3f__3f_1wxSocketInputStream_40__40_UEAA_40_XZ(v1); // 0x18001717d
    g114 = result;
    return result;
}
 
// Address range: 0x180017190 - 0x1800171ac
int64_t function_180017190(void) {
    int64_t v1 = *(int64_t *)(g119 + 64) + 24; // 0x18001719d
    g117 = v1;
    free((int64_t *)v1);
    g114 = &g122;
    return &g122;
}
 
// Address range: 0x1800171b0 - 0x1800171cc
int64_t function_1800171b0(void) {
    int64_t v1 = *(int64_t *)(g119 + 64) + 48; // 0x1800171bd
    g117 = v1;
    free((int64_t *)v1);
    g114 = &g122;
    return &g122;
}
 
// Address range: 0x1800171d0 - 0x1800171e8
int64_t function_1800171d0(void) {
    int64_t v1 = g119 + 64; // 0x1800171d9
    g117 = v1;
    int64_t result = _3f__3f_1wxSocketEvent_40__40_UEAA_40_XZ(v1); // 0x1800171dd
    g114 = result;
    return result;
}
 
// Address range: 0x1800171f0 - 0x180017208
int64_t function_1800171f0(void) {
    int64_t v1 = g119 + 48; // 0x1800171f9
    g117 = v1;
    int64_t result = _3f__3f_1wxSocketEvent_40__40_UEAA_40_XZ(v1); // 0x1800171fd
    g114 = result;
    return result;
}
 
// Address range: 0x180017210 - 0x180017229
int64_t function_180017210(void) {
    int64_t v1 = *(int64_t *)(g119 + 64); // 0x180017219
    g117 = v1;
    int64_t result = _3f__3f_1wxObject_40__40_UEAA_40_XZ(v1); // 0x18001721d
    g114 = result;
    return result;
}
 
// Address range: 0x180017230 - 0x18001724d
int64_t function_180017230(void) {
    int64_t v1 = *(int64_t *)(g119 + 64) + 56; // 0x18001723d
    g117 = v1;
    int64_t result = _3f__3f_1wxList_40__40_UEAA_40_XZ(v1); // 0x180017241
    g114 = result;
    return result;
}
 
// Address range: 0x180017250 - 0x18001726c
int64_t function_180017250(void) {
    int64_t v1 = *(int64_t *)(g119 + 64) + 112; // 0x18001725d
    g117 = v1;
    int64_t result = _3f__3f_1wxIPV4address_40__40_UEAA_40_XZ(v1); // 0x180017261
    g114 = result;
    return result;
}
 
// Address range: 0x180017270 - 0x180017288
int64_t function_180017270(void) {
    int64_t v1 = *(int64_t *)(g119 + 72); // 0x180017279
    g117 = v1;
    int64_t result = _3f__3f_1wxSockAddress_40__40_UEAA_40_XZ(v1); // 0x18001727d
    g114 = result;
    return result;
}
 
// Address range: 0x180017290 - 0x1800172a8
int64_t function_180017290(void) {
    int64_t v1 = g119 + 48; // 0x180017299
    g117 = v1;
    int64_t result = function_18000d650(v1); // 0x18001729d
    g114 = result;
    return result;
}
 
// Address range: 0x1800172b0 - 0x1800172c8
int64_t function_1800172b0(void) {
    int64_t v1 = g119 + 56; // 0x1800172b9
    g117 = v1;
    int64_t result = function_18000e3e0(v1); // 0x1800172bd
    g114 = result;
    return result;
}
 
// Address range: 0x1800172d0 - 0x1800172e8
int64_t function_1800172d0(void) {
    int64_t v1 = g119 + 96; // 0x1800172d9
    g117 = v1;
    int64_t result = function_18000d650(v1); // 0x1800172dd
    g114 = result;
    return result;
}
 
// Address range: 0x1800172f0 - 0x180017308
int64_t function_1800172f0(void) {
    int64_t v1 = g119 + 56; // 0x1800172f9
    g117 = v1;
    int64_t result = function_18000e3e0(v1); // 0x1800172fd
    g114 = result;
    return result;
}
 
// Address range: 0x180017310 - 0x180017328
int64_t function_180017310(void) {
    int64_t v1 = g119 + 56; // 0x180017319
    g117 = v1;
    int64_t result = function_18000d680(v1); // 0x18001731d
    g114 = result;
    return result;
}
 
// Address range: 0x180017330 - 0x180017348
int64_t function_180017330(void) {
    int64_t v1 = g119 + 64; // 0x180017339
    g117 = v1;
    int64_t result = function_18000e3e0(v1); // 0x18001733d
    g114 = result;
    return result;
}
 
// Address range: 0x180017350 - 0x18001736c
int64_t function_180017350(void) {
    int64_t v1 = g119; // 0x180017356
    int64_t v2 = v1 + 200; // 0x180017359
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180017360
    g114 = result;
    return result;
}
 
// Address range: 0x180017370 - 0x18001738c
int64_t function_180017370(void) {
    int64_t v1 = g119; // 0x180017376
    int64_t v2 = v1 + 256; // 0x180017379
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180017380
    g114 = result;
    return result;
}
 
// Address range: 0x180017390 - 0x1800173ac
int64_t function_180017390(void) {
    int64_t v1 = g119 + 160; // 0x180017399
    g117 = v1;
    int64_t result = _3f__3f_1wxFormatString_40__40_QEAA_40_XZ((int64_t *)v1); // 0x1800173a0
    g114 = result;
    return result;
}
 
// Address range: 0x1800173b0 - 0x1800173cc
int64_t function_1800173b0(void) {
    int64_t v1 = g119 + 48; // 0x1800173bd
    g117 = v1;
    int64_t result = function_180002570(v1); // 0x1800173c1
    g114 = result;
    return result;
}
 
// Address range: 0x1800173d0 - 0x1800173e8
int64_t function_1800173d0(void) {
    int64_t v1 = g119 + 40; // 0x1800173d9
    g117 = v1;
    int64_t result = function_1800025b0(v1); // 0x1800173dd
    g114 = result;
    return result;
}
 
// Address range: 0x1800173f0 - 0x18001740c
int64_t function_1800173f0(void) {
    int64_t v1 = g119 + 48; // 0x1800173fd
    g117 = v1;
    int64_t result = function_180002570(v1); // 0x180017401
    g114 = result;
    return result;
}
 
// Address range: 0x180017410 - 0x18001742c
int64_t function_180017410(void) {
    int64_t v1 = *(int64_t *)(g119 + 336); // 0x180017419
    g117 = v1;
    int64_t result = _3f__3f_1wxStringToNumHashMap_40__40_QEAA_40_XZ(v1); // 0x180017420
    g114 = result;
    return result;
}
 
// Address range: 0x180017430 - 0x180017449
int64_t function_180017430(void) {
    int64_t v1 = *(int64_t *)(g119 + 64); // 0x180017439
    g117 = v1;
    int64_t result = _3f__3f_1wxObject_40__40_UEAA_40_XZ(v1); // 0x18001743d
    g114 = result;
    return result;
}
 
// Address range: 0x180017450 - 0x18001746d
int64_t function_180017450(void) {
    int64_t v1 = *(int64_t *)(g119 + 64) + 56; // 0x18001745d
    g117 = v1;
    int64_t result = _3f__3f_1wxList_40__40_UEAA_40_XZ(v1); // 0x180017461
    g114 = result;
    return result;
}
 
// Address range: 0x180017470 - 0x180017488
int64_t function_180017470(void) {
    int64_t v1 = *(int64_t *)(g119 + 72); // 0x180017479
    g117 = v1;
    int64_t result = _3f__3f_1wxSockAddress_40__40_UEAA_40_XZ(v1); // 0x18001747d
    g114 = result;
    return result;
}
 
// Address range: 0x180017490 - 0x1800174ac
int64_t function_180017490(void) {
    int64_t v1 = *(int64_t *)(g119 + 64) + 112; // 0x18001749d
    g117 = v1;
    int64_t result = _3f__3f_1wxIPV4address_40__40_UEAA_40_XZ(v1); // 0x1800174a1
    g114 = result;
    return result;
}
 
// Address range: 0x1800174b0 - 0x1800174c9
int64_t function_1800174b0(void) {
    int64_t v1 = *(int64_t *)(g119 + 80); // 0x1800174b9
    g117 = v1;
    int64_t result = _3f__3f_1wxObject_40__40_UEAA_40_XZ(v1); // 0x1800174bd
    g114 = result;
    return result;
}
 
// Address range: 0x1800174d0 - 0x1800174ed
int64_t function_1800174d0(void) {
    int64_t v1 = *(int64_t *)(g119 + 80) + 56; // 0x1800174dd
    g117 = v1;
    int64_t result = _3f__3f_1wxList_40__40_UEAA_40_XZ(v1); // 0x1800174e1
    g114 = result;
    return result;
}
 
// Address range: 0x1800174f0 - 0x180017508
int64_t function_1800174f0(void) {
    int64_t v1 = *(int64_t *)(g119 + 104); // 0x1800174f9
    g117 = v1;
    int64_t result = _3f__3f_1wxSockAddress_40__40_UEAA_40_XZ(v1); // 0x1800174fd
    g114 = result;
    return result;
}
 
// Address range: 0x180017510 - 0x18001752c
int64_t function_180017510(void) {
    int64_t v1 = *(int64_t *)(g119 + 80) + 112; // 0x18001751d
    g117 = v1;
    int64_t result = _3f__3f_1wxIPV4address_40__40_UEAA_40_XZ(v1); // 0x180017521
    g114 = result;
    return result;
}
 
// Address range: 0x180017530 - 0x180017548
int64_t function_180017530(void) {
    int64_t v1 = g119 + 80; // 0x180017539
    g117 = v1;
    int64_t result = function_18000d650(v1); // 0x18001753d
    g114 = result;
    return result;
}
 
// Address range: 0x180017550 - 0x180017568
int64_t function_180017550(void) {
    int64_t v1 = g119 + 80; // 0x180017559
    g117 = v1;
    int64_t result = function_18000d680(v1); // 0x18001755d
    g114 = result;
    return result;
}
 
// Address range: 0x180017570 - 0x180017588
int64_t function_180017570(void) {
    int64_t v1 = *(int64_t *)(g119 + 64); // 0x180017579
    g117 = v1;
    int64_t result = _3f__3f_1wxSocketBase_40__40_UEAA_40_XZ(v1); // 0x18001757d
    g114 = result;
    return result;
}
 
// Address range: 0x180017590 - 0x1800175ab
int64_t function_180017590(void) {
    int64_t v1 = *(int64_t *)(g119 + 320); // 0x180017599
    g117 = v1;
    int64_t result = _3f__3f_1wxSocketBase_40__40_UEAA_40_XZ(v1); // 0x1800175a0
    g114 = result;
    return result;
}
 
// Address range: 0x1800175b0 - 0x1800175cc
int64_t function_1800175b0(void) {
    int64_t v1 = g119 + 168; // 0x1800175b9
    g117 = v1;
    int64_t result = _3f__3f_1wxFormatString_40__40_QEAA_40_XZ((int64_t *)v1); // 0x1800175c0
    g114 = result;
    return result;
}
 
// Address range: 0x1800175d0 - 0x1800175ec
int64_t function_1800175d0(void) {
    int64_t v1 = g119; // 0x1800175d6
    int64_t v2 = v1 + 208; // 0x1800175d9
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x1800175e0
    g114 = result;
    return result;
}
 
// Address range: 0x1800175f0 - 0x18001760c
int64_t function_1800175f0(void) {
    int64_t v1 = g119 + 56; // 0x1800175fd
    g117 = v1;
    int64_t result = function_180002570(v1); // 0x180017601
    g114 = result;
    return result;
}
 
// Address range: 0x180017610 - 0x180017628
int64_t function_180017610(void) {
    int64_t v1 = g119 + 48; // 0x180017619
    g117 = v1;
    int64_t result = function_1800025b0(v1); // 0x18001761d
    g114 = result;
    return result;
}
 
// Address range: 0x180017630 - 0x18001764c
int64_t function_180017630(void) {
    int64_t v1 = g119 + 56; // 0x18001763d
    g117 = v1;
    int64_t result = function_180002570(v1); // 0x180017641
    g114 = result;
    return result;
}
 
// Address range: 0x180017650 - 0x18001766c
int64_t function_180017650(void) {
    int64_t v1 = *(int64_t *)(g119 + 344); // 0x180017659
    g117 = v1;
    int64_t result = _3f__3f_1wxStringToNumHashMap_40__40_QEAA_40_XZ(v1); // 0x180017660
    g114 = result;
    return result;
}
 
// Address range: 0x180017670 - 0x18001768c
int64_t function_180017670(void) {
    int64_t v1 = g119 + 168; // 0x180017679
    g117 = v1;
    int64_t result = _3f__3f_1wxFormatString_40__40_QEAA_40_XZ((int64_t *)v1); // 0x180017680
    g114 = result;
    return result;
}
 
// Address range: 0x180017690 - 0x1800176ac
int64_t function_180017690(void) {
    int64_t v1 = g119; // 0x180017696
    int64_t v2 = v1 + 208; // 0x180017699
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x1800176a0
    g114 = result;
    return result;
}
 
// Address range: 0x1800176b0 - 0x1800176cc
int64_t function_1800176b0(void) {
    int64_t v1 = g119 + 56; // 0x1800176bd
    g117 = v1;
    int64_t result = function_180002570(v1); // 0x1800176c1
    g114 = result;
    return result;
}
 
// Address range: 0x1800176d0 - 0x1800176e8
int64_t function_1800176d0(void) {
    int64_t v1 = g119 + 48; // 0x1800176d9
    g117 = v1;
    int64_t result = function_1800025b0(v1); // 0x1800176dd
    g114 = result;
    return result;
}
 
// Address range: 0x1800176f0 - 0x18001770c
int64_t function_1800176f0(void) {
    int64_t v1 = g119 + 56; // 0x1800176fd
    g117 = v1;
    int64_t result = function_180002570(v1); // 0x180017701
    g114 = result;
    return result;
}
 
// Address range: 0x180017710 - 0x18001772c
int64_t function_180017710(void) {
    int64_t v1 = *(int64_t *)(g119 + 344); // 0x180017719
    g117 = v1;
    int64_t result = _3f__3f_1wxStringToNumHashMap_40__40_QEAA_40_XZ(v1); // 0x180017720
    g114 = result;
    return result;
}
 
// Address range: 0x180017730 - 0x18001774c
int64_t function_180017730(void) {
    int64_t v1 = g119 + 168; // 0x180017739
    g117 = v1;
    int64_t result = _3f__3f_1wxFormatString_40__40_QEAA_40_XZ((int64_t *)v1); // 0x180017740
    g114 = result;
    return result;
}
 
// Address range: 0x180017750 - 0x18001776c
int64_t function_180017750(void) {
    int64_t v1 = g119; // 0x180017756
    int64_t v2 = v1 + 208; // 0x180017759
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180017760
    g114 = result;
    return result;
}
 
// Address range: 0x180017770 - 0x18001778c
int64_t function_180017770(void) {
    int64_t v1 = g119 + 56; // 0x18001777d
    g117 = v1;
    int64_t result = function_180002570(v1); // 0x180017781
    g114 = result;
    return result;
}
 
// Address range: 0x180017790 - 0x1800177a8
int64_t function_180017790(void) {
    int64_t v1 = g119 + 48; // 0x180017799
    g117 = v1;
    int64_t result = function_1800025b0(v1); // 0x18001779d
    g114 = result;
    return result;
}
 
// Address range: 0x1800177b0 - 0x1800177cc
int64_t function_1800177b0(void) {
    int64_t v1 = g119 + 56; // 0x1800177bd
    g117 = v1;
    int64_t result = function_180002570(v1); // 0x1800177c1
    g114 = result;
    return result;
}
 
// Address range: 0x1800177d0 - 0x1800177ec
int64_t function_1800177d0(void) {
    int64_t v1 = *(int64_t *)(g119 + 344); // 0x1800177d9
    g117 = v1;
    int64_t result = _3f__3f_1wxStringToNumHashMap_40__40_QEAA_40_XZ(v1); // 0x1800177e0
    g114 = result;
    return result;
}
 
// Address range: 0x1800177f0 - 0x18001780c
int64_t function_1800177f0(void) {
    int64_t v1 = g119 + 168; // 0x1800177f9
    g117 = v1;
    int64_t result = _3f__3f_1wxFormatString_40__40_QEAA_40_XZ((int64_t *)v1); // 0x180017800
    g114 = result;
    return result;
}
 
// Address range: 0x180017810 - 0x18001782c
int64_t function_180017810(void) {
    int64_t v1 = g119; // 0x180017816
    int64_t v2 = v1 + 208; // 0x180017819
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180017820
    g114 = result;
    return result;
}
 
// Address range: 0x180017830 - 0x18001784c
int64_t function_180017830(void) {
    int64_t v1 = g119 + 56; // 0x18001783d
    g117 = v1;
    int64_t result = function_180002570(v1); // 0x180017841
    g114 = result;
    return result;
}
 
// Address range: 0x180017850 - 0x180017868
int64_t function_180017850(void) {
    int64_t v1 = g119 + 48; // 0x180017859
    g117 = v1;
    int64_t result = function_1800025b0(v1); // 0x18001785d
    g114 = result;
    return result;
}
 
// Address range: 0x180017870 - 0x18001788c
int64_t function_180017870(void) {
    int64_t v1 = g119 + 56; // 0x18001787d
    g117 = v1;
    int64_t result = function_180002570(v1); // 0x180017881
    g114 = result;
    return result;
}
 
// Address range: 0x180017890 - 0x1800178ac
int64_t function_180017890(void) {
    int64_t v1 = *(int64_t *)(g119 + 344); // 0x180017899
    g117 = v1;
    int64_t result = _3f__3f_1wxStringToNumHashMap_40__40_QEAA_40_XZ(v1); // 0x1800178a0
    g114 = result;
    return result;
}
 
// Address range: 0x1800178b0 - 0x1800178c9
int64_t function_1800178b0(void) {
    int64_t v1 = g119; // 0x1800178b6
    int64_t v2 = v1 + 96; // 0x1800178b9
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x1800178bd
    g114 = result;
    return result;
}
 
// Address range: 0x1800178d0 - 0x1800178e9
int64_t function_1800178d0(void) {
    int64_t v1 = g119; // 0x1800178d6
    int64_t v2 = v1 + 32; // 0x1800178d9
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x1800178dd
    g114 = result;
    return result;
}
 
// Address range: 0x1800178f0 - 0x180017909
int64_t function_1800178f0(void) {
    int64_t v1 = g119; // 0x1800178f6
    int64_t v2 = v1 + 96; // 0x1800178f9
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x1800178fd
    g114 = result;
    return result;
}
 
// Address range: 0x180017910 - 0x180017929
int64_t function_180017910(void) {
    int64_t v1 = g119; // 0x180017916
    int64_t v2 = v1 + 96; // 0x180017919
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x18001791d
    g114 = result;
    return result;
}
 
// Address range: 0x180017930 - 0x180017949
int64_t function_180017930(void) {
    int64_t v1 = g119; // 0x180017936
    int64_t v2 = v1 + 32; // 0x180017939
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x18001793d
    g114 = result;
    return result;
}
 
// Address range: 0x180017950 - 0x18001796b
int64_t function_180017950(void) {
    int64_t v1 = g119 + 160; // 0x180017959
    g117 = v1;
    int64_t result = _3f__3f_1wxSockAddress_40__40_UEAA_40_XZ(v1); // 0x180017960
    g114 = result;
    return result;
}
 
// Address range: 0x180017970 - 0x18001798b
int64_t function_180017970(void) {
    int64_t v1 = g119 + 160; // 0x180017979
    g117 = v1;
    int64_t result = _3f__3f_1wxIPV4address_40__40_UEAA_40_XZ(v1); // 0x180017980
    g114 = result;
    return result;
}
 
// Address range: 0x180017990 - 0x1800179ab
int64_t function_180017990(void) {
    int64_t v1 = g119 + 160; // 0x180017999
    g117 = v1;
    int64_t result = _3f__3f_1wxSockAddress_40__40_UEAA_40_XZ(v1); // 0x1800179a0
    g114 = result;
    return result;
}
 
// Address range: 0x1800179b0 - 0x1800179cb
int64_t function_1800179b0(void) {
    int64_t v1 = g119 + 160; // 0x1800179b9
    g117 = v1;
    int64_t result = _3f__3f_1wxSockAddress_40__40_UEAA_40_XZ(v1); // 0x1800179c0
    g114 = result;
    return result;
}
 
// Address range: 0x1800179d0 - 0x1800179ec
int64_t function_1800179d0(void) {
    int64_t v1 = g119; // 0x1800179d6
    int64_t v2 = v1 + 240; // 0x1800179d9
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x1800179e0
    g114 = result;
    return result;
}
 
// Address range: 0x1800179f0 - 0x180017a09
int64_t function_1800179f0(void) {
    int64_t v1 = g119; // 0x1800179f6
    int64_t v2 = v1 + 32; // 0x1800179f9
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x1800179fd
    g114 = result;
    return result;
}
 
// Address range: 0x180017a10 - 0x180017a29
int64_t function_180017a10(void) {
    int64_t v1 = g119; // 0x180017a16
    int64_t v2 = v1 + 32; // 0x180017a19
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180017a1d
    g114 = result;
    return result;
}
 
// Address range: 0x180017a30 - 0x180017a4b
int64_t function_180017a30(void) {
    int64_t v1 = g119 + 160; // 0x180017a39
    g117 = v1;
    int64_t result = _3f__3f_1wxSockAddress_40__40_UEAA_40_XZ(v1); // 0x180017a40
    g114 = result;
    return result;
}
 
// Address range: 0x180017a50 - 0x180017a6b
int64_t function_180017a50(void) {
    int64_t v1 = g119 + 160; // 0x180017a59
    g117 = v1;
    int64_t result = _3f__3f_1wxSockAddress_40__40_UEAA_40_XZ(v1); // 0x180017a60
    g114 = result;
    return result;
}
 
// Address range: 0x180017a70 - 0x180017a89
int64_t function_180017a70(void) {
    int64_t v1 = *(int64_t *)(g119 + 112); // 0x180017a79
    g117 = v1;
    int64_t result = _3f__3f_1wxModule_40__40_UEAA_40_XZ(v1); // 0x180017a7d
    g114 = result;
    return result;
}
 
// Address range: 0x180017a90 - 0x180017aa9
int64_t function_180017a90(void) {
    int64_t v1 = g119; // 0x180017a96
    int64_t v2 = v1 + 40; // 0x180017a99
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180017a9d
    g114 = result;
    return result;
}
 
// Address range: 0x180017ab0 - 0x180017acc
int64_t function_180017ab0(void) {
    int64_t v1 = g119; // 0x180017ab6
    int64_t v2 = v1 + 128; // 0x180017ab9
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180017ac0
    g114 = result;
    return result;
}
 
// Address range: 0x180017ad0 - 0x180017aec
int64_t function_180017ad0(void) {
    int64_t v1 = g119; // 0x180017ad6
    int64_t v2 = v1 + 184; // 0x180017ad9
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180017ae0
    g114 = result;
    return result;
}
 
// Address range: 0x180017af0 - 0x180017b0c
int64_t function_180017af0(void) {
    int64_t v1 = g119; // 0x180017af6
    int64_t v2 = v1 + 240; // 0x180017af9
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180017b00
    g114 = result;
    return result;
}
 
// Address range: 0x180017b10 - 0x180017b28
int64_t function_180017b10(void) {
    int64_t v1 = g119 + 48; // 0x180017b19
    g117 = v1;
    int64_t result = _3f__3f_1wxSockAddress_40__40_UEAA_40_XZ(v1); // 0x180017b1d
    g114 = result;
    return result;
}
 
// Address range: 0x180017b30 - 0x180017b48
int64_t function_180017b30(void) {
    int64_t v1 = g119 + 48; // 0x180017b39
    g117 = v1;
    int64_t result = _3f__3f_1wxIPV4address_40__40_UEAA_40_XZ(v1); // 0x180017b3d
    g114 = result;
    return result;
}
 
// Address range: 0x180017b50 - 0x180017b68
int64_t function_180017b50(void) {
    int64_t v1 = g119 + 48; // 0x180017b59
    g117 = v1;
    int64_t result = _3f__3f_1wxSockAddress_40__40_UEAA_40_XZ(v1); // 0x180017b5d
    g114 = result;
    return result;
}
 
// Address range: 0x180017b70 - 0x180017b88
int64_t function_180017b70(void) {
    int64_t v1 = g119 + 48; // 0x180017b79
    g117 = v1;
    int64_t result = _3f__3f_1wxSockAddress_40__40_UEAA_40_XZ(v1); // 0x180017b7d
    g114 = result;
    return result;
}
 
// Address range: 0x180017b90 - 0x180017ba8
int64_t function_180017b90(void) {
    int64_t v1 = *(int64_t *)(g119 + 32); // 0x180017b99
    g117 = v1;
    int64_t result = function_18001310e(v1); // 0x180017b9d
    g114 = result;
    return result;
}
 
// Address range: 0x180017bb0 - 0x180017bc8
int64_t function_180017bb0(void) {
    int64_t v1 = g119 + 48; // 0x180017bb9
    g117 = v1;
    int64_t result = _3f__3f_1wxSockAddress_40__40_UEAA_40_XZ(v1); // 0x180017bbd
    g114 = result;
    return result;
}
 
// Address range: 0x180017bd0 - 0x180017be9
int64_t function_180017bd0(void) {
    int64_t v1 = g119; // 0x180017bd6
    int64_t v2 = v1 + 40; // 0x180017bd9
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180017bdd
    g114 = result;
    return result;
}
 
// Address range: 0x180017bf0 - 0x180017c09
int64_t function_180017bf0(void) {
    int64_t v1 = g119; // 0x180017bf6
    int64_t v2 = v1 + 96; // 0x180017bf9
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180017bfd
    g114 = result;
    return result;
}
 
// Address range: 0x180017c10 - 0x180017c29
int64_t function_180017c10(void) {
    int64_t v1 = g119; // 0x180017c16
    int64_t v2 = v1 + 40; // 0x180017c19
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180017c1d
    g114 = result;
    return result;
}
 
// Address range: 0x180017c30 - 0x180017c49
int64_t function_180017c30(void) {
    int64_t v1 = g119; // 0x180017c36
    int64_t v2 = v1 + 104; // 0x180017c39
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180017c3d
    g114 = result;
    return result;
}
 
// Address range: 0x180017c50 - 0x180017c6c
int64_t function_180017c50(void) {
    int64_t v1 = g119; // 0x180017c56
    int64_t v2 = v1 + 296; // 0x180017c59
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180017c60
    g114 = result;
    return result;
}
 
// Address range: 0x180017c70 - 0x180017c8c
int64_t function_180017c70(void) {
    int64_t v1 = g119; // 0x180017c76
    int64_t v2 = v1 + 240; // 0x180017c79
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180017c80
    g114 = result;
    return result;
}
 
// Address range: 0x180017c90 - 0x180017cab
int64_t function_180017c90(void) {
    int64_t v1 = g119 + 160; // 0x180017c99
    g117 = v1;
    int64_t result = _3f__3f_1wxSockAddress_40__40_UEAA_40_XZ(v1); // 0x180017ca0
    g114 = result;
    return result;
}
 
// Address range: 0x180017cb0 - 0x180017ccb
int64_t function_180017cb0(void) {
    int64_t v1 = g119 + 160; // 0x180017cb9
    g117 = v1;
    int64_t result = _3f__3f_1wxIPV4address_40__40_UEAA_40_XZ(v1); // 0x180017cc0
    g114 = result;
    return result;
}
 
// Address range: 0x180017cd0 - 0x180017ceb
int64_t function_180017cd0(void) {
    int64_t v1 = g119 + 160; // 0x180017cd9
    g117 = v1;
    int64_t result = _3f__3f_1wxSockAddress_40__40_UEAA_40_XZ(v1); // 0x180017ce0
    g114 = result;
    return result;
}
 
// Address range: 0x180017cf0 - 0x180017d09
int64_t function_180017cf0(void) {
    int64_t v1 = g119; // 0x180017cf6
    int64_t v2 = v1 + 48; // 0x180017cf9
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180017cfd
    g114 = result;
    return result;
}
 
// Address range: 0x180017d10 - 0x180017d29
int64_t function_180017d10(void) {
    int64_t v1 = g119; // 0x180017d16
    int64_t v2 = v1 + 48; // 0x180017d19
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180017d1d
    g114 = result;
    return result;
}
 
// Address range: 0x180017d30 - 0x180017d48
int64_t function_180017d30(void) {
    int64_t v1 = *(int64_t *)(g119 + 32); // 0x180017d39
    g117 = v1;
    int64_t result = function_18001310e(v1); // 0x180017d3d
    g114 = result;
    return result;
}
 
// Address range: 0x180017d50 - 0x180017d6b
int64_t function_180017d50(void) {
    int64_t v1 = g119 + 160; // 0x180017d59
    g117 = v1;
    int64_t result = _3f__3f_1wxSockAddress_40__40_UEAA_40_XZ(v1); // 0x180017d60
    g114 = result;
    return result;
}
 
// Address range: 0x180017d70 - 0x180017d89
int64_t function_180017d70(void) {
    int64_t v1 = *(int64_t *)(g119 + 64); // 0x180017d79
    g117 = v1;
    int64_t result = _3f__3f_1wxURI_40__40_UEAA_40_XZ(v1); // 0x180017d7d
    g114 = result;
    return result;
}
 
// Address range: 0x180017d90 - 0x180017db0
int64_t function_180017d90(void) {
    int64_t v1 = g119; // 0x180017d96
    int64_t v2 = *(int64_t *)(v1 + 64) + 464; // 0x180017d9d
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180017da4
    g114 = result;
    return result;
}
 
// Address range: 0x180017db0 - 0x180017dc9
int64_t function_180017db0(void) {
    int64_t v1 = *(int64_t *)(g119 + 112); // 0x180017db9
    g117 = v1;
    int64_t result = _3f__3f_1wxURI_40__40_UEAA_40_XZ(v1); // 0x180017dbd
    g114 = result;
    return result;
}
 
// Address range: 0x180017dd0 - 0x180017df0
int64_t function_180017dd0(void) {
    int64_t v1 = g119; // 0x180017dd6
    int64_t v2 = *(int64_t *)(v1 + 112) + 464; // 0x180017ddd
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180017de4
    g114 = result;
    return result;
}
 
// Address range: 0x180017df0 - 0x180017e09
int64_t function_180017df0(void) {
    int64_t v1 = g119; // 0x180017df6
    int64_t v2 = v1 + 40; // 0x180017df9
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180017dfd
    g114 = result;
    return result;
}
 
// Address range: 0x180017e10 - 0x180017e29
int64_t function_180017e10(void) {
    int64_t v1 = g119; // 0x180017e16
    int64_t v2 = v1 + 40; // 0x180017e19
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180017e1d
    g114 = result;
    return result;
}
 
// Address range: 0x180017e30 - 0x180017e48
int64_t function_180017e30(void) {
    int64_t v1 = *(int64_t *)(g119 + 64); // 0x180017e39
    g117 = v1;
    int64_t result = function_18000e5b0(v1); // 0x180017e3d
    g114 = result;
    return result;
}
 
// Address range: 0x180017e50 - 0x180017e69
int64_t function_180017e50(void) {
    int64_t v1 = g119; // 0x180017e56
    int64_t v2 = v1 + 80; // 0x180017e59
    g117 = v2;
    int64_t result = _3f__3f_1wxCriticalSectionLocker_40__40_QEAA_40_XZ((int64_t *)v2, (int32_t)v1, g112); // 0x180017e5d
    g114 = result;
    return result;
}
 
// Address range: 0x180017e70 - 0x180017e8b
int64_t function_180017e70(void) {
    int64_t v1 = *(int64_t *)(g119 + 128); // 0x180017e79
    g117 = v1;
    int64_t result = function_18000e5b0(v1); // 0x180017e80
    g114 = result;
    return result;
}
 
// Address range: 0x180017e90 - 0x180017ea9
int64_t function_180017e90(void) {
    int64_t v1 = g119; // 0x180017e96
    int64_t v2 = v1 + 48; // 0x180017e99
    g117 = v2;
    int64_t result = _3f__3f_1wxCriticalSectionLocker_40__40_QEAA_40_XZ((int64_t *)v2, (int32_t)v1, g112); // 0x180017e9d
    g114 = result;
    return result;
}
 
// Address range: 0x180017eb0 - 0x180017ec9
int64_t function_180017eb0(void) {
    int64_t v1 = g119; // 0x180017eb6
    int64_t v2 = v1 + 48; // 0x180017eb9
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180017ebd
    g114 = result;
    return result;
}
 
// Address range: 0x180017ed0 - 0x180017ee9
int64_t function_180017ed0(void) {
    int64_t v1 = g119; // 0x180017ed6
    int64_t v2 = v1 + 48; // 0x180017ed9
    g117 = v2;
    int64_t result = _3f__3f_1wxString_40__40_QEAA_40_XZ(v2, v1, g112); // 0x180017edd
    g114 = result;
    return result;
}
 
// Address range: 0x180017ef0 - 0x180017f08
int64_t function_180017ef0(void) {
    int64_t v1 = *(int64_t *)(g119 + 80); // 0x180017ef9
    g117 = v1;
    int64_t result = function_18001310e(v1); // 0x180017efd
    g114 = result;
    return result;
}
 
// Address range: 0x180017f08 - 0x180017f47
int64_t function_180017f08(int64_t a1, int64_t a2) {
    // 0x180017f08
    g119 = a2;
    g117 = a1;
    int64_t v1 = g119; // 0x180017f0e
    *(int64_t *)(v1 + 56) = g117;
    *(int64_t *)(v1 + 40) = g117;
    int64_t v2 = *(int64_t *)(v1 + 40); // 0x180017f19
    g114 = v2;
    int64_t v3 = *(int64_t *)v2; // 0x180017f1d
    g117 = v3;
    *(int64_t *)(v1 + 48) = v3;
    int64_t v4 = *(int64_t *)(v1 + 48); // 0x180017f24
    g114 = v4;
    int64_t result;
    if (*(int32_t *)v4 == -0x1f928c9d) {
        // 0x180017f3c
        result = function_1800138a2();
    } else {
        // 0x180017f30
        *(int32_t *)(v1 + 32) = 0;
        result = (int64_t)*(int32_t *)(v1 + 32);
    }
    // 0x180017f41
    g114 = result;
    return result;
}
 
// Address range: 0x180017f47 - 0x180017f71
int64_t function_180017f47(void) {
    int64_t v1 = g119; // 0x180017f4d
    int64_t result; // 0x180017f70
    if (*(int32_t *)(v1 + 32) != 0) {
        // 0x180017f47
        result = g114;
    } else {
        int64_t v2 = *(int64_t *)(v1 + 120); // 0x180017f56
        uint32_t v3 = *(int32_t *)(v1 + 112); // 0x180017f5a
        g112 = v3;
        int64_t v4 = *(int64_t *)(v1 + 104); // 0x180017f5e
        g119 = v4;
        int64_t v5 = *(int64_t *)(v1 + 96); // 0x180017f62
        g117 = v5;
        int64_t v6; // rbp
        int64_t v7 = function_18001311c(v5, v4, v3, v2, v6); // 0x180017f66
        g114 = v7;
        result = v7;
    }
    // 0x180017f6b
    return result;
}
 
// Address range: 0x180017f71 - 0x180017f8a
int64_t function_180017f71(void) {
    // 0x180017f71
    g117 = 8;
    _unlock(8);
    g114 = &g122;
    return &g122;
}
 
// Address range: 0x180017f8a - 0x180017fad
int64_t function_180017f8a(int64_t a1, int64_t a2) {
    // 0x180017f8a
    g119 = a2;
    g117 = a1;
    int64_t v1 = g119; // 0x180017f90
    int64_t v2 = g117; // 0x180017f93
    g119 = v2;
    *(int64_t *)(v1 + 40) = v2;
    int64_t v3 = g117; // 0x180017f9a
    g114 = v3;
    int32_t v4 = v3;
    g117 = v3 & 0xffffffff;
    *(int32_t *)(v1 + 36) = v4;
    int64_t result = __CppXcptFilter(v4, (struct _EXCEPTION_POINTERS *)v2); // 0x180017fa2
    g114 = result;
    return result;
}
 
// Address range: 0x180018010 - 0x180018056
int64_t function_180018010(void) {
    int64_t v1 = *(int64_t *)0x180019340; // 0x180018014
    g112 = v1;
    g114 = 0x180001e90;
    g119 = (int64_t)L"wxFileSystemInternetModule";
    g117 = &g64;
    int64_t v2 = _3f__3f_0wxClassInfo_40__40_QEAA_40_PEB_WPEBV0_40_1HP6APEAVwxObject_40__40_XZ_40_Z(&g64, L"wxFileSystemInternetModule", v1, 0, 88, 0x180001e90); // 0x180018040
    g114 = v2;
    g117 = 0x180018a10;
    int64_t result = function_1800133c0(0x180018a10); // 0x180018051
    g114 = result;
    return result;
}
 
// Address range: 0x180018060 - 0x1800180a6
int64_t function_180018060(void) {
    // 0x180018060
    g114 = 0x1800024b0;
    g112 = 0x18002ebc0;
    g119 = (int64_t)L"wxFTP";
    g117 = 0x18002e990;
    g114 = _3f__3f_0wxClassInfo_40__40_QEAA_40_PEB_WPEBV0_40_1HP6APEAVwxObject_40__40_XZ_40_Z((int64_t *)0x18002e990, L"wxFTP", 0x18002ebc0, 0, 464, 0x1800024b0);
    g117 = 0x180018a20;
    int64_t result = function_1800133c0(0x180018a20); // 0x1800180a1
    g114 = result;
    return result;
}
 
// Address range: 0x1800180b0 - 0x1800180ed
int64_t function_1800180b0(void) {
    // 0x1800180b0
    g114 = 0x18002e990;
    g112 = (int64_t)L"ftp";
    g119 = (int64_t)L"ftp";
    g117 = 0x18002e9c0;
    int64_t v1; // r9
    int64_t v2 = v1 & -256 | 1; // 0x1800180d0
    g114 = _3f__3f_0wxProtoInfo_40__40_QEAA_40_PEB_W0_NPEAVwxClassInfo_40__40__40_Z(0x18002e9c0, L"ftp", L"ftp", v2, 0x18002e990);
    g117 = 0x180018a30;
    int64_t result = function_1800133c0(0x180018a30); // 0x1800180e8
    g114 = result;
    return result;
}
 
// Address range: 0x1800180f0 - 0x180018136
int64_t function_1800180f0(void) {
    // 0x1800180f0
    g114 = 0x180007360;
    g112 = 0x18002ebc0;
    g119 = (int64_t)L"wxHTTP";
    g117 = 0x18002ea90;
    g114 = _3f__3f_0wxClassInfo_40__40_QEAA_40_PEB_WPEBV0_40_1HP6APEAVwxObject_40__40_XZ_40_Z((int64_t *)0x18002ea90, L"wxHTTP", 0x18002ebc0, 0, 600, 0x180007360);
    g117 = 0x180018a80;
    int64_t result = function_1800133c0(0x180018a80); // 0x180018131
    g114 = result;
    return result;
}
 
// Address range: 0x180018140 - 0x18001817d
int64_t function_180018140(void) {
    // 0x180018140
    g114 = 0x18002ea90;
    g112 = (int64_t)L"80";
    g119 = (int64_t)L"http";
    g117 = 0x18002eac0;
    int64_t v1; // r9
    int64_t v2 = v1 & -256 | 1; // 0x180018160
    g114 = _3f__3f_0wxProtoInfo_40__40_QEAA_40_PEB_W0_NPEAVwxClassInfo_40__40__40_Z(0x18002eac0, L"http", L"80", v2, 0x18002ea90);
    g117 = 0x180018a90;
    int64_t result = function_1800133c0(0x180018a90); // 0x180018178
    g114 = result;
    return result;
}
 
// Address range: 0x180018180 - 0x1800181c3
int64_t function_180018180(void) {
    int64_t v1 = *(int64_t *)0x180019770; // 0x180018184
    g112 = v1;
    g119 = (int64_t)L"wxProtoInfo";
    g117 = 0x18002eb90;
    g114 = _3f__3f_0wxClassInfo_40__40_QEAA_40_PEB_WPEBV0_40_1HP6APEAVwxObject_40__40_XZ_40_Z((int64_t *)0x18002eb90, L"wxProtoInfo", v1, 0, 208, 0);
    g117 = 0x180018ae0;
    int64_t result = function_1800133c0(0x180018ae0); // 0x1800181be
    g114 = result;
    return result;
}
 
// Address range: 0x1800181d0 - 0x180018213
int64_t function_1800181d0(void) {
    // 0x1800181d0
    g112 = 0x18002ef58;
    g119 = (int64_t)L"wxProtocol";
    g117 = 0x18002ebc0;
    g114 = _3f__3f_0wxClassInfo_40__40_QEAA_40_PEB_WPEBV0_40_1HP6APEAVwxObject_40__40_XZ_40_Z((int64_t *)0x18002ebc0, L"wxProtocol", 0x18002ef58, 0, 392, 0);
    g117 = 0x180018af0;
    int64_t result = function_1800133c0(0x180018af0); // 0x18001820e
    g114 = result;
    return result;
}
 
// Address range: 0x180018220 - 0x180018263
int64_t function_180018220(void) {
    int64_t v1 = *(int64_t *)0x180019770; // 0x180018224
    g112 = v1;
    g119 = (int64_t)L"wxSockAddress";
    g117 = 0x18002ebf0;
    g114 = _3f__3f_0wxClassInfo_40__40_QEAA_40_PEB_WPEBV0_40_1HP6APEAVwxObject_40__40_XZ_40_Z((int64_t *)0x18002ebf0, L"wxSockAddress", v1, 0, 24, 0);
    g117 = 0x180018b00;
    int64_t result = function_1800133c0(0x180018b00); // 0x18001825e
    g114 = result;
    return result;
}
 
// Address range: 0x180018270 - 0x1800182b3
int64_t function_180018270(void) {
    // 0x180018270
    g112 = 0x18002ebf0;
    g119 = (int64_t)L"wxIPaddress";
    g117 = 0x18002ec20;
    g114 = _3f__3f_0wxClassInfo_40__40_QEAA_40_PEB_WPEBV0_40_1HP6APEAVwxObject_40__40_XZ_40_Z((int64_t *)0x18002ec20, L"wxIPaddress", 0x18002ebf0, 0, 80, 0);
    g117 = 0x180018b10;
    int64_t result = function_1800133c0(0x180018b10); // 0x1800182ae
    g114 = result;
    return result;
}
 
// Address range: 0x1800182c0 - 0x180018306
int64_t function_1800182c0(void) {
    // 0x1800182c0
    g114 = 0x18000a140;
    g112 = 0x18002ec20;
    g119 = (int64_t)L"wxIPV4address";
    g117 = 0x18002ec50;
    g114 = _3f__3f_0wxClassInfo_40__40_QEAA_40_PEB_WPEBV0_40_1HP6APEAVwxObject_40__40_XZ_40_Z((int64_t *)0x18002ec50, L"wxIPV4address", 0x18002ec20, 0, 80, 0x18000a140);
    g117 = 0x180018b20;
    int64_t result = function_1800133c0(0x180018b20); // 0x180018301
    g114 = result;
    return result;
}
 
// Address range: 0x180018310 - 0x180018356
int64_t function_180018310(void) {
    // 0x180018310
    g114 = 0x18000aef0;
    g112 = 0x18002ebc0;
    g119 = (int64_t)L"wxFileProto";
    g117 = 0x18002ec80;
    g114 = _3f__3f_0wxClassInfo_40__40_QEAA_40_PEB_WPEBV0_40_1HP6APEAVwxObject_40__40_XZ_40_Z((int64_t *)0x18002ec80, L"wxFileProto", 0x18002ebc0, 0, 392, 0x18000aef0);
    g117 = 0x180018b30;
    int64_t result = function_1800133c0(0x180018b30); // 0x180018351
    g114 = result;
    return result;
}
 
// Address range: 0x180018360 - 0x180018399
int64_t function_180018360(void) {
    // 0x180018360
    g114 = 0x18002ec80;
    g119 = (int64_t)L"file";
    g117 = 0x18002ecb0;
    g112 = 0;
    g114 = _3f__3f_0wxProtoInfo_40__40_QEAA_40_PEB_W0_NPEAVwxClassInfo_40__40__40_Z(0x18002ecb0, L"file", NULL, 0, 0x18002ec80);
    g117 = 0x180018b40;
    int64_t result = function_1800133c0(0x180018b40); // 0x180018394
    g114 = result;
    return result;
}
 
// Address range: 0x1800183a0 - 0x1800183e6
int64_t function_1800183a0(void) {
    int64_t v1 = *(int64_t *)0x180019340; // 0x1800183a4
    g112 = v1;
    g114 = 0x18000b140;
    g119 = (int64_t)L"wxTCPEventHandlerModule";
    g117 = &g75;
    int64_t v2 = _3f__3f_0wxClassInfo_40__40_QEAA_40_PEB_WPEBV0_40_1HP6APEAVwxObject_40__40_XZ_40_Z(&g75, L"wxTCPEventHandlerModule", v1, 0, 80, 0x18000b140); // 0x1800183d0
    g114 = v2;
    g117 = 0x180018b90;
    int64_t result = function_1800133c0(0x180018b90); // 0x1800183e1
    g114 = result;
    return result;
}
 
// Address range: 0x1800183f0 - 0x180018436
int64_t function_1800183f0(void) {
    int64_t v1 = *(int64_t *)0x180019938; // 0x1800183f4
    g112 = v1;
    g114 = 0x18000c0e0;
    g119 = (int64_t)L"wxTCPServer";
    g117 = 0x18002edb8;
    g114 = _3f__3f_0wxClassInfo_40__40_QEAA_40_PEB_WPEBV0_40_1HP6APEAVwxObject_40__40_XZ_40_Z((int64_t *)0x18002edb8, L"wxTCPServer", v1, 0, 24, 0x18000c0e0);
    g117 = 0x180018ba0;
    int64_t result = function_1800133c0(0x180018ba0); // 0x180018431
    g114 = result;
    return result;
}
 
// Address range: 0x180018440 - 0x180018486
int64_t function_180018440(void) {
    int64_t v1 = *(int64_t *)0x180019940; // 0x180018444
    g112 = v1;
    g114 = 0x18000c130;
    g119 = (int64_t)L"wxTCPClient";
    g117 = 0x18002ede8;
    g114 = _3f__3f_0wxClassInfo_40__40_QEAA_40_PEB_WPEBV0_40_1HP6APEAVwxObject_40__40_XZ_40_Z((int64_t *)0x18002ede8, L"wxTCPClient", v1, 0, 16, 0x18000c130);
    g117 = 0x180018bb0;
    int64_t result = function_1800133c0(0x180018bb0); // 0x180018481
    g114 = result;
    return result;
}
 
// Address range: 0x180018490 - 0x1800184d3
int64_t function_180018490(void) {
    int64_t v1 = *(int64_t *)0x180019948; // 0x180018494
    g112 = v1;
    g119 = (int64_t)L"wxTCPConnection";
    g117 = 0x18002ee18;
    g114 = _3f__3f_0wxClassInfo_40__40_QEAA_40_PEB_WPEBV0_40_1HP6APEAVwxObject_40__40_XZ_40_Z((int64_t *)0x18002ee18, L"wxTCPConnection", v1, 0, 112, 0);
    g117 = 0x180018bc0;
    int64_t result = function_1800133c0(0x180018bc0); // 0x1800184ce
    g114 = result;
    return result;
}
 
// Address range: 0x1800184e0 - 0x1800184ef
int64_t function_1800184e0(void) {
    int64_t result = *(int64_t *)0x180019950; // 0x1800184e0
    g114 = result;
    g60 = result;
    return result;
}
 
// Address range: 0x1800184f0 - 0x180018518
int64_t function_1800184f0(void) {
    // 0x1800184f0
    g119 = &g60;
    g117 = &g77;
    int64_t v1 = _3f__3f_0wxEventHashTable_40__40_QEAA_40_AEBUwxEventTable_40__40__40_Z(&g77, &g60); // 0x180018502
    g114 = v1;
    g117 = 0x180018bd0;
    int64_t result = function_1800133c0(0x180018bd0); // 0x180018513
    g114 = result;
    return result;
}
 
// Address range: 0x180018520 - 0x18001866a
int64_t function_180018520(void) {
    int64_t v1 = g116; // 0x18001852f
    int64_t v2 = g120; // 0x180018534
    g114 = 0x18000caa0;
    int64_t v3 = 0x18000caa0; // bp-48
    int64_t v4 = 0; // rdi
    g117 = 32;
    int64_t v5 = function_18001323c(32, g119); // 0x18001854e
    g114 = v5;
    g116 = v5;
    g120 = &g35;
    int64_t v6; // 0x180018591
    if (v5 == 0) {
        // 0x180018589
        g116 = v4;
        v6 = v4;
    } else {
        // 0x180018562
        g117 = v5;
        _3f__3f_0wxEventFunctor_40__40_QEAA_40_XZ(v5);
        *(int64_t *)g116 = g120;
        *(int64_t *)(g116 + 8) = v4;
        g117 = &v3;
        *(int64_t *)(g116 + 16) = v3;
        g114 = 0;
        *(int64_t *)(g116 + 24) = 0;
        v6 = g116;
    }
    // 0x18001858c
    g112 = 1000;
    g119 = 0x18002eef0;
    g117 = &g78;
    _3f__3f_0wxEventTableEntry_40__40_QEAA_40_AEBHHHPEAVwxEventFunctor_40__40_PEAVwxObject_40__40__40_Z(&g78, 0x18002eef0, 1000, -1, v6, v4);
    g114 = 0x18000c380;
    v3 = 0x18000c380;
    g117 = 32;
    int64_t v7 = function_18001323c(32, 0x18002eef0); // 0x1800185ca
    g114 = v7;
    g116 = v7;
    int64_t v8; // 0x180018606
    if (v7 == 0) {
        // 0x1800185fe
        g116 = v4;
        v8 = v4;
    } else {
        // 0x1800185d7
        g117 = v7;
        _3f__3f_0wxEventFunctor_40__40_QEAA_40_XZ(v7);
        *(int64_t *)g116 = g120;
        *(int64_t *)(g116 + 8) = v4;
        g117 = &v3;
        *(int64_t *)(g116 + 16) = v3;
        int64_t v9 = 0x100000000 * v4 / 0x100000000; // 0x1800185f4
        g114 = v9;
        *(int64_t *)(g116 + 24) = v9;
        v8 = g116;
    }
    // 0x180018601
    g112 = 1001;
    g119 = 0x18002eef0;
    g117 = &g79;
    int64_t v10 = _3f__3f_0wxEventTableEntry_40__40_QEAA_40_AEBHHHPEAVwxEventFunctor_40__40_PEAVwxObject_40__40__40_Z(&g79, 0x18002eef0, 1001, -1, v8, v4); // 0x180018623
    g114 = v10;
    g112 = 0;
    int64_t v11 = *(int64_t *)0x180019968; // 0x18001863a
    g119 = v11;
    g117 = &g80;
    int64_t v12 = _3f__3f_0wxEventTableEntry_40__40_QEAA_40_AEBHHHPEAVwxEventFunctor_40__40_PEAVwxObject_40__40__40_Z(&g80, v11, 0, 0, v4, v4); // 0x180018648
    g114 = v12;
    g117 = 0x180018be0;
    g116 = v1;
    g120 = v2;
    int64_t result = function_1800133c0(0x180018be0); // 0x180018665
    g114 = result;
    return result;
}
 
// Address range: 0x180018670 - 0x180018685
int64_t function_180018670(void) {
    // 0x180018670
    g119 = (int64_t)"wxNet";
    g117 = (int64_t)"3.0 (wchar_t,Visual C++ 1500,wx containers,compatible with 2.8)";
    int64_t result = _3f_CheckBuildOptions_40_wxAppConsoleBase_40__40_SA_NPEBD0_40_Z("3.0 (wchar_t,Visual C++ 1500,wx containers,compatible with 2.8)", "wxNet"); // 0x18001867e
    g114 = result;
    return result;
}
 
// Address range: 0x180018690 - 0x1800186a5
int64_t function_180018690(void) {
    int64_t v1 = _3f_wxNewEventType_40__40_YAHXZ(); // 0x180018694
    g114 = v1;
    *(int32_t *)0x18002eef0 = (int32_t)v1;
    return g114;
}
 
// Address range: 0x1800186b0 - 0x1800186f3
int64_t function_1800186b0(void) {
    int64_t v1 = *(int64_t *)0x180019770; // 0x1800186b4
    g112 = v1;
    g119 = (int64_t)L"wxSocketBase";
    g117 = 0x18002eef8;
    g114 = _3f__3f_0wxClassInfo_40__40_QEAA_40_PEB_WPEBV0_40_1HP6APEAVwxObject_40__40_XZ_40_Z((int64_t *)0x18002eef8, L"wxSocketBase", v1, 0, 248, 0);
    g117 = 0x180018c00;
    int64_t result = function_1800133c0(0x180018c00); // 0x1800186ee
    g114 = result;
    return result;
}
 
// Address range: 0x180018700 - 0x180018743
int64_t function_180018700(void) {
    // 0x180018700
    g112 = 0x18002eef8;
    g119 = (int64_t)L"wxSocketServer";
    g117 = 0x18002ef28;
    g114 = _3f__3f_0wxClassInfo_40__40_QEAA_40_PEB_WPEBV0_40_1HP6APEAVwxObject_40__40_XZ_40_Z((int64_t *)0x18002ef28, L"wxSocketServer", 0x18002eef8, 0, 248, 0);
    g117 = 0x180018c10;
    int64_t result = function_1800133c0(0x180018c10); // 0x18001873e
    g114 = result;
    return result;
}
 
// Address range: 0x180018750 - 0x180018793
int64_t function_180018750(void) {
    // 0x180018750
    g112 = 0x18002eef8;
    g119 = (int64_t)L"wxSocketClient";
    g117 = 0x18002ef58;
    g114 = _3f__3f_0wxClassInfo_40__40_QEAA_40_PEB_WPEBV0_40_1HP6APEAVwxObject_40__40_XZ_40_Z((int64_t *)0x18002ef58, L"wxSocketClient", 0x18002eef8, 0, 256, 0);
    g117 = 0x180018c20;
    int64_t result = function_1800133c0(0x180018c20); // 0x18001878e
    g114 = result;
    return result;
}
 
// Address range: 0x1800187a0 - 0x1800187e3
int64_t function_1800187a0(void) {
    // 0x1800187a0
    g112 = 0x18002eef8;
    g119 = (int64_t)L"wxDatagramSocket";
    g117 = 0x18002ef88;
    g114 = _3f__3f_0wxClassInfo_40__40_QEAA_40_PEB_WPEBV0_40_1HP6APEAVwxObject_40__40_XZ_40_Z((int64_t *)0x18002ef88, L"wxDatagramSocket", 0x18002eef8, 0, 248, 0);
    g117 = 0x180018c30;
    int64_t result = function_1800133c0(0x180018c30); // 0x1800187de
    g114 = result;
    return result;
}
 
// Address range: 0x1800187f0 - 0x180018836
int64_t function_1800187f0(void) {
    int64_t v1 = *(int64_t *)0x180019a48; // 0x1800187f4
    g112 = v1;
    g114 = 0x18000e360;
    g119 = (int64_t)L"wxSocketEvent";
    g117 = 0x18002efb8;
    g114 = _3f__3f_0wxClassInfo_40__40_QEAA_40_PEB_WPEBV0_40_1HP6APEAVwxObject_40__40_XZ_40_Z((int64_t *)0x18002efb8, L"wxSocketEvent", v1, 0, 96, 0x18000e360);
    g117 = 0x180018c40;
    int64_t result = function_1800133c0(0x180018c40); // 0x180018831
    g114 = result;
    return result;
}
 
// Address range: 0x180018840 - 0x180018886
int64_t function_180018840(void) {
    int64_t v1 = *(int64_t *)0x180019340; // 0x180018844
    g112 = v1;
    g114 = 0x18000f130;
    g119 = (int64_t)L"wxSocketModule";
    g117 = &g83;
    int64_t v2 = _3f__3f_0wxClassInfo_40__40_QEAA_40_PEB_WPEBV0_40_1HP6APEAVwxObject_40__40_XZ_40_Z(&g83, L"wxSocketModule", v1, 0, 80, 0x18000f130); // 0x180018870
    g114 = v2;
    g117 = 0x180018c50;
    int64_t result = function_1800133c0(0x180018c50); // 0x180018881
    g114 = result;
    return result;
}
 
// Address range: 0x180018890 - 0x180018895
int64_t function_180018890(void) {
    int64_t result = _3f_Compress_40_wxTCPConnection_40__40_QEAAX_N_40_Z(); // 0x180018890
    g114 = result;
    return result;
}
 
// Address range: 0x1800188a0 - 0x1800188e3
int64_t function_1800188a0(void) {
    int64_t v1 = *(int64_t *)0x180019ab0; // 0x1800188a4
    g112 = v1;
    g119 = (int64_t)L"wxURL";
    g117 = 0x18002f030;
    g114 = _3f__3f_0wxClassInfo_40__40_QEAA_40_PEB_WPEBV0_40_1HP6APEAVwxObject_40__40_XZ_40_Z((int64_t *)0x18002f030, L"wxURL", v1, 0, 520, 0);
    g117 = 0x180018c60;
    int64_t result = function_1800133c0(0x180018c60); // 0x1800188de
    g114 = result;
    return result;
}
 
// Address range: 0x1800188f0 - 0x1800188f8
int64_t function_1800188f0(void) {
    // 0x1800188f0
    *(char *)&g59 = 1;
    return g114;
}
 
// Address range: 0x180018900 - 0x180018908
int64_t function_180018900(void) {
    // 0x180018900
    *(char *)&g57 = 1;
    return g114;
}
 
// Address range: 0x180018910 - 0x180018918
int64_t function_180018910(void) {
    // 0x180018910
    *(char *)&g56 = 1;
    return g114;
}
 
// Address range: 0x180018920 - 0x180018966
int64_t function_180018920(void) {
    int64_t v1 = *(int64_t *)0x180019340; // 0x180018924
    g112 = v1;
    g114 = 0x180011ed0;
    g119 = (int64_t)L"wxURLModule";
    g117 = &g84;
    int64_t v2 = _3f__3f_0wxClassInfo_40__40_QEAA_40_PEB_WPEBV0_40_1HP6APEAVwxObject_40__40_XZ_40_Z(&g84, L"wxURLModule", v1, 0, 80, 0x180011ed0); // 0x180018950
    g114 = v2;
    g117 = 0x180018c70;
    int64_t result = function_1800133c0(0x180018c70); // 0x180018961
    g114 = result;
    return result;
}
 
// Address range: 0x180018970 - 0x180018993
int64_t function_180018970(void) {
    // 0x180018970
    g117 = &g89;
    g119 = 0;
    g114 = _3f__3f_0wxCriticalSection_40__40_QEAA_40_W4wxCriticalSectionType_40__40__40_Z(&g89, 0);
    g117 = 0x180018c80;
    int64_t result = function_1800133c0(0x180018c80); // 0x18001898e
    g114 = result;
    return result;
}
 
// Address range: 0x1800189a0 - 0x1800189b7
int64_t function_1800189a0(void) {
    // 0x1800189a0
    g117 = 0x180018c90;
    g90 = 0;
    int64_t result = function_1800133c0(0x180018c90); // 0x1800189b2
    g114 = result;
    return result;
}
 
// Address range: 0x1800189c0 - 0x180018a07
int64_t function_1800189c0(void) {
    uint32_t v1 = g92; // 0x1800189c4
    g114 = v1;
    if ((v1 & 1) == 0) {
        // 0x1800189ce
        g117 = 0x180018cc0;
        g92 = v1 | 1;
        g114 = &g54;
        g91 = &g54;
        g114 = function_1800133c0(0x180018cc0);
    }
    int64_t v2 = *(int64_t *)0x180019af0; // 0x1800189f1
    g114 = v2;
    *(int64_t *)v2 = (int64_t)&g91;
    return g114;
}
 
// Address range: 0x180018a10 - 0x180018a1e
int64_t function_180018a10(void) {
    // 0x180018a10
    g117 = &g64;
    int64_t result = _3f__3f_1wxClassInfo_40__40_QEAA_40_XZ(&g64); // 0x180018a17
    g114 = result;
    return result;
}
 
// Address range: 0x180018a20 - 0x180018a2e
int64_t function_180018a20(void) {
    // 0x180018a20
    g117 = 0x18002e990;
    int64_t result = _3f__3f_1wxClassInfo_40__40_QEAA_40_XZ((int64_t *)0x18002e990); // 0x180018a27
    g114 = result;
    return result;
}
 
// Address range: 0x180018a30 - 0x180018a79
int64_t function_180018a30(void) {
    // 0x180018a30
    g117 = &g67;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ((int64_t)&g67, g119, g112);
    g117 = &g66;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ((int64_t)&g66, g119, g112);
    g117 = &g65;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ((int64_t)&g65, g119, g112);
    g117 = 0x18002e9c0;
    int64_t result = _3f__3f_1wxObject_40__40_UEAA_40_XZ(0x18002e9c0); // 0x180018a72
    g114 = result;
    return result;
}
 
// Address range: 0x180018a80 - 0x180018a8e
int64_t function_180018a80(void) {
    // 0x180018a80
    g117 = 0x18002ea90;
    int64_t result = _3f__3f_1wxClassInfo_40__40_QEAA_40_XZ((int64_t *)0x18002ea90); // 0x180018a87
    g114 = result;
    return result;
}
 
// Address range: 0x180018a90 - 0x180018ad9
int64_t function_180018a90(void) {
    // 0x180018a90
    g117 = &g70;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ((int64_t)&g70, g119, g112);
    g117 = &g69;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ((int64_t)&g69, g119, g112);
    g117 = &g68;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ((int64_t)&g68, g119, g112);
    g117 = 0x18002eac0;
    int64_t result = _3f__3f_1wxObject_40__40_UEAA_40_XZ(0x18002eac0); // 0x180018ad2
    g114 = result;
    return result;
}
 
// Address range: 0x180018ae0 - 0x180018aee
int64_t function_180018ae0(void) {
    // 0x180018ae0
    g117 = 0x18002eb90;
    int64_t result = _3f__3f_1wxClassInfo_40__40_QEAA_40_XZ((int64_t *)0x18002eb90); // 0x180018ae7
    g114 = result;
    return result;
}
 
// Address range: 0x180018af0 - 0x180018afe
int64_t function_180018af0(void) {
    // 0x180018af0
    g117 = 0x18002ebc0;
    int64_t result = _3f__3f_1wxClassInfo_40__40_QEAA_40_XZ((int64_t *)0x18002ebc0); // 0x180018af7
    g114 = result;
    return result;
}
 
// Address range: 0x180018b00 - 0x180018b0e
int64_t function_180018b00(void) {
    // 0x180018b00
    g117 = 0x18002ebf0;
    int64_t result = _3f__3f_1wxClassInfo_40__40_QEAA_40_XZ((int64_t *)0x18002ebf0); // 0x180018b07
    g114 = result;
    return result;
}
 
// Address range: 0x180018b10 - 0x180018b1e
int64_t function_180018b10(void) {
    // 0x180018b10
    g117 = 0x18002ec20;
    int64_t result = _3f__3f_1wxClassInfo_40__40_QEAA_40_XZ((int64_t *)0x18002ec20); // 0x180018b17
    g114 = result;
    return result;
}
 
// Address range: 0x180018b20 - 0x180018b2e
int64_t function_180018b20(void) {
    // 0x180018b20
    g117 = 0x18002ec50;
    int64_t result = _3f__3f_1wxClassInfo_40__40_QEAA_40_XZ((int64_t *)0x18002ec50); // 0x180018b27
    g114 = result;
    return result;
}
 
// Address range: 0x180018b30 - 0x180018b3e
int64_t function_180018b30(void) {
    // 0x180018b30
    g117 = 0x18002ec80;
    int64_t result = _3f__3f_1wxClassInfo_40__40_QEAA_40_XZ((int64_t *)0x18002ec80); // 0x180018b37
    g114 = result;
    return result;
}
 
// Address range: 0x180018b40 - 0x180018b89
int64_t function_180018b40(void) {
    // 0x180018b40
    g117 = &g73;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ((int64_t)&g73, g119, g112);
    g117 = &g72;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ((int64_t)&g72, g119, g112);
    g117 = &g71;
    g114 = _3f__3f_1wxString_40__40_QEAA_40_XZ((int64_t)&g71, g119, g112);
    g117 = 0x18002ecb0;
    int64_t result = _3f__3f_1wxObject_40__40_UEAA_40_XZ(0x18002ecb0); // 0x180018b82
    g114 = result;
    return result;
}
 
// Address range: 0x180018b90 - 0x180018b9e
int64_t function_180018b90(void) {
    // 0x180018b90
    g117 = &g75;
    int64_t result = _3f__3f_1wxClassInfo_40__40_QEAA_40_XZ(&g75); // 0x180018b97
    g114 = result;
    return result;
}
 
// Address range: 0x180018ba0 - 0x180018bae
int64_t function_180018ba0(void) {
    // 0x180018ba0
    g117 = 0x18002edb8;
    int64_t result = _3f__3f_1wxClassInfo_40__40_QEAA_40_XZ((int64_t *)0x18002edb8); // 0x180018ba7
    g114 = result;
    return result;
}
 
// Address range: 0x180018bb0 - 0x180018bbe
int64_t function_180018bb0(void) {
    // 0x180018bb0
    g117 = 0x18002ede8;
    int64_t result = _3f__3f_1wxClassInfo_40__40_QEAA_40_XZ((int64_t *)0x18002ede8); // 0x180018bb7
    g114 = result;
    return result;
}
 
// Address range: 0x180018bc0 - 0x180018bce
int64_t function_180018bc0(void) {
    // 0x180018bc0
    g117 = 0x18002ee18;
    int64_t result = _3f__3f_1wxClassInfo_40__40_QEAA_40_XZ((int64_t *)0x18002ee18); // 0x180018bc7
    g114 = result;
    return result;
}
 
// Address range: 0x180018bd0 - 0x180018bde
int64_t function_180018bd0(void) {
    // 0x180018bd0
    g117 = &g77;
    int64_t result = _3f__3f_1wxEventHashTable_40__40_QEAA_40_XZ(&g77); // 0x180018bd7
    g114 = result;
    return result;
}
 
// Address range: 0x180018be0 - 0x180018bfc
int64_t function_180018be0(void) {
    int64_t v1 = *(int64_t *)0x180019960; // 0x180018be0
    g119 = 32;
    g117 = &g78;
    g112 = 3;
    int64_t result = function_180013168((int64_t)&g78, 32, 3, v1); // 0x180018bf7
    g114 = result;
    return result;
}
 
// Address range: 0x180018c00 - 0x180018c0e
int64_t function_180018c00(void) {
    // 0x180018c00
    g117 = 0x18002eef8;
    int64_t result = _3f__3f_1wxClassInfo_40__40_QEAA_40_XZ((int64_t *)0x18002eef8); // 0x180018c07
    g114 = result;
    return result;
}
 
// Address range: 0x180018c10 - 0x180018c1e
int64_t function_180018c10(void) {
    // 0x180018c10
    g117 = 0x18002ef28;
    int64_t result = _3f__3f_1wxClassInfo_40__40_QEAA_40_XZ((int64_t *)0x18002ef28); // 0x180018c17
    g114 = result;
    return result;
}
 
// Address range: 0x180018c20 - 0x180018c2e
int64_t function_180018c20(void) {
    // 0x180018c20
    g117 = 0x18002ef58;
    int64_t result = _3f__3f_1wxClassInfo_40__40_QEAA_40_XZ((int64_t *)0x18002ef58); // 0x180018c27
    g114 = result;
    return result;
}
 
// Address range: 0x180018c30 - 0x180018c3e
int64_t function_180018c30(void) {
    // 0x180018c30
    g117 = 0x18002ef88;
    int64_t result = _3f__3f_1wxClassInfo_40__40_QEAA_40_XZ((int64_t *)0x18002ef88); // 0x180018c37
    g114 = result;
    return result;
}
 
// Address range: 0x180018c40 - 0x180018c4e
int64_t function_180018c40(void) {
    // 0x180018c40
    g117 = 0x18002efb8;
    int64_t result = _3f__3f_1wxClassInfo_40__40_QEAA_40_XZ((int64_t *)0x18002efb8); // 0x180018c47
    g114 = result;
    return result;
}
 
// Address range: 0x180018c50 - 0x180018c5e
int64_t function_180018c50(void) {
    // 0x180018c50
    g117 = &g83;
    int64_t result = _3f__3f_1wxClassInfo_40__40_QEAA_40_XZ(&g83); // 0x180018c57
    g114 = result;
    return result;
}
 
// Address range: 0x180018c60 - 0x180018c6e
int64_t function_180018c60(void) {
    // 0x180018c60
    g117 = 0x18002f030;
    int64_t result = _3f__3f_1wxClassInfo_40__40_QEAA_40_XZ((int64_t *)0x18002f030); // 0x180018c67
    g114 = result;
    return result;
}
 
// Address range: 0x180018c70 - 0x180018c7e
int64_t function_180018c70(void) {
    // 0x180018c70
    g117 = &g84;
    int64_t result = _3f__3f_1wxClassInfo_40__40_QEAA_40_XZ(&g84); // 0x180018c77
    g114 = result;
    return result;
}
 
// Address range: 0x180018c80 - 0x180018c8e
int64_t function_180018c80(void) {
    // 0x180018c80
    g117 = &g89;
    int64_t result = _3f__3f_1wxCriticalSection_40__40_QEAA_40_XZ(&g89); // 0x180018c87
    g114 = result;
    return result;
}
 
// Address range: 0x180018c90 - 0x180018cb6
int64_t function_180018c90(void) {
    int64_t v1 = g90; // 0x180018c94
    g117 = v1;
    int64_t result; // 0x180018cb5
    if (v1 == 0) {
        // 0x180018c90
        result = g114;
    } else {
        int64_t v2 = _3f_Unload_40_wxDynamicLibrary_40__40_SAXPEAUHINSTANCE___40__40__40_Z(v1); // 0x180018ca0
        g114 = v2;
        g90 = 0;
        result = v2;
    }
    // 0x180018cb1
    return result;
}
 
// Address range: 0x180018cc0 - 0x180018ccf
int64_t function_180018cc0(void) {
    // 0x180018cc0
    g114 = &g52;
    g91 = &g52;
    return &g52;
}
 
// Address range: 0x180019e58 - 0x180019e59
// Demangled:     const wxIPaddress::`vftable'
int64_t _3f__3f__7wxIPaddress_40__40_6B_40_(void) {
    // 0x180019e58
    return g114;
}
 
// Address range: 0x180019f28 - 0x180019f29
// Demangled:     const wxIPV4address::`vftable'
int64_t _3f__3f__7wxIPV4address_40__40_6B_40_(void) {
    // 0x180019f28
    return g114;
}
 
// Address range: 0x180019ff8 - 0x180019ff9
// Demangled:     const wxSocketEvent::`vftable'
int64_t _3f__3f__7wxSocketEvent_40__40_6B_40_(void) {
    // 0x180019ff8
    return g114;
}
 
// Address range: 0x18001a088 - 0x18001a089
// Demangled:     const wxInternetFSHandler::`vftable'
int64_t _3f__3f__7wxInternetFSHandler_40__40_6B_40_(void) {
    // 0x18001a088
    return g114;
}
 
// Address range: 0x18001a3a8 - 0x18001a3a9
// Demangled:     const wxFTP::`vftable'
int64_t _3f__3f__7wxFTP_40__40_6B_40_(void) {
    // 0x18001a3a8
    return g114;
}
 
// Address range: 0x18001b4f8 - 0x18001b4f9
// Demangled:     const wxHTTP::`vftable'
int64_t _3f__3f__7wxHTTP_40__40_6B_40_(void) {
    // 0x18001b4f8
    return g114;
}
 
// Address range: 0x18001b8d0 - 0x18001b8d1
// Demangled:     const wxProtocolLog::`vftable'
int64_t _3f__3f__7wxProtocolLog_40__40_6B_40_(void) {
    // 0x18001b8d0
    return g114;
}
 
// Address range: 0x18001b980 - 0x18001b981
// Demangled:     const wxProtoInfo::`vftable'
int64_t _3f__3f__7wxProtoInfo_40__40_6B_40_(void) {
    // 0x18001b980
    return g114;
}
 
// Address range: 0x18001b9d8 - 0x18001b9d9
// Demangled:     const wxProtocol::`vftable'
int64_t _3f__3f__7wxProtocol_40__40_6B_40_(void) {
    // 0x18001b9d8
    return g114;
}
 
// Address range: 0x18001bd78 - 0x18001bd79
// Demangled:     const wxSockAddress::`vftable'
int64_t _3f__3f__7wxSockAddress_40__40_6B_40_(void) {
    // 0x18001bd78
    return g114;
}
 
// Address range: 0x18001bfd8 - 0x18001bfd9
// Demangled:     const wxFileProto::`vftable'
int64_t _3f__3f__7wxFileProto_40__40_6B_40_(void) {
    // 0x18001bfd8
    return g114;
}
 
// Address range: 0x18001c1a8 - 0x18001c1a9
// Demangled:     const wxTCPClient::`vftable'
int64_t _3f__3f__7wxTCPClient_40__40_6B_40_(void) {
    // 0x18001c1a8
    return g114;
}
 
// Address range: 0x18001c4b8 - 0x18001c4b9
// Demangled:     const wxTCPServer::`vftable'
int64_t _3f__3f__7wxTCPServer_40__40_6B_40_(void) {
    // 0x18001c4b8
    return g114;
}
 
// Address range: 0x18001c688 - 0x18001c689
// Demangled:     const wxTCPConnection::`vftable'
int64_t _3f__3f__7wxTCPConnection_40__40_6B_40_(void) {
    // 0x18001c688
    return g114;
}
 
// Address range: 0x18001cb48 - 0x18001cb49
// Demangled:     const wxSocketOutputStream::`vftable'
int64_t _3f__3f__7wxSocketOutputStream_40__40_6B_40_(void) {
    // 0x18001cb48
    return g114;
}
 
// Address range: 0x18001cbd8 - 0x18001cbd9
// Demangled:     const wxSocketInputStream::`vftable'
int64_t _3f__3f__7wxSocketInputStream_40__40_6B_40_(void) {
    // 0x18001cbd8
    return g114;
}
 
// Address range: 0x18001cc98 - 0x18001cc99
// Demangled:     const wxSocketStream::`vftable'
int64_t _3f__3f__7wxSocketStream_40__40_6BwxSocketOutputStream_40__40__40_(void) {
    // 0x18001cc98
    return g114;
}
 
// Address range: 0x18001cd28 - 0x18001cd29
// Demangled:     const wxSocketStream::`vftable'
int64_t _3f__3f__7wxSocketStream_40__40_6BwxSocketInputStream_40__40__40_(void) {
    // 0x18001cd28
    return g114;
}
 
// Address range: 0x18001d5f8 - 0x18001d5f9
// Demangled:     const wxSocketBase::`vftable'
int64_t _3f__3f__7wxSocketBase_40__40_6B_40_(void) {
    // 0x18001d5f8
    return g114;
}
 
// Address range: 0x18001d968 - 0x18001d969
// Demangled:     const wxSocketClient::`vftable'
int64_t _3f__3f__7wxSocketClient_40__40_6B_40_(void) {
    // 0x18001d968
    return g114;
}
 
// Address range: 0x18001d9f8 - 0x18001d9f9
// Demangled:     const wxDatagramSocket::`vftable'
int64_t _3f__3f__7wxDatagramSocket_40__40_6B_40_(void) {
    // 0x18001d9f8
    return g114;
}
 
// Address range: 0x18001db98 - 0x18001db99
// Demangled:     const wxSocketServer::`vftable'
int64_t _3f__3f__7wxSocketServer_40__40_6B_40_(void) {
    // 0x18001db98
    return g114;
}
 
// Address range: 0x18001dcd8 - 0x18001dcd9
// Demangled:     const wxURL::`vftable'
int64_t _3f__3f__7wxURL_40__40_6B_40_(void) {
    // 0x18001dcd8
    return g114;
}
 
// Address range: 0x18002e990 - 0x18002e991
// Demangled:     public: static class wxClassInfo wxFTP::ms_classInfo
int64_t _3f_ms_classInfo_40_wxFTP_40__40_2VwxClassInfo_40__40_A(void) {
    // 0x18002e990
    return g114;
}
 
// Address range: 0x18002e9c0 - 0x18002e9c1
// Demangled:     public: static class wxProtoInfo wxFTP::g_proto_wxFTP
int64_t _3f_g_proto_wxFTP_40_wxFTP_40__40_2VwxProtoInfo_40__40_A(void) {
    // 0x18002e9c0
    return g114;
}
 
// Address range: 0x18002ea90 - 0x18002ea91
// Demangled:     public: static class wxClassInfo wxHTTP::ms_classInfo
int64_t _3f_ms_classInfo_40_wxHTTP_40__40_2VwxClassInfo_40__40_A(void) {
    // 0x18002ea90
    return g114;
}
 
// Address range: 0x18002eac0 - 0x18002eac1
// Demangled:     public: static class wxProtoInfo wxHTTP::g_proto_wxHTTP
int64_t _3f_g_proto_wxHTTP_40_wxHTTP_40__40_2VwxProtoInfo_40__40_A(void) {
    // 0x18002eac0
    return g114;
}
 
// Address range: 0x18002eb90 - 0x18002eb91
// Demangled:     public: static class wxClassInfo wxProtoInfo::ms_classInfo
int64_t _3f_ms_classInfo_40_wxProtoInfo_40__40_2VwxClassInfo_40__40_A(void) {
    // 0x18002eb90
    return g114;
}
 
// Address range: 0x18002ebc0 - 0x18002ebc1
// Demangled:     public: static class wxClassInfo wxProtocol::ms_classInfo
int64_t _3f_ms_classInfo_40_wxProtocol_40__40_2VwxClassInfo_40__40_A(void) {
    // 0x18002ebc0
    return g114;
}
 
// Address range: 0x18002ebf0 - 0x18002ebf1
// Demangled:     public: static class wxClassInfo wxSockAddress::ms_classInfo
int64_t _3f_ms_classInfo_40_wxSockAddress_40__40_2VwxClassInfo_40__40_A(void) {
    // 0x18002ebf0
    return g114;
}
 
// Address range: 0x18002ec20 - 0x18002ec21
// Demangled:     public: static class wxClassInfo wxIPaddress::ms_classInfo
int64_t _3f_ms_classInfo_40_wxIPaddress_40__40_2VwxClassInfo_40__40_A(void) {
    // 0x18002ec20
    return g114;
}
 
// Address range: 0x18002ec50 - 0x18002ec51
// Demangled:     public: static class wxClassInfo wxIPV4address::ms_classInfo
int64_t _3f_ms_classInfo_40_wxIPV4address_40__40_2VwxClassInfo_40__40_A(void) {
    // 0x18002ec50
    return g114;
}
 
// Address range: 0x18002ec80 - 0x18002ec81
// Demangled:     public: static class wxClassInfo wxFileProto::ms_classInfo
int64_t _3f_ms_classInfo_40_wxFileProto_40__40_2VwxClassInfo_40__40_A(void) {
    // 0x18002ec80
    return g114;
}
 
// Address range: 0x18002ecb0 - 0x18002ecb1
// Demangled:     public: static class wxProtoInfo wxFileProto::g_proto_wxFileProto
int64_t _3f_g_proto_wxFileProto_40_wxFileProto_40__40_2VwxProtoInfo_40__40_A(void) {
    // 0x18002ecb0
    return g114;
}
 
// Address range: 0x18002edb8 - 0x18002edb9
// Demangled:     public: static class wxClassInfo wxTCPServer::ms_classInfo
int64_t _3f_ms_classInfo_40_wxTCPServer_40__40_2VwxClassInfo_40__40_A(void) {
    // 0x18002edb8
    return g114;
}
 
// Address range: 0x18002ede8 - 0x18002ede9
// Demangled:     public: static class wxClassInfo wxTCPClient::ms_classInfo
int64_t _3f_ms_classInfo_40_wxTCPClient_40__40_2VwxClassInfo_40__40_A(void) {
    // 0x18002ede8
    return g114;
}
 
// Address range: 0x18002ee18 - 0x18002ee19
// Demangled:     public: static class wxClassInfo wxTCPConnection::ms_classInfo
int64_t _3f_ms_classInfo_40_wxTCPConnection_40__40_2VwxClassInfo_40__40_A(void) {
    // 0x18002ee18
    return g114;
}
 
// Address range: 0x18002eef0 - 0x18002eef1
// Demangled:     class wxEventTypeTag<class wxSocketEvent> const wxEVT_SOCKET
int64_t _3f_wxEVT_SOCKET_40__40_3V_3f__24_wxEventTypeTag_40_VwxSocketEvent_40__40__40__40_B(void) {
    // 0x18002eef0
    return g114;
}
 
// Address range: 0x18002eef8 - 0x18002eef9
// Demangled:     public: static class wxClassInfo wxSocketBase::ms_classInfo
int64_t _3f_ms_classInfo_40_wxSocketBase_40__40_2VwxClassInfo_40__40_A(void) {
    // 0x18002eef8
    return g114;
}
 
// Address range: 0x18002ef28 - 0x18002ef29
// Demangled:     public: static class wxClassInfo wxSocketServer::ms_classInfo
int64_t _3f_ms_classInfo_40_wxSocketServer_40__40_2VwxClassInfo_40__40_A(void) {
    // 0x18002ef28
    return g114;
}
 
// Address range: 0x18002ef58 - 0x18002ef59
// Demangled:     public: static class wxClassInfo wxSocketClient::ms_classInfo
int64_t _3f_ms_classInfo_40_wxSocketClient_40__40_2VwxClassInfo_40__40_A(void) {
    // 0x18002ef58
    return g114;
}
 
// Address range: 0x18002ef88 - 0x18002ef89
// Demangled:     public: static class wxClassInfo wxDatagramSocket::ms_classInfo
int64_t _3f_ms_classInfo_40_wxDatagramSocket_40__40_2VwxClassInfo_40__40_A(void) {
    // 0x18002ef88
    return g114;
}
 
// Address range: 0x18002efb8 - 0x18002efb9
// Demangled:     public: static class wxClassInfo wxSocketEvent::ms_classInfo
int64_t _3f_ms_classInfo_40_wxSocketEvent_40__40_2VwxClassInfo_40__40_A(void) {
    // 0x18002efb8
    return g114;
}
 
// Address range: 0x18002f018 - 0x18002f019
// Demangled:     protected: static class wxProtoInfo * wxURL::ms_protocols
int64_t _3f_ms_protocols_40_wxURL_40__40_1PEAVwxProtoInfo_40__40_EA(void) {
    // 0x18002f018
    return g114;
}
 
// Address range: 0x18002f020 - 0x18002f021
// Demangled:     protected: static class wxHTTP * wxURL::ms_proxyDefault
int64_t _3f_ms_proxyDefault_40_wxURL_40__40_1PEAVwxHTTP_40__40_EA(void) {
    // 0x18002f020
    return g114;
}
 
// Address range: 0x18002f028 - 0x18002f029
// Demangled:     protected: static bool wxURL::ms_useDefaultProxy
int64_t _3f_ms_useDefaultProxy_40_wxURL_40__40_1_NA(void) {
    // 0x18002f028
    return g114;
}
 
// Address range: 0x18002f030 - 0x18002f031
// Demangled:     public: static class wxClassInfo wxURL::ms_classInfo
int64_t _3f_ms_classInfo_40_wxURL_40__40_2VwxClassInfo_40__40_A(void) {
    // 0x18002f030
    return g114;
}
 
// --------------- Statically Linked Functions ----------------
 
// int64_t __chkstk(void);
// void __fastcall __security_check_cookie(_In_ uintptr_t StackCookie);
// void __cdecl __security_init_cookie(void);
// int64_t _FindPESection(int64_t a1, int64_t a2);
// _onexit_t _onexit(_onexit_t Function);
// int64_t _ValidateImageBase(int64_t a1);
// int __stdcall DllMain(_In_ void * DllHandle, _In_ unsigned long Reason, _In_opt_ void * Reserved);
 
// --------------- Dynamically Linked Functions ---------------
 
// int64_t _3f__3f_0_3f__24_wxArgNormalizerWchar_40_AEBVwxCStrData_40__40__40__40_QEAA_40_AEBVwxCStrData_40__40_PEBVwxFormatString_40__40_I_40_Z(int64_t * a1, int64_t a2, int64_t * a3, int64_t a4);
// int64_t _3f__3f_0_3f__24_wxArgNormalizerWchar_40_AEBVwxString_40__40__40__40_QEAA_40_AEBVwxString_40__40_PEBVwxFormatString_40__40_I_40_Z(int64_t * a1, int64_t a2, int64_t * a3, int64_t a4);
// int64_t _3f__3f_0compatibility_iterator_40_wxObjectList_40__40_QEAA_40_PEAVwxObjectListNode_40__40__40_Z(int64_t * a1, int32_t a2);
// int64_t _3f__3f_0const_iterator_40_wxString_40__40_QEAA_40_AEBV01_40__40_Z(int64_t * a1, int64_t * a2);
// int64_t _3f__3f_0const_iterator_40_wxString_40__40_QEAA_40_AEBViterator_40_1_40__40_Z(int64_t * a1, int64_t a2);
// int64_t _3f__3f_0wxArrayString_40__40_QEAA_40_XZ(int64_t * a1);
// int64_t _3f__3f_0wxBufferedOutputStream_40__40_QEAA_40_AEAVwxOutputStream_40__40__K_40_Z(int64_t a1, int32_t a2, int64_t a3);
// int64_t _3f__3f_0wxClassInfo_40__40_QEAA_40_PEB_WPEBV0_40_1HP6APEAVwxObject_40__40_XZ_40_Z(int64_t * a1, int16_t * a2, int64_t a3, int32_t a4, int32_t a5, int64_t a6);
// int64_t _3f__3f_0wxClientBase_40__40_QEAA_40_AEBV0_40__40_Z(void);
// int64_t _3f__3f_0wxClientBase_40__40_QEAA_40_XZ(int64_t a1);
// int64_t _3f__3f_0wxConnectionBase_40__40_QEAA_40_PEAX_K_40_Z(void);
// int64_t _3f__3f_0wxConnectionBase_40__40_QEAA_40_XZ(int64_t a1);
// int64_t _3f__3f_0wxCriticalSection_40__40_QEAA_40_W4wxCriticalSectionType_40__40__40_Z(int64_t * a1, int32_t a2);
// int64_t _3f__3f_0wxCriticalSectionLocker_40__40_QEAA_40_AEAVwxCriticalSection_40__40__40_Z(int64_t * a1, int64_t * a2);
// int64_t _3f__3f_0wxDataInputStream_40__40_QEAA_40_AEAVwxInputStream_40__40_AEBVwxMBConv_40__40__40_Z(int64_t a1, int64_t a2, int64_t a3);
// int64_t _3f__3f_0wxDataOutputStream_40__40_QEAA_40_AEAVwxOutputStream_40__40_AEBVwxMBConv_40__40__40_Z(int64_t a1, int64_t a2, int64_t a3);
// int64_t _3f__3f_0wxEvent_40__40_IEAA_40_AEBV0_40__40_Z(int64_t a1, int64_t a2);
// int64_t _3f__3f_0wxEvent_40__40_QEAA_40_HH_40_Z(int64_t a1, int64_t a2, int32_t a3);
// int64_t _3f__3f_0wxEventFunctor_40__40_QEAA_40_XZ(int64_t a1);
// int64_t _3f__3f_0wxEventHashTable_40__40_QEAA_40_AEBUwxEventTable_40__40__40_Z(int64_t * a1, int64_t * a2);
// int64_t _3f__3f_0wxEventTableEntry_40__40_QEAA_40_AEBHHHPEAVwxEventFunctor_40__40_PEAVwxObject_40__40__40_Z(int64_t * a1, int64_t a2, int64_t a3, int32_t a4, int64_t a5, int64_t a6);
// int64_t _3f__3f_0wxEvtHandler_40__40_QEAA_40_XZ(int64_t a1);
// int64_t _3f__3f_0wxFileInputStream_40__40_QEAA_40_AEBVwxString_40__40__40_Z(int64_t a1, int64_t * a2);
// int64_t _3f__3f_0wxFileOutputStream_40__40_QEAA_40_AEBVwxString_40__40__40_Z(int64_t * a1, int64_t * a2);
// int64_t _3f__3f_0wxFileSystemHandler_40__40_QEAA_40_AEBV0_40__40_Z(void);
// int64_t _3f__3f_0wxFileSystemHandler_40__40_QEAA_40_XZ(int64_t a1);
// int64_t _3f__3f_0wxFormatString_40__40_QEAA_40_AEBVwxString_40__40__40_Z(int64_t * a1, int64_t a2);
// int64_t _3f__3f_0wxFormatString_40__40_QEAA_40_PEB_W_40_Z(int64_t * a1, int16_t * a2);
// int64_t _3f__3f_0wxFormatString_40__40_QEAA_40_PEBD_40_Z(int64_t * a1, char * a2);
// int64_t _3f__3f_0wxFSFile_40__40_QEAA_40_PEAVwxInputStream_40__40_AEBVwxString_40__40_11VwxDateTime_40__40__40_Z(int64_t a1, int64_t a2, int64_t * a3, int64_t * a4, int64_t a5, int64_t a6);
// int64_t _3f__3f_0wxInputStream_40__40_QEAA_40_XZ(void);
// int64_t _3f__3f_0wxList_40__40_QEAA_40_H_40_Z(int64_t a1, int32_t a2);
// int64_t _3f__3f_0wxModule_40__40_QEAA_40_XZ(int64_t a1);
// int64_t _3f__3f_0wxObject_40__40_QEAA_40_XZ(int64_t a1);
// int64_t _3f__3f_0wxOutputStream_40__40_QEAA_40_XZ(int64_t a1);
// int64_t _3f__3f_0wxServerBase_40__40_QEAA_40_XZ(int64_t a1);
// int64_t _3f__3f_0wxString_40__40_QEAA_40__W_K_40_Z(int64_t * a1, int64_t a2, int64_t a3);
// int64_t _3f__3f_0wxString_40__40_QEAA_40_AEBV0_40__40_Z(int64_t a1, int64_t a2);
// int64_t _3f__3f_0wxString_40__40_QEAA_40_AEBV0_40__K1_40_Z(int64_t * a1, int64_t a2, int64_t a3, int64_t a4);
// int64_t _3f__3f_0wxString_40__40_QEAA_40_AEBV0_40__K_40_Z(int64_t * a1, int64_t * a2, int64_t a3);
// int64_t _3f__3f_0wxString_40__40_QEAA_40_PEB_W_40_Z(int64_t * a1, int64_t a2, int64_t a3);
// int64_t _3f__3f_0wxString_40__40_QEAA_40_PEBD_40_Z(int64_t * a1, int64_t a2);
// int64_t _3f__3f_0wxString_40__40_QEAA_40_Vconst_iterator_40_0_40_0_40_Z(int64_t * a1, int64_t a2, int64_t a3);
// int64_t _3f__3f_0wxString_40__40_QEAA_40_XZ(int64_t a1);
// int64_t _3f__3f_0wxStringEqual_40__40_QEAA_40_XZ(int64_t * a1);
// int64_t _3f__3f_0wxStringHash_40__40_QEAA_40_XZ(int64_t * a1);
// int64_t _3f__3f_0wxStringTokenizer_40__40_QEAA_40_AEBVwxString_40__40_0W4wxStringTokenizerMode_40__40__40_Z(int64_t * a1, int64_t * a2, int64_t * a3, int32_t a4);
// int64_t _3f__3f_0wxStringTokenizer_40__40_QEAA_40_XZ(int64_t * a1);
// int64_t _3f__3f_0wxStringToNumHashMap_40__40_QEAA_40__KUwxStringHash_40__40_UwxStringEqual_40__40__40_Z(int64_t a1, int64_t a2, char a3, char a4);
// int64_t _3f__3f_0wxStringToStringHashMap_40__40_QEAA_40__KUwxStringHash_40__40_UwxStringEqual_40__40__40_Z(int64_t a1, int64_t a2, char a3, char a4);
// int64_t _3f__3f_0wxUniChar_40__40_QEAA_40__W_40_Z(int64_t * a1, int64_t a2);
// int64_t _3f__3f_0wxUniChar_40__40_QEAA_40_D_40_Z(int64_t * a1, int64_t * a2);
// int64_t _3f__3f_0wxURI_40__40_QEAA_40_AEBV0_40__40_Z(void);
// int64_t _3f__3f_0wxURI_40__40_QEAA_40_AEBVwxString_40__40__40_Z(void);
// int64_t _3f__3f_1wxArrayString_40__40_QEAA_40_XZ(int64_t * a1);
// int64_t _3f__3f_1wxBufferedOutputStream_40__40_UEAA_40_XZ(int64_t a1);
// int64_t _3f__3f_1wxClassInfo_40__40_QEAA_40_XZ(int64_t * a1);
// int64_t _3f__3f_1wxClientBase_40__40_UEAA_40_XZ(void);
// int64_t _3f__3f_1wxConnectionBase_40__40_UEAA_40_XZ(int64_t a1);
// int64_t _3f__3f_1wxCriticalSection_40__40_QEAA_40_XZ(int64_t * a1);
// int64_t _3f__3f_1wxCriticalSectionLocker_40__40_QEAA_40_XZ(int64_t * a1, int32_t a2, int64_t a3);
// int64_t _3f__3f_1wxCStrData_40__40_QEAA_40_XZ(int64_t a1);
// int64_t _3f__3f_1wxDataInputStream_40__40_QEAA_40_XZ(int64_t a1);
// int64_t _3f__3f_1wxDataStreamBase_40__40_IEAA_40_XZ(int64_t a1);
// int64_t _3f__3f_1wxEvent_40__40_UEAA_40_XZ(int64_t a1, int64_t a2);
// int64_t _3f__3f_1wxEventFunctor_40__40_UEAA_40_XZ(int64_t a1);
// int64_t _3f__3f_1wxEventHashTable_40__40_QEAA_40_XZ(int64_t * a1);
// int64_t _3f__3f_1wxEventTableEntry_40__40_QEAA_40_XZ(int64_t * a1);
// int64_t _3f__3f_1wxEvtHandler_40__40_UEAA_40_XZ(void);
// int64_t _3f__3f_1wxFileInputStream_40__40_UEAA_40_XZ(int64_t a1);
// int64_t _3f__3f_1wxFileOutputStream_40__40_UEAA_40_XZ(int64_t * a1);
// int64_t _3f__3f_1wxFileSystemHandler_40__40_UEAA_40_XZ(void);
// int64_t _3f__3f_1wxFormatString_40__40_QEAA_40_XZ(int64_t * a1);
// int64_t _3f__3f_1wxFSFile_40__40_UEAA_40_XZ(void);
// int64_t _3f__3f_1wxInputStream_40__40_UEAA_40_XZ(int64_t a1);
// int64_t _3f__3f_1wxList_40__40_UEAA_40_XZ(int64_t a1);
// int64_t _3f__3f_1wxModule_40__40_UEAA_40_XZ(int64_t a1);
// int64_t _3f__3f_1wxObject_40__40_UEAA_40_XZ(int64_t a1);
// int64_t _3f__3f_1wxOutputStream_40__40_UEAA_40_XZ(int64_t a1);
// int64_t _3f__3f_1wxServerBase_40__40_UEAA_40_XZ(int64_t a1);
// int64_t _3f__3f_1wxString_40__40_QEAA_40_XZ(int64_t a1, int64_t a2, int64_t a3);
// int64_t _3f__3f_1wxStringTokenizer_40__40_UEAA_40_XZ(int64_t * a1);
// int64_t _3f__3f_1wxStringToNumHashMap_40__40_QEAA_40_XZ(int64_t a1);
// int64_t _3f__3f_1wxStringToStringHashMap_40__40_QEAA_40_XZ(int64_t a1);
// int64_t _3f__3f_1wxURI_40__40_UEAA_40_XZ(int64_t a1);
// int64_t _3f__3f_2_40_YAPEAX_K_40_Z(void);
// int64_t _3f__3f_3_40_YAXPEAX_40_Z(void);
// int64_t _3f__3f_4wxString_40__40_QEAAAEAV0_40__W_40_Z(int64_t * a1, int64_t a2);
// int64_t _3f__3f_4wxString_40__40_QEAAAEAV0_40_AEBV0_40__40_Z(int64_t a1, int64_t a2);
// int64_t _3f__3f_4wxString_40__40_QEAAAEAV0_40_PEB_W_40_Z(int64_t a1, int16_t * a2);
// int64_t _3f__3f_4wxURI_40__40_QEAAAEAV0_40_AEBV0_40__40_Z(void);
// int64_t _3f__3f_6wxString_40__40_QEAAAEAV0_40__K_40_Z(int64_t * a1, int64_t a2);
// int64_t _3f__3f_6wxString_40__40_QEAAAEAV0_40__W_40_Z(int64_t a1, int64_t a2);
// int64_t _3f__3f_6wxString_40__40_QEAAAEAV0_40_AEBV0_40__40_Z(int64_t a1, int64_t a2);
// int64_t _3f__3f_6wxString_40__40_QEAAAEAV0_40_H_40_Z(int64_t a1, int64_t a2);
// int64_t _3f__3f_6wxString_40__40_QEAAAEAV0_40_PEB_W_40_Z(int64_t * a1, int16_t * a2);
// int64_t _3f__3f_7wxString_40__40_QEBA_NXZ(int64_t a1);
// int64_t _3f__3f_7wxUniChar_40__40_QEBA_NXZ(int64_t a1);
// int64_t _3f__3f_8Iterator_40_wxStringToStringHashMap_wxImplementation_HashTable_40__40_QEBA_NAEBV01_40__40_Z(int64_t * a1, int64_t a2);
// int64_t _3f__3f_8wxUniChar_40__40_QEBA_N_W_40_Z(int64_t a1, int64_t a2);
// int64_t _3f__3f_9Iterator_40_wxStringToStringHashMap_wxImplementation_HashTable_40__40_QEBA_NAEBV01_40__40_Z(int64_t a1, int64_t * a2);
// int64_t _3f__3f_9type_info_40__40_QEBA_NAEBV0_40__40_Z(int64_t a1, int64_t a2);
// int64_t _3f__3f_9wxUniChar_40__40_QEBA_N_W_40_Z(int64_t a1, int64_t a2);
// int64_t _3f__3f_9wxUniCharRef_40__40_QEBA_N_W_40_Z(int64_t a1, int64_t a2);
// int64_t _3f__3f__V_40_YAXPEAX_40_Z(void);
// int64_t _3f__3f_AwxArrayString_40__40_QEAAAEAVwxString_40__40__K_40_Z(int64_t * a1, int64_t a2);
// int64_t _3f__3f_AwxString_40__40_QEAA_3f_AVwxUniCharRef_40__40_I_40_Z(int64_t * a1, int64_t * a2, int32_t a3);
// int64_t _3f__3f_AwxStringToStringHashMap_40__40_QEAAAEAVwxString_40__40_AEBV1_40__40_Z(int64_t a1, int64_t a2);
// int64_t _3f__3f_Bcompatibility_iterator_40_wxObjectList_40__40_QEBAPEAVwxObjectListNode_40__40_XZ(int64_t * a1);
// int64_t _3f__3f_BwxCStrData_40__40_QEBAPEB_WXZ(int64_t a1);
// int64_t _3f__3f_BwxFormatString_40__40_QEBAPEB_WXZ(int64_t a1);
// int64_t _3f__3f_BwxUniChar_40__40_QEBA_NXZ(int64_t a1);
// int64_t _3f__3f_BwxUniChar_40__40_QEBA_WXZ(int64_t a1);
// int64_t _3f__3f_BwxUniCharRef_40__40_QEBADXZ(int64_t a1);
// int64_t _3f__3f_Ccompatibility_iterator_40_wxObjectList_40__40_QEBAPEAVwxObjectListNode_40__40_XZ(int64_t * a1);
// int64_t _3f__3f_Cconst_iterator_40_wxStringToStringHashMap_wxImplementation_HashTable_40__40_QEBAPEBVwxStringToStringHa(int64_t a1);
// int64_t _3f__3f_Citerator_40_wxStringToStringHashMap_wxImplementation_HashTable_40__40_QEBAPEAVwxStringToStringHashMap_(int64_t a1);
// int64_t _3f__3f_Dconst_iterator_40_wxString_40__40_QEBA_3f_AVwxUniChar_40__40_XZ(int64_t * a1, int64_t * a2);
// int64_t _3f__3f_Econst_iterator_40_wxString_40__40_QEAAAEAV01_40_XZ(int64_t * a1);
// int64_t _3f__3f_Econst_iterator_40_wxStringToStringHashMap_wxImplementation_HashTable_40__40_QEAAAEAV01_40_XZ(int64_t a1);
// int64_t _3f__3f_Eiterator_40_wxStringToStringHashMap_wxImplementation_HashTable_40__40_QEAAAEAV01_40_XZ(int64_t a1);
// int64_t _3f__3f_GwxLongLongNative_40__40_QEBA_3f_AV0_40_AEBV0_40__40_Z(int64_t * a1, int64_t * a2, int64_t a3);
// int64_t _3f__3f_H_40_YA_3f_AVwxString_40__40_AEBV0_40_0_40_Z(int64_t * a1, int64_t a2, int64_t a3);
// int64_t _3f__3f_H_40_YA_3f_AVwxString_40__40_AEBV0_40_PEB_W_40_Z(int64_t * a1, int64_t a2, int64_t * a3);
// int64_t _3f__3f_H_40_YA_3f_AVwxString_40__40_PEB_WAEBV0_40__40_Z(int64_t * a1, int16_t * a2, int64_t a3);
// int64_t _3f__3f_H_40_YA_3f_AVwxString_40__40_PEBDAEBV0_40__40_Z(int64_t * a1, char * a2, int64_t a3);
// int64_t _3f__3f_Hiterator_40_wxString_40__40_QEBA_3f_AV01_40__J_40_Z(int64_t a1, int64_t * a2, int64_t a3);
// int64_t _3f__3f_HwxCStrData_40__40_QEBA_3f_AV0_40__K_40_Z(int64_t a1, int64_t * a2, int64_t a3);
// int64_t _3f__3f_HwxCStrData_40__40_QEBA_3f_AV0_40_H_40_Z(int64_t a1, int64_t * a2, int64_t a3);
// int64_t _3f__3f_HwxLongLongNative_40__40_QEBA_3f_AV0_40__J_40_Z(int64_t a1, int64_t * a2, int64_t a3);
// int64_t _3f__3f_RwxString_40__40_QEBA_3f_AV0_40__K0_40_Z(int64_t a1, int64_t * a2, int32_t a3, int64_t a4);
// int64_t _3f__3f_YwxString_40__40_QEAAAEAV0_40__W_40_Z(int64_t a1, int64_t a2);
// int64_t _3f__3f_YwxString_40__40_QEAAAEAV0_40_AEBV0_40__40_Z(int64_t a1, int64_t * a2);
// int64_t _3f__3f_YwxString_40__40_QEAAAEAV0_40_PEB_W_40_Z(int64_t * a1, int64_t * a2);
// int64_t _3f__3f_YwxString_40__40_QEAAAEAV0_40_VwxUniChar_40__40__40_Z(int64_t a1, int32_t a2);
// int64_t _3f__type_info_dtor_internal_method_40_type_info_40__40_QEAAXXZ(void);
// int64_t _3f_Add_40_wxArrayString_40__40_QEAA_KAEBVwxString_40__40__K_40_Z(int64_t a1, int64_t * a2, int64_t a3);
// int64_t _3f_AddDependency_40_wxModule_40__40_IEAAXPEAVwxClassInfo_40__40__40_Z(int64_t a1, int64_t a2);
// int64_t _3f_AddHandler_40_wxFileSystem_40__40_SAXPEAVwxFileSystemHandler_40__40__40_Z(int64_t a1);
// int64_t _3f_AddPendingEvent_40_wxEvtHandler_40__40_UEAAXAEBVwxEvent_40__40__40_Z(void);
// int64_t _3f_AfterFirst_40_wxString_40__40_QEBA_3f_AV1_40_VwxUniChar_40__40__40_Z(int64_t a1, int64_t * a2, int32_t a3);
// int64_t _3f_Append_40_wxObjectList_40__40_QEAAPEAVwxObjectListNode_40__40_PEAVwxObject_40__40__40_Z(int64_t a1, int64_t a2);
// int64_t _3f_AsWCharBuf_40_wxCStrData_40__40_QEBA_3f_BV_3f__24_wxScopedCharTypeBuffer_40__W_40__40_XZ(int64_t a1, int64_t * a2);
// int64_t _3f_BeforeFirst_40_wxString_40__40_QEBA_3f_AV1_40_VwxUniChar_40__40_PEAV1_40__40_Z(int64_t * a1, int64_t * a2, int32_t a3, int32_t a4);
// int64_t _3f_BeforeLast_40_wxString_40__40_QEBA_3f_AV1_40_VwxUniChar_40__40_PEAV1_40__40_Z(int64_t a1, int64_t a2, int32_t a3, int32_t a4);
// int64_t _3f_begin_40_wxString_40__40_QEAA_3f_AViterator_40_1_40_XZ(int64_t a1, int64_t * a2);
// int64_t _3f_begin_40_wxStringToStringHashMap_wxImplementation_HashTable_40__40_QEAA_3f_AViterator_40_1_40_XZ(int64_t a1, int64_t a2);
// int64_t _3f_begin_40_wxStringToStringHashMap_wxImplementation_HashTable_40__40_QEBA_3f_AVconst_iterator_40_1_40_XZ(int64_t a1, int64_t a2);
// int64_t _3f_BuildURI_40_wxURI_40__40_QEBA_3f_AVwxString_40__40_XZ(int64_t a1, int64_t * a2);
// int64_t _3f_c_str_40_wxString_40__40_QEBA_3f_AVwxCStrData_40__40_XZ(int64_t a1, int64_t * a2);
// int64_t _3f_CanRead_40_wxInputStream_40__40_UEBA_NXZ(void);
// int64_t _3f_CheckBuildOptions_40_wxAppConsoleBase_40__40_SA_NPEBD0_40_Z(char * a1, char * a2);
// int64_t _3f_clear_40_wxString_40__40_QEAAXXZ(int64_t a1);
// int64_t _3f_clear_40_wxStringToStringHashMap_wxImplementation_HashTable_40__40_QEAAXXZ(int64_t a1);
// int64_t _3f_CloneRefData_40_wxObject_40__40_MEBAPEAVwxRefCounter_40__40_PEBV2_40__40_Z(void);
// int64_t _3f_Close_40_wxFile_40__40_QEAA_NXZ(int64_t a1);
// int64_t _3f_Close_40_wxOutputStream_40__40_UEAA_NXZ(void);
// int64_t _3f_Cmp_40_wxString_40__40_QEBAHAEBV1_40__40_Z(int64_t a1, int64_t a2);
// int64_t _3f_Cmp_40_wxString_40__40_QEBAHPEB_W_40_Z(int64_t * a1, int16_t * a2);
// int64_t _3f_CmpNoCase_40_wxString_40__40_QEBAHAEBV1_40__40_Z(int64_t a1, int64_t a2);
// int64_t _3f_compare_40_wxString_40__40_QEBAH_K0AEBV1_40__40_Z(int64_t * a1, int32_t a2, int64_t a3, int64_t * a4);
// int64_t _3f_Contains_40_wxString_40__40_QEBA_NAEBV1_40__40_Z(int64_t a1, int64_t a2);
// int64_t _3f_Create_40_wxURI_40__40_QEAA_NAEBVwxString_40__40__40_Z(void);
// int64_t _3f_CreateObject_40_wxClassInfo_40__40_QEBAPEAVwxObject_40__40_XZ(int64_t a1);
// int64_t _3f_CreateRefData_40_wxObject_40__40_MEBAPEAVwxRefCounter_40__40_XZ(void);
// int64_t _3f_CreateTempFileName_40_wxFileName_40__40_SA_3f_AVwxString_40__40_AEBV2_40__40_Z(int64_t * a1, int64_t * a2);
// int64_t _3f_DoFormatWchar_40_wxString_40__40_CA_3f_AV1_40_PEB_WZZ(int64_t a1, int64_t a2, int64_t a3, int64_t a4);
// int64_t _3f_DoGetClientData_40_wxEvtHandler_40__40_MEBAPEAXXZ(void);
// int64_t _3f_DoGetClientObject_40_wxEvtHandler_40__40_MEBAPEAVwxClientData_40__40_XZ(void);
// int64_t _3f_DoPrintfWchar_40_wxString_40__40_AEAAHPEB_WZZ(int64_t * a1, int64_t a2, int64_t a3, int64_t a4);
// int64_t _3f_DoSetClientData_40_wxEvtHandler_40__40_MEAAXPEAX_40_Z(void);
// int64_t _3f_DoSetClientObject_40_wxEvtHandler_40__40_MEAAXPEAVwxClientData_40__40__40_Z(void);
// int64_t _3f_Empty_40_wxArrayString_40__40_QEAAXXZ(int64_t a1);
// int64_t _3f_empty_40_wxString_40__40_QEBA_NXZ(int64_t a1, int64_t a2);
// int64_t _3f_end_40_wxString_40__40_QEAA_3f_AViterator_40_1_40_XZ(int64_t a1, int64_t * a2);
// int64_t _3f_end_40_wxStringToStringHashMap_wxImplementation_HashTable_40__40_QEAA_3f_AViterator_40_1_40_XZ(int64_t a1, int64_t * a2);
// int64_t _3f_end_40_wxStringToStringHashMap_wxImplementation_HashTable_40__40_QEBA_3f_AVconst_iterator_40_1_40_XZ(int64_t a1, int64_t * a2);
// int64_t _3f_Eof_40_wxInputStream_40__40_UEBA_NXZ(void);
// int64_t _3f_Erase_40_wxObjectList_40__40_QEAAXPEAVwxObjectListNode_40__40__40_Z(int64_t a1, int64_t a2);
// int64_t _3f_find_40_wxString_40__40_QEBA_K_W_K_40_Z(int64_t a1, int64_t a2, int32_t a3);
// int64_t _3f_find_40_wxString_40__40_QEBA_KD_K_40_Z(int64_t a1, int64_t a2, int32_t a3);
// int64_t _3f_Find_40_wxString_40__40_QEBAH_W_N_40_Z(int64_t a1, int64_t a2, int32_t a3);
// int64_t _3f_FindClass_40_wxClassInfo_40__40_SAPEAV1_40_AEBVwxString_40__40__40_Z(int64_t * a1);
// int64_t _3f_FindFirst_40_wxFileSystemHandler_40__40_UEAA_3f_AVwxString_40__40_AEBV2_40_H_40_Z(void);
// int64_t _3f_FindNext_40_wxFileSystemHandler_40__40_UEAA_3f_AVwxString_40__40_XZ(void);
// int64_t _3f_FormatV_40_wxString_40__40_SA_3f_AV1_40_AEBV1_40_PEAD_40_Z(int64_t * a1, int64_t * a2, int64_t * a3);
// int64_t _3f_FromAscii_40_wxString_40__40_SA_3f_AV1_40_PEBD_40_Z(int64_t * a1, int64_t a2);
// int64_t _3f_FromUTF8_40_wxString_40__40_SA_3f_AV1_40_PEBD_K_40_Z(int64_t a1, int64_t a2, int64_t a3);
// int64_t _3f_get_40__3f__24_wxArgNormalizerWchar_40_AEBVwxCStrData_40__40__40__40_QEBAPEB_WXZ(int64_t * a1);
// int64_t _3f_get_40__3f__24_wxArgNormalizerWchar_40_AEBVwxString_40__40__40__40_QEBAPEB_WXZ(int64_t * a1);
// int64_t _3f_Get_40_wxTranslations_40__40_SAPEAV1_40_XZ(void);
// int64_t _3f_GetAnchor_40_wxFileSystemHandler_40__40_KA_3f_AVwxString_40__40_AEBV2_40__40_Z(int64_t * a1, int64_t a2);
// int64_t _3f_GetArgumentType_40_wxFormatString_40__40_QEBA_3f_AW4ArgumentType_40_1_40_I_40_Z(int64_t a1, int64_t a2);
// int64_t _3f_GetBufferAtLeast_40_wxConnectionBase_40__40_QEAAPEAX_K_40_Z(int64_t a1);
// int64_t _3f_GetChar_40_wxString_40__40_QEBA_3f_AVwxUniChar_40__40__K_40_Z(int64_t a1, int64_t * a2, int32_t a3);
// int64_t _3f_GetClassInfo_40_wxEvtHandler_40__40_UEBAPEAVwxClassInfo_40__40_XZ(void);
// int64_t _3f_GetClassInfo_40_wxFileSystemHandler_40__40_UEBAPEAVwxClassInfo_40__40_XZ(void);
// int64_t _3f_GetClassInfo_40_wxFSFile_40__40_UEBAPEAVwxClassInfo_40__40_XZ(void);
// int64_t _3f_GetClassInfo_40_wxInputStream_40__40_UEBAPEAVwxClassInfo_40__40_XZ(void);
// int64_t _3f_GetClassInfo_40_wxObject_40__40_UEBAPEAVwxClassInfo_40__40_XZ(void);
// int64_t _3f_GetClassInfo_40_wxOutputStream_40__40_UEBAPEAVwxClassInfo_40__40_XZ(void);
// int64_t _3f_GetCount_40_wxArrayString_40__40_QEBA_KXZ(int64_t * a1);
// int64_t _3f_GetCurrentId_40_wxThread_40__40_SAKXZ(void);
// int64_t _3f_GetData_40_wxObjectListNode_40__40_QEBAPEAVwxObject_40__40_XZ(int64_t a1);
// int64_t _3f_GetEventObject_40_wxEvent_40__40_QEBAPEAVwxObject_40__40_XZ(int64_t a1);
// int64_t _3f_GetInstance_40_wxAppConsoleBase_40__40_SAPEAVwxAppConsole_40__40_XZ(void);
// int64_t _3f_GetLast_40_wxObjectList_40__40_QEBAPEAVwxObjectListNode_40__40_XZ(int64_t a1);
// int64_t _3f_GetLength_40_wxFileInputStream_40__40_UEBA_JXZ(void);
// int64_t _3f_GetLength_40_wxStreamBase_40__40_UEBA_JXZ(void);
// int64_t _3f_GetProtocol_40_wxFileSystemHandler_40__40_KA_3f_AVwxString_40__40_AEBV2_40__40_Z(int64_t * a1, int64_t a2);
// int64_t _3f_GetSize_40_wxStreamBase_40__40_UEBA_KXZ(void);
// int64_t _3f_GetTraits_40_wxAppConsoleBase_40__40_QEAAPEAVwxAppTraits_40__40_XZ(int64_t a1);
// int64_t _3f_GetTranslatedString_40_wxTranslations_40__40_QEBAPEBVwxString_40__40_AEBV2_40_0_40_Z(int64_t a1, int64_t * a2, int64_t a3);
// int64_t _3f_GetUntranslatedString_40_wxTranslations_40__40_SAAEBVwxString_40__40_AEBV2_40__40_Z(int64_t * a1);
// int64_t _3f_GetUntypedNullData_40_wxPrivate_40__40_YAPEAUUntypedBufferData_40_1_40_XZ(int64_t a1);
// int64_t _3f_GetValue_40_wxUniChar_40__40_QEBAIXZ(int64_t a1);
// int64_t _3f_GetValue_40_wxUniCharRef_40__40_QEBAIXZ(int64_t a1);
// int64_t _3f_IsAllowedTraceMask_40_wxLog_40__40_SA_NAEBVwxString_40__40__40_Z(int64_t a1);
// int64_t _3f_IsEmpty_40_wxArrayString_40__40_QEBA_NXZ(int64_t * a1);
// int64_t _3f_IsKindOf_40_wxClassInfo_40__40_QEBA_NPEBV1_40__40_Z(int64_t a1, int64_t a2);
// int64_t _3f_IsLevelEnabled_40_wxLog_40__40_SA_NKVwxString_40__40__40_Z(int64_t a1, int64_t a2);
// int64_t _3f_IsMain_40_wxThread_40__40_SA_NXZ(void);
// int64_t _3f_IsMainLoopRunning_40_wxAppConsoleBase_40__40_SA_NXZ(void);
// int64_t _3f_IsOk_40_wxFileInputStream_40__40_UEBA_NXZ(void);
// int64_t _3f_IsOk_40_wxStreamBase_40__40_UEBA_NXZ(void);
// int64_t _3f_IsSameAs_40_wxString_40__40_QEBA_NAEBV1_40__N_40_Z(int64_t a1, int64_t a2, int64_t a3);
// int64_t _3f_IsSameAs_40_wxString_40__40_QEBA_NPEB_W_N_40_Z(int64_t a1, int16_t * a2, int64_t a3);
// int64_t _3f_IsSeekable_40_wxFileInputStream_40__40_UEBA_NXZ(void);
// int64_t _3f_IsSeekable_40_wxStreamBase_40__40_UEBA_NXZ(void);
// int64_t _3f_Last_40_wxString_40__40_QEAA_3f_AVwxUniCharRef_40__40_XZ(int64_t a1, int64_t * a2);
// int64_t _3f_LastRead_40_wxInputStream_40__40_UEBA_KXZ(void);
// int64_t _3f_LastWrite_40_wxOutputStream_40__40_UEBA_KXZ(void);
// int64_t _3f_Left_40_wxString_40__40_QEBA_3f_AV1_40__K_40_Z(int64_t a1, int64_t * a2, int64_t a3);
// int64_t _3f_Len_40_wxString_40__40_QEBA_KXZ(int64_t * a1);
// int64_t _3f_length_40_wxString_40__40_QEBA_KXZ(int64_t * a1);
// int64_t _3f_Load_40_wxDynamicLibrary_40__40_QEAA_NAEBVwxString_40__40_H_40_Z(int64_t * a1, int64_t * a2, int64_t a3);
// int64_t _3f_mb_str_40_wxString_40__40_QEBA_3f_BV_3f__24_wxScopedCharTypeBuffer_40_D_40__40_AEBVwxMBConv_40__40__40_Z(int64_t * a1, int64_t * a2, int64_t a3);
// int64_t _3f_Mid_40_wxString_40__40_QEBA_3f_AV1_40__K0_40_Z(int64_t a1, int64_t * a2, int64_t a3, int64_t a4);
// int64_t _3f_NextToken_40_wxStringTokenizer_40__40_QEAA_3f_AVwxString_40__40_XZ(int64_t * a1, int64_t * a2);
// int64_t _3f_Now_40_wxDateTime_40__40_SA_3f_AV1_40_XZ(int64_t * a1);
// int64_t _3f_OnAdvise_40_wxConnectionBase_40__40_UEAA_NAEBVwxString_40__40_0PEBX_KW4wxIPCFormat_40__40__40_Z(void);
// int64_t _3f_OnDisconnect_40_wxConnectionBase_40__40_UEAA_NXZ(void);
// int64_t _3f_OnExec_40_wxConnectionBase_40__40_UEAA_NAEBVwxString_40__40_0_40_Z(void);
// int64_t _3f_OnExecute_40_wxConnectionBase_40__40_UEAA_NAEBVwxString_40__40_PEBX_KW4wxIPCFormat_40__40__40_Z(void);
// int64_t _3f_OnLog_40_wxLog_40__40_SAXKAEBVwxString_40__40_AEBVwxLogRecordInfo_40__40__40_Z(int64_t a1, int64_t a2, int64_t a3);
// int64_t _3f_OnPoke_40_wxConnectionBase_40__40_UEAA_NAEBVwxString_40__40_0PEBX_KW4wxIPCFormat_40__40__40_Z(void);
// int64_t _3f_OnRequest_40_wxConnectionBase_40__40_UEAAPEBXAEBVwxString_40__40_0PEA_KW4wxIPCFormat_40__40__40_Z(void);
// int64_t _3f_OnStartAdvise_40_wxConnectionBase_40__40_UEAA_NAEBVwxString_40__40_0_40_Z(void);
// int64_t _3f_OnStopAdvise_40_wxConnectionBase_40__40_UEAA_NAEBVwxString_40__40_0_40_Z(void);
// int64_t _3f_OnSysRead_40_wxFileInputStream_40__40_MEAA_KPEAX_K_40_Z(void);
// int64_t _3f_OnSysSeek_40_wxFileInputStream_40__40_MEAA_J_JW4wxSeekMode_40__40__40_Z(void);
// int64_t _3f_OnSysTell_40_wxFileInputStream_40__40_MEBA_JXZ(void);
// int64_t _3f_Peek_40_wxInputStream_40__40_UEAADXZ(void);
// int64_t _3f_Printf_40_wxString_40__40_QEAAHAEBVwxFormatString_40__40__40_Z(int64_t a1, int64_t * a2);
// int64_t _3f_ProcessEvent_40_wxEvtHandler_40__40_UEAA_NAEAVwxEvent_40__40__40_Z(void);
// int64_t _3f_QueueEvent_40_wxEvtHandler_40__40_UEAAXPEAVwxEvent_40__40__40_Z(void);
// int64_t _3f_RawGetSymbol_40_wxDynamicLibrary_40__40_SAPEAXPEAUHINSTANCE___40__40_AEBVwxString_40__40__40_Z(int64_t a1, int64_t * a2);
// int64_t _3f_Read32_40_wxDataInputStream_40__40_QEAAIXZ(int64_t a1);
// int64_t _3f_Read8_40_wxDataInputStream_40__40_QEAAEXZ(int64_t a1);
// int64_t _3f_Read_40_wxInputStream_40__40_QEAAAEAV1_40_AEAVwxOutputStream_40__40__40_Z(int64_t a1, int64_t * a2);
// int64_t _3f_Read_40_wxInputStream_40__40_UEAAAEAV1_40_PEAX_K_40_Z(void);
// int64_t _3f_ReadString_40_wxDataInputStream_40__40_QEAA_3f_AVwxString_40__40_XZ(int64_t a1, int64_t a2);
// int64_t _3f_RemoveHandler_40_wxFileSystem_40__40_SAPEAVwxFileSystemHandler_40__40_PEAV2_40__40_Z(int64_t a1);
// int64_t _3f_RemoveLast_40_wxString_40__40_QEAAAEAV1_40__K_40_Z(int64_t a1, int64_t a2);
// int64_t _3f_Replace_40_wxString_40__40_QEAA_KAEBV1_40_0_N_40_Z(int64_t a1, int64_t * a2, int64_t * a3, int64_t a4);
// int64_t _3f_ScheduleForDestruction_40_wxAppConsoleBase_40__40_QEAAXPEAVwxObject_40__40__40_Z(int64_t a1, int64_t a2);
// int64_t _3f_SearchEventTable_40_wxEvtHandler_40__40_UEAA_NAEAUwxEventTable_40__40_AEAVwxEvent_40__40__40_Z(void);
// int64_t _3f_SeekI_40_wxInputStream_40__40_UEAA_J_JW4wxSeekMode_40__40__40_Z(void);
// int64_t _3f_SeekO_40_wxOutputStream_40__40_UEAA_J_JW4wxSeekMode_40__40__40_Z(void);
// int64_t _3f_SetEventObject_40_wxEvent_40__40_QEAAXPEAVwxObject_40__40__40_Z(int64_t * a1, int64_t a2);
// int64_t _3f_SetNextHandler_40_wxEvtHandler_40__40_UEAAXPEAV1_40__40_Z(void);
// int64_t _3f_SetPreviousHandler_40_wxEvtHandler_40__40_UEAAXPEAV1_40__40_Z(void);
// int64_t _3f_size_40_wxArrayString_40__40_QEBA_KXZ(int64_t * a1);
// int64_t _3f_size_40_wxStringToStringHashMap_wxImplementation_HashTable_40__40_QEBA_KXZ(int64_t a1);
// int64_t _3f_StartsWith_40_wxString_40__40_QEBA_NAEBV1_40_PEAV1_40__40_Z(int64_t a1, int64_t * a2, int64_t * a3);
// int64_t _3f_Strip_40_wxString_40__40_QEBA_3f_AV1_40_W4stripType_40_1_40__40_Z(int64_t a1, int64_t * a2, int64_t a3);
// int64_t _3f_Sync_40_wxOutputStream_40__40_UEAAXXZ(void);
// int64_t _3f_TellI_40_wxInputStream_40__40_UEBA_JXZ(void);
// int64_t _3f_TellO_40_wxOutputStream_40__40_UEBA_JXZ(void);
// int64_t _3f_terminate_40__40_YAXXZ(void);
// int64_t _3f_To8BitData_40_wxString_40__40_QEBA_3f_BV_3f__24_wxScopedCharTypeBuffer_40_D_40__40_XZ(int64_t a1, int64_t * a2);
// int64_t _3f_ToLong_40_wxLongLongNative_40__40_QEBAJXZ(int64_t * a1);
// int64_t _3f_ToULong_40_wxString_40__40_QEBA_NPEAKH_40_Z(int64_t a1, int64_t * a2, int64_t a3);
// int64_t _3f_TryAfter_40_wxEvtHandler_40__40_MEAA_NAEAVwxEvent_40__40__40_Z(void);
// int64_t _3f_TryBefore_40_wxEvtHandler_40__40_MEAA_NAEAVwxEvent_40__40__40_Z(void);
// int64_t _3f_TryParent_40_wxEvtHandler_40__40_MEAA_NAEAVwxEvent_40__40__40_Z(void);
// int64_t _3f_TryValidator_40_wxEvtHandler_40__40_MEAA_NAEAVwxEvent_40__40__40_Z(void);
// int64_t _3f_Unescape_40_wxURI_40__40_SA_3f_AVwxString_40__40_AEBV2_40__40_Z(int64_t * a1, int64_t a2);
// int64_t _3f_Unload_40_wxDynamicLibrary_40__40_SAXPEAUHINSTANCE___40__40__40_Z(int64_t a1);
// int64_t _3f_Upper_40_wxString_40__40_QEBA_3f_AV1_40_XZ(int64_t a1, int64_t * a2);
// int64_t _3f_utf8_str_40_wxString_40__40_QEBA_3f_BV_3f__24_wxScopedCharTypeBuffer_40_D_40__40_XZ(int64_t a1, int64_t * a2);
// int64_t _3f_wc_str_40_wxString_40__40_QEBAPEB_WXZ(int64_t * a1);
// int64_t _3f_Write32_40_wxDataOutputStream_40__40_QEAAXI_40_Z(int64_t a1, int64_t a2);
// int64_t _3f_Write8_40_wxDataOutputStream_40__40_QEAAXE_40_Z(int64_t a1, int64_t a2, int64_t a3, int64_t a4);
// int64_t _3f_Write_40_wxOutputStream_40__40_UEAAAEAV1_40_PEBX_K_40_Z(void);
// int64_t _3f_WriteString_40_wxDataOutputStream_40__40_QEAAXAEBVwxString_40__40__40_Z(int64_t a1, int64_t a2);
// int64_t _3f_wxGet_wxConvLibcPtr_40__40_YAPEAVwxMBConv_40__40_XZ(void);
// int64_t _3f_wxGet_wxConvUTF8Ptr_40__40_YAPEAVwxMBConvStrictUTF8_40__40_XZ(void);
// int64_t _3f_wxGetFullHostName_40__40_YA_3f_AVwxString_40__40_XZ(int64_t * a1);
// int64_t _3f_wxGetLocalTimeMillis_40__40_YA_3f_AVwxLongLongNative_40__40_XZ(int64_t * a1);
// int64_t _3f_wxGetUserId_40__40_YA_3f_AVwxString_40__40_XZ(int64_t * a1);
// int64_t _3f_wxNewEventType_40__40_YAHXZ(void);
// int64_t _3f_wxOnAssert_40__40_YAXPEBDH000_40_Z(char * a1, int64_t a2, char * a3, char * a4);
// int64_t _3f_wxOnAssert_40__40_YAXPEBDH00PEB_W_40_Z(int64_t a1, int64_t a2, int64_t a3, char * a4, int64_t a5);
// int64_t _3f_wxRemoveFile_40__40_YA_NAEBVwxString_40__40__40_Z(int64_t a1);
// int64_t __C_specific_handler(void);
// int64_t __clean_type_info_names_internal(void);
// int __cdecl __CppXcptFilter(unsigned long ExceptionNum, struct _EXCEPTION_POINTERS * ExceptionPtr);
// int64_t __crt_debugger_hook(void);
// int64_t __CxxFrameHandler3(void);
// _onexit_t __dllonexit(_onexit_t func, _PVFV ** pbegin, _PVFV ** pend);
// int64_t __RTtypeid(void);
// int __WSAFDIsSet(SOCKET fd, fd_set *);
// void _amsg_exit(int rterrnum);
// int64_t _decode_pointer(int64_t a1);
// int64_t _encoded_null(void);
// void __cdecl _initterm(_In_ _PVFV * First, _In_ _PVFV * Last);
// int __cdecl _initterm_e(_PIFV * First, _In_ _PIFV * Last);
// void __cdecl _lock(int locknum);
// int64_t _purecall(void);
// __time64_t __cdecl _time64(_Out_opt_ __time64_t * Time);
// void __cdecl _unlock(int locknum);
// wchar_t * __cdecl _wgetenv(_In_z_ wchar_t const * VarName);
// int __cdecl _wtoi(_In_z_ wchar_t const * String);
// SOCKET accept(_In_ SOCKET s, struct sockaddr * addr, _Inout_opt_ int * addrlen);
// int bind(_In_ SOCKET s, const struct sockaddr * name, _In_ int namelen);
// void * calloc(size_t nmemb, size_t size);
// int closesocket(_In_ SOCKET s);
// int connect(_In_ SOCKET s, const struct sockaddr * name, _In_ int namelen);
// LRESULT DefWindowProcW(_In_ HWND hWnd, _In_ UINT Msg, _In_ WPARAM wParam, _In_ LPARAM lParam);
// BOOL DestroyWindow(_In_ HWND hWnd);
// void free(void * ptr);
// HANDLE GetCurrentProcess(VOID);
// struct hostent * gethostbyaddr(const char * addr, _In_ int len, _In_ int type);
// struct hostent * gethostbyname(_In_z_ const char * name);
// struct servent * getservbyname(_In_z_ const char * name, const char * proto);
// int getsockname(_In_ SOCKET s, struct sockaddr * name, _Inout_ int * namelen);
// int getsockopt(_In_ SOCKET s, _In_ int level, _In_ int optname, char * optval, _Inout_ int * optlen);
// u_long htonl(_In_ u_long hostlong);
// u_short htons(_In_ u_short hostshort);
// unsigned long inet_addr(_In_z_ const char * cp);
// BOOL IsDebuggerPresent(VOID);
// int listen(_In_ SOCKET s, _In_ int backlog);
// void * malloc(size_t size);
// void * memcpy(void * restrict dest, const void * restrict src, size_t n);
// u_long ntohl(_In_ u_long netlong);
// u_short ntohs(_In_ u_short netshort);
// BOOL PeekMessageW(_Out_ LPMSG lpMsg, _In_opt_ HWND hWnd, _In_ UINT wMsgFilterMin, _In_ UINT wMsgFilterMax, _In_ UINT wRemoveMsg);
// void * realloc(void * ptr, size_t size);
// int recv(_In_ SOCKET s, char * buf, _In_ int len, _In_ int flags);
// int recvfrom(_In_ SOCKET s, char * buf, _In_ int len, _In_ int flags, struct sockaddr * from, _Inout_opt_ int * fromlen);
// VOID RtlCaptureContext(_Out_ PCONTEXT ContextRecord);
// PRUNTIME_FUNCTION RtlLookupFunctionEntry(_In_ ULONG64 ControlPc, _Out_ PULONG64 ImageBase, _Inout_opt_ PUNWIND_HISTORY_TABLE HistoryTable);
// PEXCEPTION_ROUTINE RtlVirtualUnwind(_In_ ULONG HandlerType, _In_ ULONG64 ImageBase, _In_ ULONG64 ControlPc, _In_ PRUNTIME_FUNCTION FunctionEntry, _Inout_ PCONTEXT ContextRecord, _Out_ PVOID * HandlerData, _Out_ PULONG64 EstablisherFrame, _Inout_opt_ PKNONVOLATILE_CONTEXT_POINTERS ContextPointers);
// int select(_In_ int nfds, _Inout_opt_ fd_set * readfds, _Inout_opt_ fd_set * writefds, _Inout_opt_ fd_set * exceptfds, _In_opt_ const struct timeval * timeout);
// int send(_In_ SOCKET s, const char * buf, _In_ int len, _In_ int flags);
// int sendto(_In_ SOCKET s, const char * buf, _In_ int len, _In_ int flags, const struct sockaddr * to, _In_ int tolen);
// int setsockopt(_In_ SOCKET s, _In_ int level, _In_ int optname, const char * optval, _In_ int optlen);
// LPTOP_LEVEL_EXCEPTION_FILTER SetUnhandledExceptionFilter(_In_opt_ LPTOP_LEVEL_EXCEPTION_FILTER lpTopLevelExceptionFilter);
// int shutdown(_In_ SOCKET s, _In_ int how);
// VOID Sleep(_In_ DWORD dwMilliseconds);
// SOCKET socket(_In_ int af, _In_ int type, _In_ int protocol);
// char * strchr(char * s, int c);
// int swscanf(const wchar_t * restrict s, const wchar_t * restrict format, ...);
// BOOL TerminateProcess(_In_ HANDLE hProcess, _In_ UINT uExitCode);
// LONG UnhandledExceptionFilter(_In_ struct _EXCEPTION_POINTERS * ExceptionInfo);
// BOOL UnregisterClassW(_In_ LPCWSTR lpClassName, _In_opt_ HINSTANCE hInstance);
// int WSACleanup(void);
// int WSAGetLastError(void);
// int WSAStartup(_In_ WORD wVersionRequested, _Out_ LPWSADATA lpWSAData);
// int64_t wxCreateHiddenWindow(int64_t * a1, int16_t * a2, int64_t a3);
// int64_t wxGetInstance(void);
 
// --------------------- Meta-Information ---------------------
 
// Detected compiler/packer: microsoft linker (9.0)
// Detected functions: 1176
// Decompilation date: 2020-02-03 13:47:18
  • windows/avast/retdec_decompiler_output/wxbase30u_net_vc90_x64.dll.c.txt
  • 最終更新: 2020/02/03 16:49
  • by ともやん