Function at 0x405940
Capabilities:
Check mutex on windows
Get socket status
Initialize winsock library
Receive data
Receive data on socket

Disassembly:
lea ecx, [esp + 4]
and esp, 0xfffffff0
push dword [ecx - 4]
push ebp
mov ebp, esp
push edi
push esi
push ebx
push ecx
sub esp, 0x388
call dbg.__main
mov dword [esp], 0x2710
call dbg.sleep
lea eax, [ebp - 0x1a8]
mov dword [ebp - 0x34c], 0
mov dword [ebp - 0x340], 0
mov dword [ebp - 0x33c], 0
mov dword [esp + 4], eax
mov dword [esp], 0x202
call dword [sym.imp.WS2_32.dll_WSAStartup]
sub esp, 8
test eax, eax
je 0x405a61
mov eax, dword [ebp - 0x340]
mov edx, dword [ebp - 0x33c]
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0
mov dword [esp], eax
mov dword [esp + 4], edx
call sym._Send_IcaMeta
mov eax, dword [ebp - 0x340]
test eax, eax
je 0x405a52
mov dword [esp], eax
or ebx, 0xffffffff
call sym._WFVirtualChannelClose_4
push ecx
mov eax, dword [ebp - 0x33c]
test eax, eax
je 0x405a1a
mov dword [esp], eax
call sym._IcaPacketQueue_Close
mov dword [ebp - 0x33c], 0
mov eax, dword [ebp - 0x340]
test eax, eax
je 0x405a2d
mov dword [esp], eax
call sym._WFVirtualChannelClose_4
push esi
mov eax, dword [0x40b03c]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
sub esp, 4
call dword [sym.imp.WS2_32.dll_WSACleanup]
lea esp, [ebp - 0x10]
mov eax, ebx
pop ecx
pop ebx
pop esi
pop edi
pop ebp
lea esp, [ecx - 4]
ret
mov eax, dword [ebp - 0x33c]
or ebx, 0xffffffff
test eax, eax
jne 0x405a08
jmp 0x405a2d
lea eax, [ebp - 0x340]
mov dword [esp], eax
call sym._OpenVC
add eax, 1
je 0x4059a8
mov dword [esp + 4], 0x800
mov dword [esp], 0x3e8
call sym._calloc
mov dword [ebp - 0x35c], eax
mov ebx, eax
test eax, eax
je 0x4059a8
mov dword [esp], 0x138d
call sym._malloc
mov dword [ebp - 0x360], eax
test eax, eax
je 0x4066b4
mov dword [esp], 0x800
call sym._malloc
mov dword [ebp - 0x364], eax
test eax, eax
je case.0x4063cf.10038
lea eax, [ebp - 0x33c]
mov dword [esp], eax
call sym._IcaPacketQueue_Init
lea eax, [ebp - 0x34c]
mov dword [esp], eax
call sym._ConnectionManager_Init
lea eax, [ebp - 0x2b0]
mov dword [ebp - 0x2b0], 0
mov dword [0x40b040], eax
mov dword [ebp - 0x1ac], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
mov dword [0x40b03c], eax
sub esp, 0xc
test eax, eax
je case.0x4063cf.10038
mov eax, dword [ebp - 0x340]
mov edx, dword [ebp - 0x33c]
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], edx
call sym._Send_IcaMeta
test eax, eax
jne case.0x4063cf.10038
xor ebx, ebx
test ebx, ebx
jne 0x405f13
lea eax, [ebp - 0x348]
mov dword [esp + 0xc], 0x800
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x360]
mov dword [esp + 4], 0
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x340]
mov dword [esp], eax
call sym._WFVirtualChannelRead_20
sub esp, 0x14
test eax, eax
je 0x405c9c
mov eax, dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp dword [ebp - 0x348], 0
mov dword [ebp - 0x36c], eax
jne 0x405fb7
xor edi, edi
mov eax, dword [0x40b03c]
mov dword [esp + 4], 0xffffffff
mov dword [esp], eax
mov eax, dword [ebp - 0x36c]
call eax
add eax, 1
push edx
push edx
je case.0x4063cf.10038
mov dword [ebp - 0x2b0], 0
xor esi, esi
mov ebx, edi
mov dword [ebp - 0x1ac], 0
jmp 0x405c3d
cmp eax, 5
je 0x405cc0
mov eax, dword [edi + 0xc]
cmp dword [eax], 0x17ea1
mov eax, 1
cmovge ebx, eax
add esi, 1
mov eax, dword [ebp - 0x34c]
mov dword [esp], eax
call sym._ConnectionManager_GetConnectionNumber
cmp eax, esi
jle 0x405de6
cmp dword [ebp - 0x1ac], 0x3e
jg case.0x406019.4
mov eax, dword [ebp - 0x34c]
mov dword [esp + 4], esi
mov dword [esp], eax
call sym._ConnectionManager_GetConnectionByIndex
mov edi, eax
mov eax, dword [eax + 4]
cmp eax, 6
je 0x405d89
cmp eax, 4
jne 0x405c20
mov eax, dword [ebp - 0x34c]
mov dword [esp + 4], esi
mov dword [esp], eax
call sym._ConnectSocket
mov eax, dword [edi + 4]
jmp 0x405c20
call dword [sym.imp.KERNEL32.dll_GetLastError]
sub eax, 0x3e3
cmp eax, 1
ja case.0x4063cf.10038
mov eax, dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov dword [ebp - 0x36c], eax
jmp 0x405bdb
mov eax, dword [edi]
mov edx, dword [ebp - 0x33c]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x35c]
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x340]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x34c]
mov dword [esp], eax
call sym._CloseProcedure
test eax, eax
je 0x405c29
mov ebx, 1
mov eax, dword [ebp - 0x340]
mov edx, dword [ebp - 0x33c]
mov dword [esp + 0x18], 0
mov edi, dword [ebp - 0x35c]
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 1
mov dword [esp + 8], edi
mov dword [esp], eax
mov dword [esp + 4], edx
call sym._Send_IcaMeta
mov eax, dword [ebp - 0x340]
test eax, eax
je 0x405dd3
mov dword [esp], eax
call sym._WFVirtualChannelClose_4
push edx
mov dword [esp], edi
call sym._free
mov eax, dword [ebp - 0x360]
mov dword [esp], eax
call sym._free
mov eax, dword [ebp - 0x364]
test eax, eax
je 0x4059fe
mov dword [esp], eax
call sym._free
jmp 0x4059fe
mov edx, dword [ebp - 0x2b0]
mov ecx, dword [edi + 8]
xor eax, eax
test edx, edx
jne 0x405da7
jmp 0x405dc1
add eax, 1
cmp edx, eax
je 0x405dbc
cmp ecx, dword [ebp + eax*4 - 0x2ac]
jne 0x405da0
add dword [ebp - 0x1ac], 1
jmp 0x405c29
cmp edx, 0x40
je 0x405db0
add edx, 1
mov dword [ebp + eax*4 - 0x2ac], ecx
mov dword [ebp - 0x2b0], edx
jmp 0x405db0
mov eax, dword [ebp - 0x35c]
mov dword [esp], eax
call sym._free
jmp 0x405d60
mov eax, dword [0x40b03c]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov dword [ebp - 0x368], eax
call eax
push esi
test eax, eax
je case.0x4063cf.10038
mov eax, dword [0x40b03c]
mov dword [esp + 4], 0xffffffff
mov dword [esp], eax
mov eax, dword [ebp - 0x36c]
call eax
add eax, 1
push ecx
push ecx
je case.0x4063cf.10038
mov dword [ebp - 0x338], 0
mov eax, dword [ebp - 0x1ac]
mov dword [ebp - 0x334], 0
test eax, eax
jle 0x4061ea
lea edx, [ebp - 0x338]
lea ecx, [ebp - 0x2b0]
mov dword [esp], eax
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 8], 0
mov dword [esp + 4], 0
call dword [sym.imp.WS2_32.dll_select]
sub esp, 0x14
mov esi, eax
cmp eax, 0xffffffff
je 0x406242
mov eax, dword [ebp - 0x34c]
mov dword [esp], eax
call sym._ConnectionManager_GetConnectionNumber
mov edx, eax
test eax, eax
jle 0x406020
mov ecx, dword [ebp - 0x34c]
xor eax, eax
cmp dword [ecx + 4], edx
jl 0x406211
test eax, eax
jg 0x405eb5
test esi, esi
jle 0x405ef2
mov ecx, dword [ebp - 0x33c]
mov edx, 0x1388
add eax, esi
sub edx, dword [ecx]
cmp eax, edx
jle 0x406250
mov dword [esp], 0xc8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov edx, dword [ebp - 0x33c]
push eax
mov eax, dword [ebp - 0x340]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._IcaPacketQueue_Send
mov eax, dword [0x40b03c]
mov dword [esp], eax
mov eax, dword [ebp - 0x368]
call eax
push edi
test eax, eax
jne 0x405b7e
or ebx, 0xffffffff
jmp 0x405cff
mov eax, dword [0x40b03c]
mov dword [esp + 4], 0xffffffff
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov dword [ebp - 0x36c], eax
call eax
add eax, 1
push esi
push esi
je case.0x4063cf.10038
mov dword [ebp - 0x368], ebx
xor esi, esi
xor edi, edi
jmp 0x405f89
mov eax, dword [ebp - 0x34c]
mov dword [esp + 4], esi
mov dword [esp], eax
call sym._ConnectionManager_GetConnectionByIndex
mov ebx, eax
test eax, eax
je case.0x406019.4
mov eax, dword [eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ebx + 0xc]
mov dword [esp], eax
call sym._SocketQueue_SendAll
mov eax, dword [ebx + 0xc]
cmp dword [eax], 0x17ea1
cmovge edi, dword [ebp - 0x368]
add esi, 1
mov eax, dword [ebp - 0x34c]
mov dword [esp], eax
call sym._ConnectionManager_GetConnectionNumber
cmp eax, esi
jg 0x405f48
mov eax, dword [0x40b03c]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push ecx
test eax, eax
jne 0x405bdd
jmp case.0x4063cf.10038
mov esi, dword [ebp - 0x360]
mov eax, dword [esi + 1]
movzx ebx, byte [esi]
add esi, 7
mov dword [esp], eax
call dword [sym.imp.WS2_32.dll_htonl]
push edx
mov edi, eax
movzx eax, word [esi - 2]
mov dword [esp], eax
call dword [sym.imp.WS2_32.dll_htons]
push ecx
mov word [ebp - 0x368], ax
mov eax, dword [0x40b03c]
mov dword [esp + 4], 0xffffffff
mov dword [esp], eax
mov eax, dword [ebp - 0x36c]
call eax
add eax, 1
push edx
push edx
je case.0x4063cf.10038
sub ebx, 2
cmp bl, 7
ja case.0x406019.4
movzx ebx, bl
jmp dword [ebx*4 + 0x408160]
xor eax, eax
jmp 0x405ead
mov eax, dword [ebp - 0x34c]
mov dword [esp + 4], edi
mov dword [esp], eax
call sym._Handler_Ica_CloseAck
test eax, eax
jne case.0x4063cf.10038
mov eax, dword [0x40b03c]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push edi
test eax, eax
jne 0x405bdb
jmp case.0x4063cf.10038
mov eax, dword [ebp - 0x35c]
mov edx, dword [ebp - 0x33c]
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x340]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x34c]
mov dword [esp], eax
call sym._Handler_Ica_CloseRequest
test eax, eax
je 0x406041
jmp case.0x4063cf.10038
movzx eax, word [ebp - 0x368]
mov edx, dword [ebp - 0x33c]
mov dword [esp + 0x18], esi
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0x35c]
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x340]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x34c]
mov dword [esp], eax
call sym._Handler_Ica_DataPacket
test eax, eax
je 0x406041
jmp case.0x4063cf.10038
movzx eax, word [ebp - 0x368]
mov edx, dword [ebp - 0x33c]
mov dword [esp + 0x18], esi
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0x35c]
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x340]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x34c]
mov dword [esp], eax
call sym._Handler_Ica_ClientDomainCmd
test eax, eax
je 0x406041
jmp case.0x4063cf.10038
movzx eax, word [ebp - 0x368]
mov edx, dword [ebp - 0x33c]
mov dword [esp + 0x18], esi
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0x35c]
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x340]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x34c]
mov dword [esp], eax
call sym._Handler_Ica_ClientIp6Cmd
test eax, eax
je 0x406041
jmp case.0x4063cf.10038
movzx eax, word [ebp - 0x368]
mov edx, dword [ebp - 0x33c]
mov dword [esp + 0x18], esi
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0x35c]
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x340]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x34c]
mov dword [esp], eax
call sym._Handler_Ica_ClientIpCmd
test eax, eax
je 0x406041
jmp case.0x4063cf.10038
mov eax, dword [ebp - 0x360]
mov eax, dword [eax + 7]
mov dword [esp + 4], edi
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x34c]
mov dword [esp], eax
call sym._ConnectionManager_AddConnectionWindowById
jmp 0x406041
mov eax, dword [ebp - 0x34c]
mov dword [esp], eax
call sym._ConnectionManager_GetConnectionNumber
test eax, eax
jle 0x405ef2
mov ecx, dword [ebp - 0x34c]
cmp dword [ecx + 4], eax
jge 0x405ef2
xor esi, esi
mov dword [esp], ecx
call sym._ConnectionManager_GetConnectionNumber
mov dword [esp + 8], 0xa
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x34c]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call sym._WSAPoll_12
sub esp, 0xc
cmp eax, 0xffffffff
jne 0x405ead
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
or ebx, 0xffffffff
jmp 0x405cff
mov dword [ebp - 0x36c], ebx
xor esi, esi
mov eax, dword [ebp - 0x34c]
mov dword [esp], eax
call sym._ConnectionManager_GetConnectionNumber
cmp eax, esi
jle 0x4064fc
mov eax, dword [ebp - 0x340]
mov edx, dword [ebp - 0x33c]
mov dword [esp], eax
mov dword [esp + 4], edx
call sym._IcaPacketQueue_Send
mov eax, dword [ebp - 0x340]
cmp dword [eax], 0x1388
je 0x406321
mov eax, dword [ebp - 0x34c]
mov dword [esp + 4], esi
mov dword [esp], eax
call sym._ConnectionManager_GetConnectionByIndex
mov edi, eax
test eax, eax
je case.0x4063cf.10038
mov eax, dword [ebp - 0x34c]
mov dword [esp + 4], esi
mov dword [esp], eax
call sym._ConnectionManager_GetPollFdByIndex
mov ebx, eax
test eax, eax
je case.0x4063cf.10038
cmp dword [edi + 4], 8
je 0x406321
movzx eax, word [eax + 6]
test al, 1
je 0x406329
test ah, 3
jne case.0x4063cf.10038
mov eax, dword [edi]
mov edx, dword [ebp - 0x33c]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x35c]
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x340]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x34c]
mov dword [esp], eax
call sym._CloseProcedure
test eax, eax
jne case.0x4063cf.10038
add esi, 1
jmp 0x406258
test al, 4
jne case.0x40668d.10038
test al, 0x10
jne 0x4063d6
test ah, 3
jne 0x406413
and ax, 0x302
cmp ax, 2
je case.0x40668d.10038
lea eax, [ebp - 0x2b0]
mov dword [esp + 4], eax
mov eax, dword [ebx]
mov dword [esp], eax
call sym.___WSAFDIsSet_8
push edx
push edx
test eax, eax
je 0x406321
lea eax, [ebp - 0x330]
mov dword [esp + 8], 0x1007
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x344]
mov dword [ebp - 0x330], 4
mov dword [esp + 0xc], eax
mov dword [esp + 4], 0xffff
mov eax, dword [ebx]
mov dword [esp], eax
call dword [sym.imp.WS2_32.dll_getsockopt]
mov eax, dword [ebp - 0x34c]
sub esp, 0x14
mov dword [esp + 4], esi
mov dword [esp], eax
call sym._ConnectionManager_GetConnectionWindowByIndex
cmp eax, 0x7ff
jle 0x406321
mov eax, dword [ebp - 0x344]
sub eax, 0x2735
cmp eax, 0x1c
ja case.0x4063cf.10038
jmp dword [eax*4 + 0x408180]
mov dword [ebp - 0x344], pe_nt_image_headers32
lea eax, [ebp - 0x344]
mov dword [esp + 8], eax
lea eax, [ebp - 0x330]
mov dword [esp + 4], eax
mov eax, dword [ebx]
mov dword [esp], eax
call dword [sym.imp.WS2_32.dll_getpeername]
sub esp, 0xc
test eax, eax
je 0x406507
movzx eax, word [ebx + 6]
jmp 0x406335
mov eax, dword [ebp - 0x34c]
mov dword [esp + 4], esi
mov dword [esp], eax
call sym._ConnectionManager_GetConnectionWindowByIndex
cmp eax, 0x7ff
jle 0x406321
mov eax, dword [ebp - 0x364]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x800
mov dword [esp + 4], eax
mov eax, dword [ebx]
mov dword [esp], eax
call dword [sym.imp.WS2_32.dll_recv]
sub esp, 0x10
mov ecx, eax
cmp eax, 0xffffffff
je 0x40666d
mov dword [ebp - 0x348], ecx
test ecx, ecx
je case.0x40668d.10038
mov eax, dword [edi + 4]
test eax, eax
je case.0x4063cf.10038
cmp eax, 7
jne 0x4064f3
mov eax, dword [edi]
mov edx, dword [ebp - 0x364]
movzx ecx, cx
mov dword [esp + 0xc], 7
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x35c]
mov dword [esp + 0x18], edx
mov edx, dword [ebp - 0x33c]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x340]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._Send_Ica_GenericPacket
test eax, eax
jne case.0x4063cf.10038
mov eax, dword [ebp - 0x348]
mov dword [esp + 4], esi
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x34c]
mov dword [esp], eax
call sym._ConnectionManager_SubConnectionWindowByIndex
cmp dword [ebp - 0x348], 0
je case.0x40668d.10038
movzx eax, word [ebx + 6]
jmp 0x40633e
mov ebx, dword [ebp - 0x36c]
jmp 0x405ef2
mov eax, dword [ebp - 0x34c]
mov dword [esp + 4], esi
mov dword [esp], eax
call sym._ConnectionManager_GetConnectionWindowByIndex
cmp eax, 0x7ff
jle 0x406321
mov dword [esp + 8], 7
mov eax, dword [edi]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x34c]
mov dword [esp], eax
call sym._ConnectionManager_SetConnectionStateById
test eax, eax
jne case.0x4063cf.10038
mov eax, dword [edi]
mov word [ebx + 4], 0x300
lea ecx, [ebp - 0x34e]
mov edx, dword [ebp - 0x33c]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x35c]
mov dword [esp + 0x14], 2
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x340]
mov dword [esp + 0xc], 6
mov dword [esp], eax
mov dword [esp + 4], edx
mov word [ebp - 0x34e], 5
call sym._Send_Ica_GenericPacket
test eax, eax
jne case.0x4063cf.10038
mov eax, dword [ebp - 0x34c]
mov dword [esp + 8], 0xa
mov dword [esp + 4], esi
mov dword [esp], eax
call sym._ConnectionManager_SubConnectionWindowByIndex
jmp 0x40640a
mov eax, dword [edi]
lea edx, [ebp - 0x34e]
mov dword [esp + 0x14], 2
mov dword [esp + 0x18], edx
mov edx, dword [ebp - 0x33c]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x35c]
mov dword [esp + 0xc], 6
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x340]
mov dword [esp + 4], edx
mov dword [esp], eax
mov word [ebp - 0x34e], 0x105
call sym._Send_Ica_GenericPacket
jmp case.0x4063cf.10038
mov eax, dword [edi]
mov word [ebp - 0x34e], 0x305
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x35c]
lea edx, [ebp - 0x34e]
mov dword [esp + 0x18], edx
mov edx, dword [ebp - 0x33c]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x340]
mov dword [esp + 0x14], 2
mov dword [esp + 0xc], 6
mov dword [esp], eax
mov dword [esp + 4], edx
call sym._Send_Ica_GenericPacket
jmp case.0x40668d.10038
mov eax, dword [edi]
mov word [ebp - 0x34e], 0x105
jmp 0x40661b
mov dword [ebp - 0x370], eax
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
sub eax, 0x2714
cmp eax, 0x38
ja case.0x4063cf.10038
mov ecx, dword [ebp - 0x370]
jmp dword [eax*4 + 0x4081f4]
mov eax, dword [edi]
mov word [ebp - 0x34e], 0x505
jmp 0x40661b
mov eax, dword [edi]
mov word [ebp - 0x34e], 0x405
jmp 0x40661b
mov eax, dword [ebp - 0x340]
mov edx, dword [ebp - 0x33c]
mov dword [esp + 0x18], 0
mov ecx, dword [ebp - 0x35c]
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 1
mov dword [esp + 8], ecx
mov dword [esp], eax
mov dword [esp + 4], edx
call sym._Send_IcaMeta
mov eax, dword [ebp - 0x340]
test eax, eax
je 0x406709
mov dword [esp], eax
call sym._WFVirtualChannelClose_4
push eax
mov eax, dword [ebp - 0x35c]
or ebx, 0xffffffff
mov dword [esp], eax
call sym._free
jmp 0x4059fe