Function at 0x441e70
Capabilities:
Connect socket
Get local ipv4 addresses
Get socket information
Get socket status
Receive data
Receive data on socket
Resolve dns
Resolve function by parsing pe exports
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4a716b
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xf68
mov eax, dword [0x4cbba0]
xor eax, ebp
mov dword [esp + 0xf60], eax
push ebx
push esi
push edi
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp + 8]
mov dword [esp + 0x20], eax
mov eax, dword [ebp + 0x28]
mov ebx, ecx
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x2c], ecx
mov ecx, dword [ebp + 0x2c]
mov dword [esp + 0x44], edx
mov edx, dword [ebp + 0x30]
mov dword [esp + 0x7c], eax
mov eax, dword [ebp + 0x34]
mov dword [esp + 0x74], ecx
mov ecx, dword [ebp + 0x38]
mov dword [esp + 0x6c], edx
mov edx, dword [ebp + 0x3c]
mov dword [esp + 0x64], eax
mov eax, dword [ebp + 0x40]
mov dword [esp + 0x5c], ecx
mov ecx, dword [ebp + 0x44]
mov dword [esp + 0x40], edx
mov edx, dword [ebp + 0x48]
mov dword [esp + 0x90], eax
mov eax, dword [ebp + 0x4c]
mov dword [esp + 0x70], ecx
mov ecx, dword [ebp + 0x50]
mov dword [esp + 0x80], edx
mov edx, dword [ebp + 0x54]
mov dword [esp + 0x68], eax
mov eax, dword [ebp + 0x58]
mov dword [esp + 0x88], ecx
mov ecx, dword [ebp + 0x5c]
mov dword [esp + 0x60], edx
mov edx, dword [ebp + 0x60]
mov dword [esp + 0x94], eax
mov eax, dword [ebp + 0x64]
mov dword [esp + 0x58], ecx
mov ecx, dword [ebp + 0x68]
mov esi, dword [ebp + 0x18]
mov dword [esp + 0x8c], edx
mov edx, dword [ebp + 0x6c]
mov dword [esp + 0x50], eax
mov eax, dword [ebp + 0x70]
mov dword [esp + 0x84], ecx
mov ecx, dword [ebp + 0x74]
mov dword [esp + 0x48], edx
mov dword [esp + 0x54], eax
mov dword [esp + 0x78], ecx
call dword [sym.imp.MSVCR71.dll_rand]
mov edx, eax
xor eax, eax
mov ecx, 0x180
lea edi, [esp + 0x368]
rep stosd dword es:[edi], eax
mov byte [esp + 0x369], al
mov byte [esp + 0x368], al
mov byte [esp + 0x376], al
mov byte [esp + 0x375], al
mov byte [esp + 0x374], al
mov eax, edx
mov dword [esp + 0x4c], edx
cdq
mov cl, 8
mov dword [esp + 0x1c], 0x38
mov dword [esp + 0x28], 0xffffffff
mov byte [esp + 0x36f], 0x60
mov byte [esp + 0x36e], 0x39
mov byte [esp + 0x36d], 0x20
mov byte [esp + 0x36c], 0x54
mov byte [esp + 0x36b], 0x34
mov byte [esp + 0x36a], 8
mov byte [esp + 0x377], 0x66
mov byte [esp + 0x37b], al
call fcn.004a1b50
mov byte [esp + 0x37a], al
mov cl, 8
call fcn.004a1b50
mov cl, 8
mov byte [esp + 0x379], al
call fcn.004a1b50
mov byte [esp + 0x378], al
mov eax, dword [ebp + 0x14]
mov dword [esp + 0x38], edx
xor edx, edx
mov cl, 8
mov byte [esp + 0x37f], al
call fcn.004a1b50
mov cl, 8
mov byte [esp + 0x37e], al
call fcn.004a1b50
mov cl, 8
mov byte [esp + 0x37d], al
call fcn.004a1b50
mov ecx, dword [esi + 8]
mov byte [esp + 0x37c], al
mov eax, dword [esi + 4]
mov dword [esp + 0x38], edx
mov edx, dword [esi]
mov dword [esp + 0x384], eax
mov eax, dword [esi + 0x10]
mov dword [esp + 0x380], edx
mov edx, dword [esi + 0xc]
mov dword [esp + 0x390], eax
mov eax, dword [ebp + 0x1c]
mov dword [esp + 0x38c], edx
cdq
mov dword [esp + 0x388], ecx
mov cl, 8
mov byte [esp + 0x397], al
call fcn.004a1b50
mov cl, 8
mov byte [esp + 0x396], al
call fcn.004a1b50
mov cl, 8
mov byte [esp + 0x395], al
call fcn.004a1b50
mov byte [esp + 0x394], al
mov eax, dword [ebp + 0x20]
mov dword [esp + 0x38], edx
cdq
mov cl, 8
mov byte [esp + 0x39b], al
call fcn.004a1b50
mov cl, 8
mov byte [esp + 0x39a], al
call fcn.004a1b50
mov cl, 8
mov byte [esp + 0x399], al
call fcn.004a1b50
push 0x2c
lea ecx, [esp + 0x378]
push ecx
lea ecx, [ebx + 0x10c8]
mov dword [esp + 0x40], edx
mov byte [esp + 0x3a0], al
mov byte [esp + 0x3a7], 1
mov byte [esp + 0x3a6], 0
mov byte [esp + 0x3a5], 0
mov byte [esp + 0x3a4], 0
call fcn.00402fa0
cdq
mov cl, 8
mov byte [esp + 0x373], al
call fcn.004a1b50
mov cl, 8
mov byte [esp + 0x372], al
call fcn.004a1b50
mov cl, 8
mov byte [esp + 0x371], al
call fcn.004a1b50
mov byte [esp + 0x370], al
mov eax, dword [ebx + 0x1bb8]
test eax, eax
mov dword [esp + 0x38], edx
push 0x38
je 0x4421ca
lea edx, [esp + 0x36c]
push edx
lea eax, [esp + 0x37a]
push eax
call dword [sym.imp.MSVCR71.dll_memmove]
lea ecx, [ebx + 0x1bbc]
mov edx, dword [ecx]
mov eax, dword [ecx + 4]
mov cx, word [ecx + 8]
add esp, 0xc
mov dword [esp + 0x368], edx
push 0x38
lea edx, [esp + 0x376]
mov word [esp + 0x374], cx
push edx
lea ecx, [ebx + 0x1bc8]
mov dword [esp + 0x374], eax
call fcn.00487f10
mov dword [esp + 0x1c], 0x42
jmp 0x4421dd
lea eax, [esp + 0x36c]
push eax
lea ecx, [ebx + 0x14cc]
call fcn.00487f10
push 2
mov ecx, ebx
call fcn.0043ef50
cmp eax, 0xffffffff
mov dword [esp + 0x14], eax
je 0x443a04
mov edx, dword [ebp + 0x10]
xor ecx, ecx
mov dword [esp + 0x2c8], ecx
mov dword [esp + 0x2cc], ecx
mov dword [esp + 0x2d0], ecx
push edx
mov dword [esp + 0x2d8], ecx
mov word [esp + 0x2cc], 2
call dword [sym.imp.WS2_32.dll_htons]
mov edi, dword [esp + 0x20]
mov esi, dword [sym.imp.WS2_32.dll_inet_addr]
push edi
mov word [esp + 0x2ce], ax
call esi
cmp eax, 0xffffffff
mov dword [esp + 0x2cc], eax
jne 0x442270
push edi
call dword [sym.imp.WS2_32.dll_gethostbyname]
test eax, eax
je 0x4422b5
mov eax, dword [eax + 0xc]
mov ecx, dword [eax]
mov eax, dword [ecx]
push eax
mov dword [esp + 0x2d0], eax
call dword [sym.imp.WS2_32.dll_ntohl]
push eax
push edi
call fcn.0046b3f0
add esp, 8
mov edi, dword [esp + 0x2c]
test edi, edi
je 0x4424cc
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x442281
sub eax, edx
cmp eax, 4
jbe 0x4424cc
push 2
mov ecx, ebx
call fcn.0043ef50
cmp eax, 0xffffffff
mov dword [esp + 0x28], eax
jne 0x4422f1
mov edx, dword [esp + 0x14]
push edx
call dword [sym.imp.WS2_32.dll_closesocket]
jmp 0x443a04
lea edx, [esp + 0xac]
push edx
push edi
call fcn.0046b5d0
add esp, 8
test eax, eax
je 0x4422e1
mov eax, dword [esp + 0xac]
push eax
call dword [sym.imp.WS2_32.dll_htonl]
mov dword [esp + 0x2cc], eax
jmp 0x442270
mov ecx, dword [esp + 0x14]
push ecx
call dword [sym.imp.WS2_32.dll_closesocket]
jmp 0x443a04
mov eax, dword [esp + 0x2c8]
mov ecx, dword [esp + 0x2cc]
mov edx, dword [esp + 0x2d0]
mov dword [esp + 0x338], eax
mov eax, dword [esp + 0x2d4]
push edi
mov dword [esp + 0x340], ecx
mov dword [esp + 0x344], edx
mov dword [esp + 0x348], eax
call esi
cmp eax, 0xffffffff
mov dword [esp + 0x33c], eax
jne 0x442355
push edi
call dword [sym.imp.WS2_32.dll_gethostbyname]
test eax, eax
je 0x4424b3
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx]
mov eax, dword [edx]
mov dword [esp + 0x33c], eax
mov dword [esp + 0xc], 3
mov esi, dword [sym.imp.WS2_32.dll_recvfrom]
mov eax, dword [esp + 0xc]
mov edi, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
dec eax
push 0x10
mov dword [esp + 0x10], eax
lea eax, [esp + 0x2cc]
push eax
push 0
push edi
lea ecx, [esp + 0x378]
push ecx
push edx
call dword [sym.imp.WS2_32.dll_sendto]
mov eax, dword [esp + 0x28]
cmp eax, 0xffffffff
je 0x4424d9
push 0x10
lea ecx, [esp + 0x33c]
push ecx
push 0
push edi
lea edx, [esp + 0x378]
push edx
push eax
call dword [sym.imp.WS2_32.dll_sendto]
mov dword [esp + 0x20], 0xc
mov edi, dword [esp + 0x20]
dec edi
push 0x64
mov ecx, ebx
mov dword [esp + 0x24], edi
call fcn.0043ee60
cmp eax, 0x42b
je 0x442600
lea eax, [esp + 0x3c]
push eax
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x34c]
push ecx
push 0
push 0x5fc
lea edx, [esp + 0x978]
push edx
push eax
mov dword [esp + 0x54], 0x10
call esi
mov edi, eax
cmp edi, 0x3e
mov dword [esp + 0x34], edi
jge 0x442455
cmp dword [esp + 0x28], 0xffffffff
je 0x44244c
lea ecx, [esp + 0x3c]
push ecx
mov ecx, dword [esp + 0x2c]
lea edx, [esp + 0x34c]
push edx
push 0
push 0x5fc
lea eax, [esp + 0x978]
push eax
push ecx
mov dword [esp + 0x54], 0x10
call esi
mov edi, eax
mov dword [esp + 0x34], edi
cmp edi, 0x3e
jl 0x4425a9
mov eax, dword [ebx + 0x1bb8]
test eax, eax
je 0x4424e6
push 0xa
lea edx, [esp + 0x96c]
lea esi, [ebx + 0x1be4]
push edx
mov ecx, esi
call fcn.00487de0
sub edi, 0xa
push edi
lea eax, [esp + 0x976]
push eax
lea ecx, [esp + 0x970]
push ecx
mov dword [esp + 0x40], edi
call dword [sym.imp.MSVCR71.dll_memmove]
add esp, 0xc
push edi
lea edx, [esp + 0x96c]
push edx
mov ecx, esi
call fcn.00487f40
mov esi, dword [sym.imp.WS2_32.dll_recvfrom]
jmp 0x4424fa
mov ecx, dword [esp + 0x14]
mov edi, dword [sym.imp.WS2_32.dll_closesocket]
push ecx
call edi
mov edx, dword [esp + 0x28]
push edx
call edi
jmp 0x443a04
mov dword [esp + 0xc], 5
jmp 0x44235d
mov dword [esp + 0x20], 0x14
jmp 0x4423c1
push edi
lea eax, [esp + 0x96c]
push eax
lea ecx, [ebx + 0x14cc]
call fcn.00487f40
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x54]
push ecx
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x88]
push edx
mov edx, dword [esp + 0x58]
push eax
mov eax, dword [esp + 0x98]
push ecx
mov ecx, dword [esp + 0x68]
push edx
mov edx, dword [esp + 0xa8]
push eax
mov eax, dword [esp + 0x78]
push ecx
mov ecx, dword [esp + 0xa4]
push edx
mov edx, dword [esp + 0x88]
push eax
mov eax, dword [esp + 0xa4]
push ecx
mov ecx, dword [esp + 0x98]
push edx
mov edx, dword [esp + 0xbc]
push eax
mov eax, dword [esp + 0x70]
push ecx
mov ecx, dword [esp + 0x90]
push edx
mov edx, dword [esp + 0x9c]
push eax
mov eax, dword [esp + 0xa8]
push ecx
mov ecx, dword [esp + 0xb4]
push edx
mov edx, dword [esp + 0xc0]
push eax
mov eax, dword [esp + 0x8c]
push ecx
mov ecx, dword [esp + 0x98]
push edx
push eax
push ecx
push edi
lea edx, [esp + 0x9c4]
push edx
mov ecx, ebx
call fcn.0043f1c0
test eax, eax
jne 0x442610
mov eax, dword [esp + 0x20]
test eax, eax
jg 0x4423c1
mov eax, dword [esp + 0xc]
test eax, eax
jg 0x442363
mov eax, dword [esp + 0x2c]
xor edi, edi
cmp eax, edi
je 0x442637
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4425d0
sub eax, edx
cmp eax, 4
jbe 0x442637
mov edx, dword [esp + 0x14]
mov edi, dword [sym.imp.WS2_32.dll_closesocket]
push edx
call edi
mov eax, dword [esp + 0x28]
cmp eax, 0xffffffff
je 0x443a04
push eax
call edi
jmp 0x443a04
mov eax, dword [esp + 0x14]
push eax
call dword [sym.imp.WS2_32.dll_closesocket]
jmp 0x443a04
mov ecx, dword [esp + 0x14]
mov edi, dword [sym.imp.WS2_32.dll_closesocket]
push ecx
call edi
mov eax, dword [esp + 0x28]
cmp eax, 0xffffffff
je 0x443b78
push eax
call edi
mov eax, 1
jmp 0x443a06
lea ecx, [esp + 0x18]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT_1]
lea ecx, [esp + 0x10]
mov dword [esp + 0xf7c], edi
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT_1]
lea ecx, [esp + 0x2d8]
mov byte [esp + 0xf7c], 1
call fcn.00421d90
lea eax, [esp + 0x9c]
push eax
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0xa0]
push edx
lea eax, [esp + 0xc0]
push eax
lea ecx, [esp + 0x28]
push ecx
lea edx, [esp + 0xc4]
push edx
mov byte [esp + 0xf94], 2
mov dword [esp + 0xc0], 0x10
call fcn.004474c0
mov eax, dword [ebx + 0x14e8]
add esp, 0x18
cmp eax, edi
jge 0x442727
cmp dword [esp + 0xb0], edi
je 0x4426ed
lea ecx, [esp + 0x18]
mov dword [ebx + 0x14e8], edi
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::operator_char_const_]
lea edx, [ebx + 0x14ec]
mov cl, byte [eax]
inc eax
mov byte [edx], cl
inc edx
test cl, cl
jne 0x4426d4
mov eax, dword [esp + 0xb4]
mov dword [ebx + 0x1524], eax
jmp 0x442727
cmp dword [esp + 0x98], edi
je 0x442727
lea ecx, [esp + 0x10]
mov dword [ebx + 0x14e8], 1
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::operator_char_const_]
lea edx, [ebx + 0x14ec]
mov cl, byte [eax]
inc eax
mov byte [edx], cl
inc edx
test cl, cl
jne 0x442710
mov ecx, dword [esp + 0x9c]
mov dword [ebx + 0x1524], ecx
lea eax, [ebx + 0x14ec]
push eax
lea ecx, [esp + 0x2e0]
call dword [sym.imp.MSVCP71.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_char_const__]
mov dx, word [ebx + 0x1524]
lea eax, [ebx + 0x1528]
push eax
lea ecx, [esp + 0x300]
mov word [esp + 0x2fc], dx
call dword [sym.imp.MSVCP71.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_char_const__]
lea eax, [ebx + 0x1560]
push eax
lea ecx, [esp + 0x31c]
call dword [sym.imp.MSVCP71.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_char_const__]
mov esi, dword [esp + 0x14]
lea eax, [esp + 0xa8]
push eax
lea ecx, [esp + 0x35c]
push ecx
push esi
call dword [sym.imp.WS2_32.dll_getsockname]
mov edx, dword [esp + 0x35a]
push edx
call dword [sym.imp.WS2_32.dll_ntohs]
mov ecx, dword [ebx + 0x14e8]
test ecx, ecx
movzx eax, ax
jne 0x442cb6
push eax
xor edi, edi
push edi
lea eax, [esp + 0x2e0]
lea ecx, [ebx + 4]
push eax
mov dword [ebx + 0x1bac], edi
mov dword [esp + 0x38], ecx
call fcn.00469d60
mov dword [ebx + 0x1bac], edi
mov edi, 0x64
push 0x64
mov ecx, ebx
dec edi
call fcn.0043ee60
cmp eax, 0x42b
je 0x443509
mov eax, dword [ebx + 0x1bac]
test eax, eax
jne 0x4427f8
test edi, edi
jg 0x4427d5
cmp dword [ebx + 0x1bac], 1
jne 0x442a30
mov dword [esp + 0xc], 2
lea ecx, [ecx]
mov ecx, dword [esp + 0x2cc]
mov dx, word [esp + 0x2ca]
mov esi, dword [esp + 0xc]
mov dword [ebx + 0x159c], ecx
mov ecx, dword [esp + 0x1c]
dec esi
mov word [ebx + 0x15a0], dx
mov edx, ecx
shr ecx, 2
mov dword [esp + 0xc], esi
lea eax, [ebx + 0x1598]
mov byte [eax], 0
mov byte [ebx + 0x1599], 0
mov byte [ebx + 0x159a], 0
mov byte [ebx + 0x159b], 1
lea esi, [esp + 0x368]
lea edi, [ebx + 0x15a2]
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
push 0x10
rep movsb byte es:[edi], byte [esi]
lea ecx, [ebx + 0x1b9c]
push ecx
push 0
mov ecx, edx
add ecx, 0xa
push ecx
push eax
mov eax, dword [esp + 0x28]
push eax
call dword [sym.imp.WS2_32.dll_sendto]
mov dword [esp + 0x20], 0x14
mov dword [ebx + 0x1b98], 0
mov esi, dword [esp + 0x20]
dec esi
push 0x64
mov ecx, ebx
mov dword [esp + 0x24], esi
call fcn.0043ee60
cmp eax, 0x42b
je 0x442b27
lea ecx, [esp + 0x3c]
push ecx
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x34c]
push edx
push 0
push 0x5fc
lea eax, [esp + 0x978]
push eax
push ecx
mov dword [esp + 0x54], 0x10
call dword [sym.imp.WS2_32.dll_recvfrom]
mov esi, eax
cmp esi, 0x48
mov dword [esp + 0x34], esi
jl 0x442a18
mov eax, dword [ebx + 0x1bb8]
test eax, eax
je 0x44294e
push 0xa
lea edx, [esp + 0x976]
lea edi, [ebx + 0x1be4]
push edx
mov ecx, edi
call fcn.00487de0
sub esi, 0xa
push esi
lea eax, [esp + 0x980]
push eax
lea ecx, [esp + 0x97a]
push ecx
mov dword [esp + 0x40], esi
call dword [sym.imp.MSVCR71.dll_memmove]
add esp, 0xc
add esi, 0xfffffff6
push esi
lea edx, [esp + 0x976]
push edx
mov ecx, edi
jmp 0x442960
add esi, 0xfffffff6
push esi
lea eax, [esp + 0x976]
push eax
lea ecx, [ebx + 0x14cc]
call fcn.00487f40
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x54]
push ecx
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x88]
push edx
mov edx, dword [esp + 0x58]
push eax
mov eax, dword [esp + 0x98]
push ecx
mov ecx, dword [esp + 0x68]
push edx
mov edx, dword [esp + 0xa8]
push eax
mov eax, dword [esp + 0x78]
push ecx
mov ecx, dword [esp + 0xa4]
push edx
mov edx, dword [esp + 0x88]
push eax
mov eax, dword [esp + 0xa4]
push ecx
mov ecx, dword [esp + 0x98]
push edx
mov edx, dword [esp + 0xbc]
push eax
mov eax, dword [esp + 0x70]
push ecx
mov ecx, dword [esp + 0x90]
push edx
mov edx, dword [esp + 0x9c]
push eax
mov eax, dword [esp + 0xa8]
push ecx
mov ecx, dword [esp + 0xb4]
push edx
mov edx, dword [esp + 0xc0]
push eax
mov eax, dword [esp + 0x8c]
push ecx
mov ecx, dword [esp + 0x98]
push edx
push eax
push ecx
push esi
lea edx, [esp + 0x9ce]
push edx
mov ecx, ebx
call fcn.0043f1c0
test eax, eax
jne 0x442b31
mov eax, dword [esp + 0x20]
test eax, eax
jg 0x4428a1
mov eax, dword [esp + 0xc]
test eax, eax
jg 0x442810
mov esi, dword [esp + 0x2c]
mov ecx, esi
call fcn.00469d30
xor edi, edi
push 2
mov ecx, esi
mov dword [ebx + 0x1bac], edi
call fcn.0046a300
mov edx, dword [esp + 0x2cc]
push 0x50
push edx
mov dword [ebx + 0x1b98], edi
call dword [sym.imp.WS2_32.dll_ntohl]
push eax
lea eax, [esp + 0x2e0]
push eax
mov ecx, esi
call fcn.00469d60
mov esi, 0x64
push 0x64
mov ecx, ebx
dec esi
call fcn.0043ee60
cmp eax, 0x42b
je 0x442b76
cmp dword [ebx + 0x1bac], edi
jne 0x442a98
cmp esi, edi
jg 0x442a77
cmp dword [ebx + 0x1bac], 1
jne 0x442ca9
xor eax, eax
lea edx, [ebx + 0x1598]
mov ecx, 0x180
mov edi, edx
rep stosd dword es:[edi], eax
mov dword [esp + 0xc], eax
mov eax, dword [ebx + 0x1bb8]
test eax, eax
je 0x442b80
lea eax, [ebx + 0x1bbc]
mov ecx, dword [eax]
mov dword [edx], ecx
mov ecx, dword [eax + 4]
mov ax, word [eax + 8]
mov dword [edx + 4], ecx
mov word [edx + 8], ax
mov edx, dword [str.GET__QUERY]
lea ecx, [ebx + 0x15a2]
mov dword [ecx], edx
mov eax, dword [0x4b37e8]
mov dword [ecx + 4], eax
mov dx, word [0x4b37ec]
mov word [ecx + 8], dx
mov al, byte [0x4b37ee]
mov byte [ecx + 0xa], al
push 0x14
lea ecx, [ebx + 0x15a2]
push ecx
lea ecx, [ebx + 0x1bc8]
mov dword [esp + 0x14], 0xa
call fcn.00487f10
jmp 0x442ba3
mov eax, dword [esp + 0x14]
push eax
jmp 0x44350a
mov ecx, dword [esp + 0x14]
mov esi, dword [sym.imp.WS2_32.dll_closesocket]
push ecx
mov dword [ebx + 0x1bb4], 1
call esi
mov eax, dword [esp + 0x28]
cmp eax, 0xffffffff
je 0x442b54
push eax
call esi
mov ecx, dword [esp + 0x2c]
call fcn.00469d30
lea ecx, [esp + 0x2d8]
mov byte [esp + 0xf7c], 1
call fcn.004213d0
jmp 0x443b64
mov ecx, dword [esp + 0x14]
push ecx
jmp 0x44350a
mov eax, dword [str.GET__QUERY]
mov dword [edx], eax
mov ecx, dword [0x4b37e8]
mov dword [edx + 4], ecx
mov ax, word [0x4b37ec]
mov word [edx + 8], ax
mov cl, byte [0x4b37ee]
mov byte [edx + 0xa], cl
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0xc]
lea eax, [esi + 8]
cdq
mov cl, 8
mov byte [ebx + edi + 0x15af], al
call fcn.004a1b50
mov cl, 8
mov byte [ebx + edi + 0x15ae], al
call fcn.004a1b50
mov cl, 8
mov byte [ebx + edi + 0x15ad], al
call fcn.004a1b50
mov byte [ebx + edi + 0x15ac], al
mov eax, dword [esp + 0xc]
mov ecx, esi
lea edi, [ebx + edi + 0x15b4]
mov dword [esp + 0x24], edx
mov edx, ecx
shr ecx, 2
mov byte [edi - 1], 0
mov byte [edi - 2], 0
mov byte [edi - 3], 0
mov byte [edi - 4], 0
lea esi, [esp + 0x368]
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push 0
mov ecx, edx
lea edx, [eax + ecx + 0x1c]
push edx
lea eax, [ebx + 0x1598]
push eax
mov eax, dword [ebx + 8]
push eax
call dword [sym.imp.WS2_32.dll_send]
mov esi, 0x64
mov dword [ebx + 0x1b98], 0
nop
dec esi
push 0x64
mov ecx, ebx
mov dword [esp + 0x10], esi
call fcn.0043ee60
cmp eax, 0x42b
je 0x442b76
mov eax, dword [ebx + 0x1b98]
mov edx, 4
cmp eax, edx
jl 0x442ca5
xor eax, eax
lea esi, [ebx + 0x1598]
xor ecx, ecx
mov dword [esp + 0x20], edx
shld ecx, eax, 8
shl eax, 8
mov edi, eax
movzx eax, byte [esi]
cdq
or ecx, edx
mov edx, dword [esp + 0x20]
or edi, eax
inc esi
dec edx
mov eax, edi
mov dword [esp + 0x20], edx
jne 0x442c76
cmp dword [ebx + 0x1b98], eax
jge 0x442ee3
mov esi, dword [esp + 0xc]
test esi, esi
jg 0x442c40
mov ecx, dword [esp + 0x2c]
call fcn.00469d30
mov esi, dword [esp + 0x14]
mov edi, dword [sym.imp.WS2_32.dll_closesocket]
push esi
call edi
mov eax, dword [esp + 0x28]
cmp eax, 0xffffffff
je 0x442ccb
push eax
call edi
mov eax, dword [esp + 0x98]
test eax, eax
je 0x442d56
lea ecx, [esp + 0x10]
mov dword [ebx + 0x14e8], 1
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::operator_char_const_]
lea edx, [ebx + 0x14ec]
mov cl, byte [eax]
inc eax
mov byte [edx], cl
inc edx
test cl, cl
jne 0x442cf4
mov eax, dword [esp + 0x9c]
mov dword [ebx + 0x1524], eax
lea eax, [ebx + 0x14ec]
push eax
lea ecx, [esp + 0x2e0]
call dword [sym.imp.MSVCP71.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_char_const__]
mov cx, word [ebx + 0x1524]
lea eax, [ebx + 0x1528]
mov word [esp + 0x2f8], cx
push eax
lea ecx, [esp + 0x300]
call dword [sym.imp.MSVCP71.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_char_const__]
lea eax, [ebx + 0x1560]
push eax
lea ecx, [esp + 0x31c]
call dword [sym.imp.MSVCP71.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_char_const__]
cmp dword [ebx + 0x14e8], 1
jne 0x443212
mov eax, dword [esp + 0x2ca]
lea edx, [esp + 0x2d8]
push edx
xor edi, edi
lea esi, [ebx + 0x5c]
push eax
mov dword [ebx + 0x1bb0], edi
mov dword [esp + 0x28], esi
call dword [sym.imp.WS2_32.dll_ntohs]
mov edx, dword [esp + 0x2d0]
movzx ecx, ax
push ecx
push edx
call dword [sym.imp.WS2_32.dll_inet_ntoa]
push eax
mov ecx, esi
call fcn.0046a3e0
mov dword [ebx + 0x1bac], edi
mov edi, 0x64
lea ecx, [ecx]
push 0x64
mov ecx, ebx
dec edi
call fcn.0043ee60
cmp eax, 0x42b
je 0x443060
mov eax, dword [ebx + 0x1bac]
test eax, eax
jne 0x442dd3
test edi, edi
jg 0x442db0
cmp dword [ebx + 0x1bac], 1
je 0x442e50
mov ecx, esi
mov dword [ebx + 0x1bb0], 1
call fcn.0046a540
mov ecx, dword [esp + 0x2cc]
lea eax, [esp + 0x2d8]
push eax
push 0x50
push ecx
call dword [sym.imp.WS2_32.dll_inet_ntoa]
push eax
mov ecx, esi
call fcn.0046a3e0
mov dword [ebx + 0x1bac], 0
mov esi, 0x64
lea esp, [esp]
push 0x64
mov ecx, ebx
dec esi
call fcn.0043ee60
cmp eax, 0x42b
je 0x443060
mov eax, dword [ebx + 0x1bac]
test eax, eax
jne 0x442e43
test esi, esi
jg 0x442e20
cmp dword [ebx + 0x1bac], 1
jne 0x443209
mov eax, dword [ebx + 0x1bb0]
test eax, eax
je 0x44310f
xor eax, eax
lea edx, [ebx + 0x1598]
mov ecx, 0x180
mov edi, edx
rep stosd dword es:[edi], eax
mov dword [esp + 0xc], eax
mov eax, dword [ebx + 0x1bb8]
test eax, eax
je 0x443067
lea eax, [ebx + 0x1bbc]
mov ecx, dword [eax]
mov dword [edx], ecx
mov ecx, dword [eax + 4]
mov ax, word [eax + 8]
mov dword [edx + 4], ecx
mov word [edx + 8], ax
mov edx, dword [str.GET__QUERY]
lea ecx, [ebx + 0x15a2]
mov dword [ecx], edx
mov eax, dword [0x4b37e8]
mov dword [ecx + 4], eax
mov dx, word [0x4b37ec]
mov word [ecx + 8], dx
mov al, byte [0x4b37ee]
mov byte [ecx + 0xa], al
push 0x14
lea ecx, [ebx + 0x15a2]
push ecx
lea ecx, [ebx + 0x1bc8]
mov dword [esp + 0x14], 0xa
call fcn.00487f10
jmp 0x44308a
mov eax, dword [ebx + 0x1bb8]
test eax, eax
je 0x442f35
push 0xa
lea edx, [esp + 0x974]
lea esi, [ebx + 0x1be4]
push edx
mov ecx, esi
call fcn.00487de0
mov edi, dword [esp + 0x34]
sub edi, 0xa
push edi
lea eax, [esp + 0x97e]
push eax
lea ecx, [esp + 0x978]
push ecx
call dword [sym.imp.MSVCR71.dll_memmove]
add esp, 0xc
add edi, 0xfffffff8
push edi
lea edx, [esp + 0x974]
push edx
mov ecx, esi
jmp 0x442f4c
mov eax, dword [ebx + 0x1b98]
sub eax, 8
lea ecx, [ebx + 0x15a0]
push eax
push ecx
lea ecx, [ebx + 0x14cc]
call fcn.00487f40
mov edx, dword [esp + 0x78]
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x48]
push edx
mov edx, dword [esp + 0x88]
push eax
mov eax, dword [esp + 0x58]
push ecx
mov ecx, dword [esp + 0x98]
push edx
mov edx, dword [esp + 0x68]
push eax
mov eax, dword [esp + 0xa8]
push ecx
mov ecx, dword [esp + 0x78]
push edx
mov edx, dword [esp + 0xa4]
push eax
mov eax, dword [esp + 0x88]
push ecx
mov ecx, dword [esp + 0xa4]
push edx
mov edx, dword [esp + 0x98]
push eax
mov eax, dword [esp + 0xbc]
push ecx
mov ecx, dword [esp + 0x70]
push edx
mov edx, dword [esp + 0x90]
push eax
mov eax, dword [esp + 0x9c]
push ecx
mov ecx, dword [esp + 0xa8]
push edx
mov edx, dword [esp + 0xb4]
push eax
mov eax, dword [esp + 0xc0]
push ecx
mov ecx, dword [esp + 0x8c]
push edx
mov edx, dword [esp + 0x98]
push eax
mov eax, dword [ebx + 0x1b98]
push ecx
push edx
sub eax, 8
push eax
lea ecx, [ebx + 0x15a0]
push ecx
mov ecx, ebx
call fcn.0043f1c0
test eax, eax
je 0x442ca9
mov edx, dword [esp + 0x14]
mov esi, 1
push edx
mov dword [ebx + 0x1bb4], esi
mov dword [ebx + 0x1bb0], esi
call dword [sym.imp.WS2_32.dll_closesocket]
mov ecx, dword [esp + 0x2c]
call fcn.00469d30
lea ecx, [esp + 0x2d8]
mov byte [esp + 0xf7c], 1
call fcn.004213d0
lea ecx, [esp + 0x10]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
lea ecx, [esp + 0x18]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
mov eax, esi
jmp 0x443a06
push 0
jmp 0x44350a
mov eax, dword [str.GET__QUERY]
mov dword [edx], eax
mov ecx, dword [0x4b37e8]
mov dword [edx + 4], ecx
mov ax, word [0x4b37ec]
mov word [edx + 8], ax
mov cl, byte [0x4b37ee]
mov byte [edx + 0xa], cl
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0xc]
lea eax, [esi + 8]
cdq
mov cl, 8
mov byte [ebx + edi + 0x15af], al
call fcn.004a1b50
mov cl, 8
mov byte [ebx + edi + 0x15ae], al
call fcn.004a1b50
mov cl, 8
mov byte [ebx + edi + 0x15ad], al
call fcn.004a1b50
mov byte [ebx + edi + 0x15ac], al
mov eax, dword [esp + 0xc]
mov ecx, esi
lea edi, [ebx + edi + 0x15b4]
mov dword [esp + 0x30], edx
mov edx, ecx
shr ecx, 2
mov byte [edi - 1], 0
mov byte [edi - 2], 0
mov byte [edi - 3], 0
mov byte [edi - 4], 0
lea esi, [esp + 0x368]
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, edx
push 0
lea edx, [eax + ecx + 0x1c]
push edx
lea eax, [ebx + 0x1598]
push eax
jmp 0x443184
mov esi, dword [esp + 0x1c]
lea eax, [esi + 8]
cdq
mov cl, 8
mov byte [ebx + 0x159b], al
call fcn.004a1b50
mov cl, 8
mov byte [ebx + 0x159a], al
call fcn.004a1b50
mov cl, 8
mov byte [ebx + 0x1599], al
call fcn.004a1b50
mov byte [ebx + 0x1598], al
mov ecx, esi
lea edi, [ebx + 0x15a0]
mov dword [esp + 0x30], edx
mov edx, ecx
shr ecx, 2
mov byte [edi - 1], 0
mov byte [edi - 2], 0
mov byte [edi - 3], 0
mov byte [edi - 4], 0
lea esi, [esp + 0x368]
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
mov eax, edx
push 0
add eax, 8
rep movsb byte es:[edi], byte [esi]
lea ecx, [ebx + 0x1598]
push eax
push ecx
mov eax, dword [ebx + 0x60]
push eax
call dword [sym.imp.WS2_32.dll_send]
mov esi, 0x64
mov dword [ebx + 0x1b98], 0
lea ecx, [ecx]
dec esi
push 0x64
mov ecx, ebx
mov dword [esp + 0x10], esi
call fcn.0043ee60
cmp eax, 0x42b
je 0x443060
mov eax, dword [ebx + 0x1b98]
mov edx, 4
cmp eax, edx
jl 0x443205
xor eax, eax
lea esi, [ebx + 0x1598]
xor ecx, ecx
mov dword [esp + 0x2c], edx
shld ecx, eax, 8
shl eax, 8
mov edi, eax
movzx eax, byte [esi]
cdq
or ecx, edx
mov edx, dword [esp + 0x2c]
or edi, eax
inc esi
dec edx
mov eax, edi
mov dword [esp + 0x2c], edx
jne 0x4431d6
cmp dword [ebx + 0x1b98], eax
jge 0x443396
mov esi, dword [esp + 0xc]
test esi, esi
jg 0x4431a0
mov ecx, dword [esp + 0x20]
call fcn.0046a540
xor edi, edi
push 1
mov ecx, ebx
mov dword [ebx + 0x1bb4], edi
mov dword [ebx + 0x1bb0], edi
call fcn.0043ef50
mov esi, eax
mov eax, dword [ebp + 0x10]
push eax
mov dword [esp + 0x18], esi
call dword [sym.imp.WS2_32.dll_htons]
push 0x10
lea ecx, [esp + 0x2cc]
push ecx
push esi
mov word [esp + 0x2d6], ax
call dword [sym.imp.WS2_32.dll_connect]
cmp eax, 0xffffffff
jne 0x44331a
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
jne 0x443509
push 0x64
mov ecx, ebx
mov dword [esp + 0x10], 0x31
call fcn.0043ee60
cmp eax, 0x42b
je 0x443509
jmp 0x443290
mov eax, 1
mov dword [esp + 0x1c0], eax
mov dword [esp + 0xb8], eax
lea edx, [esp + 0xa0]
push edx
lea eax, [esp + 0xbc]
push eax
lea ecx, [esp + 0x1c8]
push ecx
push edi
lea eax, [esi + 1]
push eax
mov dword [esp + 0x1d8], esi
mov dword [esp + 0xd0], esi
mov dword [esp + 0xb4], edi
mov dword [esp + 0xb8], 0x2710
call dword [sym.imp.WS2_32.dll_select]
cmp eax, edi
jle 0x4434e6
lea edx, [esp + 0xb8]
push edx
push esi
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
jne 0x443529
lea eax, [esp + 0x1c0]
push eax
push esi
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x4434ec
cmp esi, 0xffffffff
jne 0x4435ec
push 1
mov ecx, ebx
call fcn.0043ef50
mov esi, eax
push 0x50
mov dword [esp + 0x18], esi
call dword [sym.imp.WS2_32.dll_htons]
push 0x10
lea ecx, [esp + 0x2cc]
push ecx
push esi
mov word [esp + 0x2d6], ax
call dword [sym.imp.WS2_32.dll_connect]
cmp eax, 0xffffffff
jne 0x4435ec
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
je 0x443535
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
lea ecx, [esp + 0x318]
mov byte [esp + 0xf7c], 4
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov byte [esp + 0xf7c], 3
jmp 0x4439ce
mov eax, dword [ebx + 0x1bb8]
test eax, eax
lea esi, [ebx + 0x15a0]
je 0x4433e7
push 0xa
lea edi, [ebx + 0x1be4]
push esi
mov ecx, edi
call fcn.00487de0
mov edx, dword [ebx + 0x1b98]
add edx, 0xfffffff6
mov eax, edx
push eax
lea ecx, [ebx + 0x15aa]
push ecx
push esi
mov dword [ebx + 0x1b98], edx
call dword [sym.imp.MSVCR71.dll_memmove]
mov edx, dword [ebx + 0x1b98]
add esp, 0xc
sub edx, 8
push edx
mov ecx, edi
jmp 0x4433f7
mov eax, dword [ebx + 0x1b98]
sub eax, 8
push eax
lea ecx, [ebx + 0x14cc]
push esi
call fcn.00487f40
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x54]
push ecx
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x88]
push edx
mov edx, dword [esp + 0x58]
push eax
mov eax, dword [esp + 0x98]
push ecx
mov ecx, dword [esp + 0x68]
push edx
mov edx, dword [esp + 0xa8]
push eax
mov eax, dword [esp + 0x78]
push ecx
mov ecx, dword [esp + 0xa4]
push edx
mov edx, dword [esp + 0x88]
push eax
mov eax, dword [esp + 0xa4]
push ecx
mov ecx, dword [esp + 0x98]
push edx
mov edx, dword [esp + 0xbc]
push eax
mov eax, dword [esp + 0x70]
push ecx
mov ecx, dword [esp + 0x90]
push edx
mov edx, dword [esp + 0x9c]
push eax
mov eax, dword [esp + 0xa8]
push ecx
mov ecx, dword [esp + 0xb4]
push edx
mov edx, dword [esp + 0xc0]
push eax
mov eax, dword [esp + 0x8c]
push ecx
mov ecx, dword [esp + 0x98]
push edx
mov edx, dword [ebx + 0x1b98]
push eax
push ecx
sub edx, 8
push edx
push esi
mov ecx, ebx
call fcn.0043f1c0
test eax, eax
je 0x443209
push 0
mov dword [ebx + 0x1bb4], 1
call dword [sym.imp.WS2_32.dll_closesocket]
mov ecx, dword [esp + 0x20]
call fcn.0046a540
lea ecx, [esp + 0x2d8]
mov byte [esp + 0xf7c], 1
call fcn.004213d0
jmp 0x443b64
cmp dword [esp + 0xc], edi
jle 0x443529
mov eax, dword [esp + 0xc]
dec eax
push 0x64
mov ecx, ebx
mov dword [esp + 0x10], eax
call fcn.0043ee60
cmp eax, 0x42b
jne 0x443290
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
lea ecx, [esp + 0x2d8]
mov byte [esp + 0xf7c], 1
call fcn.004213d0
jmp 0x4439f0
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
jmp 0x443323
push 0x64
mov ecx, ebx
mov dword [esp + 0x10], 0x31
call fcn.0043ee60
cmp eax, 0x42b
je 0x4436b6
lea edi, [esi + 1]
jmp 0x443560
mov eax, 1
lea edx, [esp + 0xa0]
push edx
mov dword [esp + 0x1c4], eax
mov dword [esp + 0xbc], eax
lea eax, [esp + 0xbc]
push eax
lea ecx, [esp + 0x1c8]
push ecx
push 0
push edi
mov dword [esp + 0x1d8], esi
mov dword [esp + 0xd0], esi
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb8], 0x2710
call dword [sym.imp.WS2_32.dll_select]
test eax, eax
jle 0x443691
lea edx, [esp + 0xb8]
push edx
push esi
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
jne 0x4436df
lea eax, [esp + 0x1c0]
push eax
push esi
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x443699
push 0x50
call dword [sym.imp.WS2_32.dll_htons]
cmp word [esp + 0x2ca], ax
jne 0x4437ed
xor eax, eax
lea edx, [ebx + 0x1598]
mov ecx, 0x180
mov edi, edx
mov dword [ebx + 0x1bb0], 1
rep stosd dword es:[edi], eax
mov dword [esp + 0xc], eax
mov eax, dword [ebx + 0x1bb8]
test eax, eax
je 0x443731
lea ecx, [ebx + 0x1bbc]
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov cx, word [ecx + 8]
mov dword [edx + 4], eax
mov word [edx + 8], cx
mov eax, dword [str.GET__QUERY]
lea edx, [ebx + 0x15a2]
mov dword [edx], eax
mov ecx, dword [0x4b37e8]
mov dword [edx + 4], ecx
mov ax, word [0x4b37ec]
mov word [edx + 8], ax
mov cl, byte [0x4b37ee]
mov byte [edx + 0xa], cl
push 0x14
lea edx, [ebx + 0x15a2]
push edx
lea ecx, [ebx + 0x1bc8]
mov dword [esp + 0x14], 0xa
call fcn.00487f10
jmp 0x443754
mov eax, dword [esp + 0xc]
test eax, eax
jle 0x443708
mov eax, dword [esp + 0xc]
dec eax
push 0x64
mov ecx, ebx
mov dword [esp + 0x10], eax
call fcn.0043ee60
cmp eax, 0x42b
jne 0x443560
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
lea ecx, [esp + 0x318]
mov byte [esp + 0xf7c], 6
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov byte [esp + 0xf7c], 5
jmp 0x4439ce
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
lea ecx, [esp + 0x318]
mov byte [esp + 0xf7c], 8
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov byte [esp + 0xf7c], 7
jmp 0x4439ce
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
lea ecx, [esp + 0x318]
mov byte [esp + 0xf7c], 0xa
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov byte [esp + 0xf7c], 9
jmp 0x4439ce
mov eax, dword [str.GET__QUERY]
mov dword [edx], eax
mov ecx, dword [0x4b37e8]
mov dword [edx + 4], ecx
mov ax, word [0x4b37ec]
mov word [edx + 8], ax
mov cl, byte [0x4b37ee]
mov byte [edx + 0xa], cl
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0xc]
lea eax, [edi + 8]
cdq
mov cl, 8
mov byte [ebx + esi + 0x15af], al
call fcn.004a1b50
mov cl, 8
mov byte [ebx + esi + 0x15ae], al
call fcn.004a1b50
mov cl, 8
mov byte [ebx + esi + 0x15ad], al
call fcn.004a1b50
mov byte [ebx + esi + 0x15ac], al
lea eax, [ebx + esi + 0x15b4]
mov ecx, edi
mov dword [esp + 0x30], edx
mov edx, ecx
shr ecx, 2
mov byte [eax - 1], 0
mov byte [eax - 2], 0
mov byte [eax - 3], 0
mov byte [eax - 4], 0
mov edi, eax
mov eax, dword [esp + 0xc]
lea esi, [esp + 0x368]
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push 0
mov ecx, edx
lea edx, [eax + ecx + 0x1c]
push edx
lea eax, [ebx + 0x1598]
push eax
mov eax, dword [esp + 0x20]
push eax
call dword [sym.imp.WS2_32.dll_send]
mov esi, dword [esp + 0x14]
jmp 0x443882
mov edi, dword [esp + 0x1c]
push edi
lea ecx, [esp + 0x36c]
push ecx
lea edx, [esp + 0x378]
push edx
mov dword [ebx + 0x1bb0], 0
call dword [sym.imp.MSVCR71.dll_memmove]
add edi, 8
mov eax, edi
cdq
add esp, 0xc
mov cl, 8
mov byte [esp + 0x36b], al
call fcn.004a1b50
mov cl, 8
mov byte [esp + 0x36a], al
call fcn.004a1b50
mov cl, 8
mov byte [esp + 0x369], al
call fcn.004a1b50
push 0
mov byte [esp + 0x36c], al
push edi
lea eax, [esp + 0x370]
push eax
push esi
mov dword [esp + 0x40], edx
mov byte [esp + 0x37f], 0
mov byte [esp + 0x37e], 0
mov byte [esp + 0x37d], 0
mov byte [esp + 0x37c], 0
call dword [sym.imp.WS2_32.dll_send]
mov ecx, 0x180
xor eax, eax
lea edi, [esp + 0x968]
mov dword [esp + 0x34], 0
rep stosd dword es:[edi], eax
mov edi, dword [esp + 0x34]
mov dword [esp + 0xc], 0x50
mov eax, dword [esp + 0xc]
dec eax
push 0x64
mov ecx, ebx
mov dword [esp + 0x10], eax
call fcn.0043ee60
cmp eax, 0x42b
je 0x443a2b
push 0
mov ecx, 0x5fc
sub ecx, edi
push ecx
lea edx, [esp + edi + 0x970]
push edx
push esi
call dword [sym.imp.WS2_32.dll_recv]
test eax, eax
mov dword [esp + 0x3c], eax
jle 0x44398f
add edi, eax
lea eax, [esp + 0x968]
mov dword [esp + 0x2c], eax
xor eax, eax
mov dword [esp + 0x34], edi
xor ecx, ecx
mov dword [esp + 0x20], 4
mov edx, dword [esp + 0x2c]
shld ecx, eax, 8
shl eax, 8
mov edi, eax
movzx eax, byte [edx]
cdq
or edi, eax
or ecx, edx
mov edx, dword [esp + 0x20]
mov eax, edi
mov edi, dword [esp + 0x2c]
inc edi
dec edx
mov dword [esp + 0x2c], edi
mov dword [esp + 0x20], edx
jne 0x443905
mov edi, dword [esp + 0x34]
cmp edi, eax
jl 0x44399e
mov eax, dword [ebx + 0x1bb8]
test eax, eax
je 0x443a54
push 0xa
lea eax, [esp + 0x974]
lea ecx, [ebx + 0x1be4]
push eax
call fcn.00487de0
sub edi, 0xa
push edi
lea ecx, [esp + 0x97e]
push ecx
lea edx, [esp + 0x978]
push edx
call dword [sym.imp.MSVCR71.dll_memmove]
add esp, 0xc
add edi, 0xfffffff8
push edi
lea eax, [esp + 0x974]
push eax
lea ecx, [ebx + 0x1be4]
jmp 0x443a66
jge 0x44399e
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x2733
jne 0x4439aa
mov eax, dword [esp + 0xc]
test eax, eax
jg 0x4438a6
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
lea ecx, [esp + 0x318]
mov byte [esp + 0xf7c], 0x10
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov byte [esp + 0xf7c], 0xf
lea ecx, [esp + 0x2fc]
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x2dc]
mov byte [esp + 0xf7c], 1
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x10]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
lea ecx, [esp + 0x18]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
xor eax, eax
mov ecx, dword [esp + 0xf74]
mov dword fs:[0], ecx
mov ecx, dword [esp + 0xf6c]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004a17d1
mov esp, ebp
pop ebp
ret 0x70
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
lea ecx, [esp + 0x318]
mov byte [esp + 0xf7c], 0xc
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov byte [esp + 0xf7c], 0xb
jmp 0x4439ce
add edi, 0xfffffff8
lea ecx, [esp + 0x970]
push edi
push ecx
lea ecx, [ebx + 0x14cc]
call fcn.00487f40
mov edx, dword [esp + 0x78]
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x48]
push edx
mov edx, dword [esp + 0x88]
push eax
mov eax, dword [esp + 0x58]
push ecx
mov ecx, dword [esp + 0x98]
push edx
mov edx, dword [esp + 0x68]
push eax
mov eax, dword [esp + 0xa8]
push ecx
mov ecx, dword [esp + 0x78]
push edx
mov edx, dword [esp + 0xa4]
push eax
mov eax, dword [esp + 0x88]
push ecx
mov ecx, dword [esp + 0xa4]
push edx
mov edx, dword [esp + 0x98]
push eax
mov eax, dword [esp + 0xbc]
push ecx
mov ecx, dword [esp + 0x70]
push edx
mov edx, dword [esp + 0x90]
push eax
mov eax, dword [esp + 0x9c]
push ecx
mov ecx, dword [esp + 0xa8]
push edx
mov edx, dword [esp + 0xb4]
push eax
mov eax, dword [esp + 0xc0]
push ecx
mov ecx, dword [esp + 0x8c]
push edx
mov edx, dword [esp + 0x98]
push eax
push ecx
push edx
push edi
lea eax, [esp + 0x9cc]
push eax
mov ecx, ebx
call fcn.0043f1c0
test eax, eax
je 0x4439aa
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
lea ecx, [esp + 0x318]
mov byte [esp + 0xf7c], 0xe
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x2fc]
mov byte [esp + 0xf7c], 0xd
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x2dc]
mov byte [esp + 0xf7c], 1
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x10]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
lea ecx, [esp + 0x18]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
mov eax, 1
jmp 0x443a06