Function at 0x43cb30
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Create raw socket
Create tcp socket
Create udp socket
Resolve dns
Send data
Send data on socket
Send http request
Send http request with host header
Set socket configuration

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4d50e9
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x610
mov eax, dword [0x508068]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [ebx + 8]
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x5d0], 0
mov dword [ebp - 0x5cc], esi
mov dword [ebp - 0x48], 0
lea edx, [esi + 0xb0]
call fcn.00472f00
mov edi, dword [ebp - 0x48]
cmp edi, dword [0x5108a8]
je 0x43ebc6
cmp byte [edi + 0xf], 0
jne 0x43ebc6
lea eax, [esi + 0x50]
mov dword [ebp - 0x4c], 0
push eax
mov dword [ebp - 0x20], eax
lea ecx, [edi + 0x3f0]
lea eax, [ebp - 0x4c]
push eax
call fcn.00444de0
mov eax, dword [ebp - 0x4c]
cmp eax, dword [edi + 0x3f0]
je 0x43ebc6
cmp byte [edi + 0xc], 0
jne 0x43cbea
cmp dword [esi + 0x28], 2
je 0x43cc25
mov dl, byte [esi + 0x34]
test dl, dl
je 0x43d334
mov ecx, dword [esi + 0x2c]
cmp ecx, 0x11
jne 0x43cc31
test dl, dl
je 0x43ebc6
cmp byte [0x5102e0], 0
je 0x43cc25
push 0
push 0x4f3dfc
push str.UDP_ssl
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
mov eax, dword [ebp - 0x4c]
mov dword [eax + 0x28], 0xd
jmp 0x43ebc6
cmp ecx, 6
jne 0x43ebc6
push ecx
lea edx, [edi + 0x38e]
lea ecx, [ebp - 0xcc]
call fcn.0043c790
mov edx, 0x51051a
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x9c]
call fcn.0043c790
add esp, 4
lea eax, [esi + 0x98]
mov byte [ebp - 4], 1
push eax
lea ecx, [ebp - 0x68]
call fcn.00406e00
push 0
push 0x4f3e24
lea ecx, [esi + 0x98]
mov byte [ebp - 4], 2
call fcn.00406a50
lea ecx, [ebp - 0x68]
cmp eax, 0xffffffff
jne 0x43cc9e
push 0x4f3e28
jmp 0x43cca3
push 0x4f3e2c
call fcn.00406b90
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x44]
mov eax, dword [ebp - 0xbc]
add eax, 0xa
mov dword [ebp - 0x34], 0
push eax
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
mov dword [ebp - 0x5d0], 1
call fcn.0040a910
push 0x4f3e30
lea ecx, [ebp - 0x44]
call fcn.00406b90
lea eax, [ebp - 0xcc]
push eax
lea ecx, [ebp - 0x44]
call fcn.00406c00
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0x68]
call fcn.00406c00
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x30]
cmp edx, 0x10
jb 0x43cd3a
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x43cd30
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43ebe4
push edx
push ecx
call fcn.004ad677
add esp, 8
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x44]
mov eax, dword [ebp - 0x8c]
add eax, 9
mov dword [ebp - 0x34], 0
push eax
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
mov dword [ebp - 0x5d0], 2
call fcn.0040a910
push 0x4f3e3c
lea ecx, [ebp - 0x44]
call fcn.00406b90
lea eax, [ebp - 0x9c]
push eax
lea ecx, [ebp - 0x44]
call fcn.00406c00
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0x68]
call fcn.00406c00
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x30]
cmp edx, 0x10
jb 0x43cdcc
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x43cdc2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43ebe9
push edx
push ecx
call fcn.004ad677
add esp, 8
mov edx, dword [0x510368]
lea ecx, [ebp - 0xb4]
call fcn.0040cf50
push eax
mov edx, 0x4f3e48
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x44]
call fcn.00450d00
add esp, 4
push eax
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 6
call fcn.00406c00
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x30]
cmp edx, 0x10
jb 0x43ce37
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x43ce2d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43ebee
push edx
push ecx
call fcn.004ad677
add esp, 8
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0xa0]
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
cmp edx, 0x10
jb 0x43ce87
mov ecx, dword [ebp - 0xb4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x43ce7d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43ebf3
push edx
push ecx
call fcn.004ad677
add esp, 8
push dword [esi + 0x4c]
lea ecx, [ebp - 0xb4]
push dword [esi + 0x48]
call fcn.0040d0b0
push eax
mov edx, 0x4f3e50
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x44]
call fcn.00450d00
add esp, 0xc
push eax
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 8
call fcn.00406c00
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0x30]
cmp edx, 0x10
jb 0x43cef2
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x43cee8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43ebf8
push edx
push ecx
call fcn.004ad677
add esp, 8
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0xa0]
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
cmp edx, 0x10
jb 0x43cf42
mov ecx, dword [ebp - 0xb4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x43cf38
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43ebfd
push edx
push ecx
call fcn.004ad677
add esp, 8
push dword [esi + 0x3c]
lea ecx, [ebp - 0xb4]
push dword [esi + 0x38]
call fcn.0040d0b0
push eax
mov edx, 0x4f3e5c
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x44]
call fcn.00450d00
add esp, 0xc
push eax
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0xa
call fcn.00406c00
mov byte [ebp - 4], 9
mov edx, dword [ebp - 0x30]
cmp edx, 0x10
jb 0x43cfad
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x43cfa3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43ec02
push edx
push ecx
call fcn.004ad677
add esp, 8
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0xa0]
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
cmp edx, 0x10
jb 0x43cffd
mov ecx, dword [ebp - 0xb4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x43cff3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43ec07
push edx
push ecx
call fcn.004ad677
add esp, 8
push dword [esi + 0x44]
lea ecx, [ebp - 0xb4]
push dword [esi + 0x40]
call fcn.0040d0b0
push eax
mov edx, 0x4f3e6c
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x44]
call fcn.00450d00
add esp, 0xc
push eax
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0xc
call fcn.00406c00
mov byte [ebp - 4], 0xb
mov edx, dword [ebp - 0x30]
cmp edx, 0x10
jb 0x43d068
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x43d05e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43ec0c
push edx
push ecx
call fcn.004ad677
add esp, 8
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0xa0]
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
cmp edx, 0x10
jb 0x43d0b8
mov ecx, dword [ebp - 0xb4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x43d0ae
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43ec11
push edx
push ecx
call fcn.004ad677
add esp, 8
cmp dword [esi + 0x28], 0
je 0x43d0ef
push 0x4f3e90
lea ecx, [ebp - 0x68]
mov dword [ebp - 0x28], 0x4f3e74
mov dword [ebp - 0x24], 0x4f3e80
mov dword [ebp - 0x20], 0x4f3e88
call fcn.00406b90
mov eax, dword [esi + 0x28]
lea ecx, [ebp - 0x68]
push dword [ebp + eax*4 - 0x2c]
call fcn.00406b90
push 0x4f3e98
lea ecx, [ebp - 0x68]
call fcn.00406b90
push 0x4f3ea8
lea ecx, [ebp - 0x68]
call fcn.00406b90
push 0x4f3eb4
lea ecx, [ebp - 0x68]
call fcn.00406b90
cmp byte [edi + 0xf], 0
jne 0x43d256
lea ecx, [ebp - 0x2e8]
call fcn.0043eca0
mov byte [ebp - 4], 0xd
mov eax, dword [ebx + 8]
mov ecx, dword [eax + 0x30]
sub eax, 0xffffff80
mov dword [ebp - 0x2e4], ecx
lea ecx, [ebp - 0x2b8]
push eax
call fcn.00406ca0
lea eax, [ebp - 0x68]
push eax
lea ecx, [ebp - 0x2e0]
call fcn.00406ca0
mov eax, dword [ebx + 8]
lea ecx, [ebp - 0x2a0]
add eax, 0x50
push eax
call fcn.004067e0
push 0
call fcn.004b59da
add esp, 4
mov dword [ebp - 0x2c8], eax
add edi, 0x33c
mov dword [ebp - 0x2c4], edx
lea eax, [ebp - 0x288]
push 0x29
push edi
push 0x29
push eax
call fcn.004bc902
add esp, 0x10
mov byte [ebp - 0x2e8], 0
push 0x3e8
push dword [0x50e53c]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x43d215
mov esi, dword [0x510590]
lea eax, [ebp - 0x2e8]
push eax
mov edi, dword [esi + 4]
push edi
push esi
call fcn.00455320
mov edx, dword [0x510594]
mov ecx, 0x1555554
sub ecx, edx
cmp ecx, 1
jb 0x43ec16
push dword [0x50e53c]
inc edx
mov dword [0x510594], edx
mov dword [esi + 4], eax
mov dword [edi], eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
test eax, eax
jne 0x43d232
cmp byte [0x5102e0], al
je 0x43d232
push eax
push str.send_tracker___ReleaseMutex___error
push 0x4f3ee8
jmp 0x43d22a
cmp byte [0x5102e0], 0
je 0x43d232
push 0
push 0x4f3f08
push 0x4f3f18
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp dword [0x510594], 0
je 0x43d24b
push 0
push 1
push dword [0x510558]
call dword [sym.imp.KERNEL32.dll_ReleaseSemaphore]
lea ecx, [ebp - 0x2e8]
call fcn.0043ecf0
mov edx, dword [ebp - 0x54]
cmp edx, 0x10
jb 0x43d28a
mov ecx, dword [ebp - 0x68]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x43d280
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43ec20
push edx
push ecx
call fcn.004ad677
add esp, 8
mov edx, dword [ebp - 0x88]
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0xf
mov byte [ebp - 0x68], 0
cmp edx, 0x10
jb 0x43d2d6
mov ecx, dword [ebp - 0x9c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x43d2cc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43ec25
push edx
push ecx
call fcn.004ad677
add esp, 8
mov edx, dword [ebp - 0xb8]
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x88], 0xf
mov byte [ebp - 0x9c], 0
cmp edx, 0x10
jb 0x43ebc6
mov ecx, dword [ebp - 0xcc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x43d325
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43ec2a
push edx
push ecx
call fcn.004ad677
add esp, 8
jmp 0x43ebc6
xorps xmm0, xmm0
lea eax, [esi + 0x80]
movups xmmword [ebp - 0x84], xmm0
cmp dword [eax + 0x14], 0x10
mov ecx, eax
movups xmmword [ebp - 0x94], xmm0
mov dword [ebp - 0x2c], eax
jb 0x43d358
mov ecx, dword [eax]
push ecx
call dword [sym.imp.WS2_32.dll_inet_addr]
mov edx, eax
cmp edx, 0xffffffff
jne 0x43d7ab
mov eax, dword [0x510578]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x5d8], ecx
cmp byte [ecx + 0xd], 0
jne 0x43d5c6
mov edx, dword [ebp - 0x2c]
mov esi, dword [edx + 0x10]
mov dword [ebp - 0x74], esi
nop dword [eax + eax]
cmp dword [edx + 0x14], 0x10
lea esi, [ecx + 0x10]
mov dword [ebp - 0x5d4], edx
jb 0x43d3a7
mov ecx, dword [edx]
mov dword [ebp - 0x5d4], ecx
cmp dword [esi + 0x14], 0x10
mov edx, esi
jb 0x43d3b1
mov edx, dword [esi]
mov ecx, dword [esi + 0x10]
mov esi, ecx
cmp dword [ebp - 0x74], ecx
mov dword [ebp - 0x6c], ecx
cmovb esi, dword [ebp - 0x74]
sub esi, 4
mov dword [ebp - 0x5d0], esi
jb 0x43d3f4
nop dword [eax + eax]
mov edi, dword [ebp - 0x5d4]
mov ecx, dword [edx]
cmp ecx, dword [edi]
mov edi, dword [ebp - 0x48]
jne 0x43d3f9
add dword [ebp - 0x5d4], 4
add edx, 4
sub esi, 4
mov dword [ebp - 0x5d0], esi
jae 0x43d3d0
cmp esi, 0xfffffffc
je 0x43d441
mov esi, dword [ebp - 0x5d4]
mov cl, byte [edx]
cmp cl, byte [esi]
jne 0x43d43a
cmp dword [ebp - 0x5d0], 0xfffffffd
je 0x43d441
mov cl, byte [edx + 1]
cmp cl, byte [esi + 1]
jne 0x43d43a
cmp dword [ebp - 0x5d0], 0xfffffffe
je 0x43d441
mov cl, byte [edx + 2]
cmp cl, byte [esi + 2]
jne 0x43d43a
cmp dword [ebp - 0x5d0], 0xffffffff
je 0x43d441
mov cl, byte [edx + 3]
mov edx, esi
cmp cl, byte [edx + 3]
je 0x43d441
sbb ecx, ecx
or ecx, 1
jmp 0x43d443
xor ecx, ecx
test ecx, ecx
jne 0x43d45a
mov ecx, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x74]
cmp edx, ecx
jbe 0x43d456
or ecx, 0xffffffff
jmp 0x43d45a
sbb ecx, ecx
neg ecx
shr ecx, 0x1f
test cl, cl
mov ecx, dword [ebp - 0x5d8]
je 0x43d46c
mov ecx, dword [ecx + 8]
jmp 0x43d470
mov eax, ecx
mov ecx, dword [ecx]
cmp byte [ecx + 0xd], 0
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x5d8], ecx
je 0x43d390
mov esi, dword [ebp - 0x5cc]
cmp eax, dword [0x510578]
je 0x43d5c6
cmp dword [eax + 0x24], 0x10
lea ecx, [eax + 0x10]
mov dword [ebp - 0x5d8], ecx
jb 0x43d4ac
mov ecx, dword [ecx]
mov dword [ebp - 0x5d8], ecx
cmp dword [esi + 0x94], 0x10
lea edx, [esi + 0x80]
mov ecx, edx
mov dword [ebp - 0x5d4], edx
jb 0x43d4cb
mov ecx, dword [edx]
mov dword [ebp - 0x5d4], ecx
mov edi, dword [edx + 0x10]
cmp dword [eax + 0x20], edi
mov esi, dword [ebp - 0x5cc]
cmovb edi, dword [eax + 0x20]
sub edi, 4
mov dword [ebp - 0x5d0], edi
mov edi, dword [ebp - 0x48]
jb 0x43d51e
nop dword [eax]
mov edi, dword [ebp - 0x5d8]
mov ecx, dword [ecx]
cmp ecx, dword [edi]
jne 0x43d527
mov ecx, dword [ebp - 0x5d4]
add dword [ebp - 0x5d8], 4
add ecx, 4
sub dword [ebp - 0x5d0], 4
mov edi, dword [ebp - 0x48]
mov dword [ebp - 0x5d4], ecx
jae 0x43d4f0
cmp dword [ebp - 0x5d0], 0xfffffffc
je 0x43d5a6
mov ecx, dword [ebp - 0x5d4]
mov edi, dword [ebp - 0x5d8]
mov cl, byte [ecx]
cmp cl, byte [edi]
mov edi, dword [ebp - 0x48]
jne 0x43d59f
cmp dword [ebp - 0x5d0], 0xfffffffd
je 0x43d5a6
mov ecx, dword [ebp - 0x5d4]
mov edi, dword [ebp - 0x5d8]
mov cl, byte [ecx + 1]
cmp cl, byte [edi + 1]
mov edi, dword [ebp - 0x48]
jne 0x43d59f
cmp dword [ebp - 0x5d0], 0xfffffffe
je 0x43d5a6
mov ecx, dword [ebp - 0x5d4]
mov esi, dword [ebp - 0x5d8]
mov cl, byte [ecx + 2]
cmp cl, byte [esi + 2]
mov esi, dword [ebp - 0x5cc]
jne 0x43d59f
cmp dword [ebp - 0x5d0], 0xffffffff
je 0x43d5a6
mov ecx, dword [ebp - 0x5d4]
mov edi, dword [ebp - 0x5d8]
mov cl, byte [ecx + 3]
cmp cl, byte [edi + 3]
mov edi, dword [ebp - 0x48]
je 0x43d5a6
sbb ecx, ecx
or ecx, 1
jmp 0x43d5a8
xor ecx, ecx
test ecx, ecx
jne 0x43d5bd
mov ecx, dword [edx + 0x10]
cmp dword [eax + 0x20], ecx
jbe 0x43d5b9
or ecx, 0xffffffff
jmp 0x43d5bd
sbb ecx, ecx
neg ecx
shr ecx, 0x1f
test cl, cl
jne 0x43d5cc
jmp 0x43d5d1
lea edx, [esi + 0x80]
mov eax, dword [0x510578]
cmp eax, dword [0x510578]
jne 0x43d77f
cmp dword [edx + 0x14], 0x10
mov eax, edx
jb 0x43d5e7
mov eax, dword [edx]
lea ecx, [ebp - 0x5cc]
push ecx
push 0
push 0
push eax
call dword [sym.imp.WS2_32.dll_getaddrinfo]
lea edx, [esi + 0xb0]
mov dword [ebp - 0x6c], eax
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x74], 0
call fcn.00472f00
mov ecx, dword [ebp - 0x74]
cmp ecx, dword [0x5108a8]
je 0x43ebc6
cmp dword [ebp - 0x6c], 0
jne 0x43d6e6
cmp byte [0x50aeb0], 0
mov eax, dword [ebp - 0x5cc]
mov eax, dword [eax + 0x18]
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x60], xmm0
movups xmmword [ebp - 0x94], xmm0
je 0x43d6ce
lea eax, [esi + 0x80]
push eax
lea ecx, [ebp - 0xdc]
call fcn.00406e00
movups xmm0, xmmword [ebp - 0x60]
movups xmmword [ebp - 0xc4], xmm0
lea eax, [ebp - 0xdc]
mov dword [ebp - 4], 0xe
push eax
call fcn.00457bb0
push eax
add eax, 0x10
push eax
push ecx
lea eax, [ebp - 0x70]
push eax
call fcn.00457c00
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0xc8]
cmp edx, 0x10
jb 0x43d6ce
mov ecx, dword [ebp - 0xdc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x43d6c4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43ec2f
push edx
push ecx
call fcn.004ad677
add esp, 8
push dword [ebp - 0x5cc]
call dword [sym.imp.WS2_32.dll_freeaddrinfo]
movzx eax, word [ebp - 0x94]
jmp 0x43d7e7
cmp byte [0x50aeb0], 0
je 0x43d764
mov eax, dword [ebp - 0x2c]
lea ecx, [ebp - 0xdc]
push eax
call fcn.00406e00
xorps xmm0, xmm0
movups xmmword [ebp - 0xc4], xmm0
lea eax, [ebp - 0xdc]
mov dword [ebp - 4], 0xf
push eax
call fcn.00457bb0
push eax
add eax, 0x10
push eax
push ecx
lea eax, [ebp - 0x24]
push eax
call fcn.00457c00
mov edx, dword [ebp - 0xc8]
cmp edx, 0x10
jb 0x43d764
mov ecx, dword [ebp - 0xdc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x43d75a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43ec34
push edx
push ecx
call fcn.004ad677
add esp, 8
mov eax, dword [ebp - 0x4c]
mov dword [eax + 0x28], 3
push dword [ebp - 0x5cc]
call dword [sym.imp.WS2_32.dll_freeaddrinfo]
jmp 0x43ebc6
movups xmm0, xmmword [eax + 0x28]
movd eax, xmm0
movups xmmword [ebp - 0x60], xmm0
mov dword [ebp - 0x5d0], eax
test ax, ax
je 0x43d79c
cmp ax, 0x17
jne 0x43d7ed
mov eax, dword [ebp - 0x4c]
mov dword [eax + 0x28], 3
jmp 0x43ebc6
cmp dword [esi + 0x94], 0x10
lea ecx, [esi + 0x80]
jb 0x43d7c0
mov ecx, dword [esi + 0x80]
cmp byte [ecx], 0x5b
mov eax, 0x17
je 0x43d7cf
mov eax, 2
mov word [ebp - 0x94], ax
mov dword [ebp - 0x90], edx
movups xmm0, xmmword [ebp - 0x94]
movups xmmword [ebp - 0x60], xmm0
mov dword [ebp - 0x5d0], eax
push 0x3e8
push dword [0x50e47c]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x43eb90
mov eax, dword [ebp - 0x5d0]
movzx eax, ax
sub eax, 2
jne case.default.0x43d86e
movups xmm0, xmmword [ebp - 0x60]
movups xmmword [ebp - 0x84], xmm0
movzx eax, word [esi + 0x30]
push eax
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0x82], ax
mov eax, 2
mov word [ebp - 0x84], ax
mov eax, dword [esi + 0x2c]
cmp eax, 0x11
jne 0x43e4ee
cmp byte [esi + 0x34], 0
je 0x43d862
mov eax, dword [ebp - 0x4c]
mov dword [eax + 0x28], 0xd
jmp case.default.0x43d86e
mov eax, dword [esi + 0x28]
cmp eax, 3
ja case.default.0x43d86e
jmp dword [eax*4 + 0x43ec84]
push 0x11
push 2
push 2
call dword [sym.imp.WS2_32.dll_socket]
xor ecx, ecx
mov dword [ebp - 0x5cc], eax
mov byte [ebp - 0x454], 0
mov dword [ebp - 0x42c], 0
mov dword [ebp - 0x428], 0
mov dword [ebp - 0x414], 0
mov dword [ebp - 0x410], 0xf
mov byte [ebp - 0x424], 0
mov dword [ebp - 0x3fc], 0
mov dword [ebp - 0x3f8], 7
mov word [ebp - 0x40c], cx
mov dword [ebp - 4], 0x10
movups xmm0, xmmword [ebp - 0x84]
push ecx
mov dword [ebp - 0x438], 2
mov dword [ebp - 0x458], eax
movups xmmword [ebp - 0x450], xmm0
call fcn.004b59da
mov dword [ebp - 0x440], eax
lea ecx, [ebp - 0x40c]
mov eax, dword [ebx + 8]
add esp, 4
add eax, 0x50
mov dword [ebp - 0x43c], edx
push eax
call fcn.004067e0
push 0x29
lea eax, [edi + 0x33c]
mov dword [ebp - 0x434], 2
push eax
lea eax, [ebp - 0x3f4]
mov dword [ebp - 0x430], 0x11
push 0x29
push eax
call fcn.004bc902
add esp, 0x10
cmp byte [edi + 0xf], 0
jne 0x43d999
mov esi, dword [0x5102a4]
lea ecx, [ebp - 0x458]
push ecx
mov eax, dword [esi + 4]
push eax
push esi
mov dword [ebp - 0x6c], eax
call fcn.00455430
mov edx, dword [0x5102a8]
mov ecx, 0x1555554
sub ecx, edx
cmp ecx, 1
jb 0x43ec39
mov ecx, dword [ebp - 0x6c]
inc edx
mov dword [0x5102a8], edx
mov dword [esi + 4], eax
mov dword [ecx], eax
mov esi, dword [ebp - 0x4c]
push 1
mov eax, dword [esi + 0x30]
mov dword [ebp - 0x160], eax
mov eax, dword [esi + 0x34]
mov dword [ebp - 0x15c], eax
call dword [sym.imp.WS2_32.dll_htonl]
mov dword [ebp - 0x158], eax
call fcn.004b5e13
mov dword [ebp - 0x154], eax
movups xmm0, xmmword [edi + 0x38e]
movups xmmword [ebp - 0x150], xmm0
mov eax, dword [edi + 0x39e]
movups xmm0, xmmword [0x51051a]
mov dword [ebp - 0x140], eax
mov eax, dword [0x51052a]
mov dword [ebp - 0x12c], eax
mov eax, dword [ebx + 8]
movups xmmword [ebp - 0x13c], xmm0
mov edx, dword [eax + 0x3c]
mov ecx, edx
mov edi, dword [eax + 0x3c]
shr ecx, 0x18
mov byte [ebp - 0x28], cl
mov ecx, edx
shr ecx, 0x10
mov byte [ebp - 0x27], cl
mov ecx, edx
shr ecx, 8
mov byte [ebp - 0x26], cl
mov ecx, edi
mov byte [ebp - 0x25], dl
mov edx, dword [eax + 0x38]
shrd edx, ecx, 0x18
mov byte [ebp - 0x24], dl
mov edx, dword [eax + 0x38]
shrd edx, ecx, 0x10
mov byte [ebp - 0x23], dl
mov edx, dword [eax + 0x38]
mov ecx, edx
shrd ecx, edi, 8
mov byte [ebp - 0x21], dl
mov byte [ebp - 0x22], cl
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x128], ecx
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x124], ecx
mov edx, dword [eax + 0x44]
mov ecx, edx
mov edi, dword [eax + 0x44]
shr ecx, 0x18
mov byte [ebp - 0x28], cl
mov ecx, edx
shr ecx, 0x10
mov byte [ebp - 0x27], cl
mov ecx, edx
shr ecx, 8
mov byte [ebp - 0x26], cl
mov ecx, edi
mov byte [ebp - 0x25], dl
mov edx, dword [eax + 0x40]
shrd edx, ecx, 0x18
mov byte [ebp - 0x24], dl
mov edx, dword [eax + 0x40]
shrd edx, ecx, 0x10
mov byte [ebp - 0x23], dl
mov edx, dword [eax + 0x40]
mov ecx, edx
shrd ecx, edi, 8
mov byte [ebp - 0x21], dl
mov byte [ebp - 0x22], cl
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x120], ecx
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x11c], ecx
mov ecx, dword [eax + 0x48]
mov edx, dword [eax + 0x4c]
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x2c], ecx
mov byte [ebp - 0x28], al
mov eax, edx
mov byte [ebp - 0x25], dl
shr eax, 0x10
mov byte [ebp - 0x27], al
mov eax, edx
shr eax, 8
mov byte [ebp - 0x26], al
mov eax, edx
shrd ecx, eax, 0x18
push 0
mov byte [ebp - 0x24], cl
mov ecx, dword [ebp - 0x2c]
shrd ecx, eax, 0x10
mov byte [ebp - 0x23], cl
mov ecx, dword [ebp - 0x2c]
mov eax, ecx
shrd eax, edx, 8
mov byte [ebp - 0x21], cl
mov byte [ebp - 0x22], al
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x118], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x114], eax
call dword [sym.imp.WS2_32.dll_htonl]
mov dword [ebp - 0x110], eax
movzx eax, word [0x510368]
push eax
mov eax, dword [sym.imp.WS2_32.dll_htons]
mov dword [ebp - 0x10c], 0
mov dword [ebp - 0x108], 0
mov dword [ebp - 0x104], 0xffffffff
call eax
push 0x10
mov word [ebp - 0x100], ax
lea eax, [ebp - 0x84]
push eax
push 0
push 0x62
lea eax, [ebp - 0x160]
push eax
push dword [ebp - 0x5cc]
call dword [sym.imp.WS2_32.dll_sendto]
lea ecx, [ebp - 0x40c]
mov dword [esi + 0x28], 0xe
call fcn.00407cb0
mov edx, dword [ebp - 0x410]
cmp edx, 0x10
jb 0x43dbb3
mov ecx, dword [ebp - 0x424]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x43dba9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43ec43
push edx
push ecx
call fcn.004ad677
add esp, 8
mov dword [ebp - 0x414], 0
mov dword [ebp - 0x410], 0xf
mov byte [ebp - 0x424], 0
jmp case.default.0x43d86e
push 0x11
push 2
push 2
call dword [sym.imp.WS2_32.dll_socket]
xor ecx, ecx
mov dword [ebp - 0x5cc], eax
mov byte [ebp - 0x50c], 0
mov dword [ebp - 0x4e4], 0
mov dword [ebp - 0x4e0], 0
mov dword [ebp - 0x4cc], 0
mov dword [ebp - 0x4c8], 0xf
mov byte [ebp - 0x4dc], 0
mov dword [ebp - 0x4b4], 0
mov dword [ebp - 0x4b0], 7
mov word [ebp - 0x4c4], cx
mov dword [ebp - 4], 0x11
movups xmm0, xmmword [ebp - 0x84]
push ecx
mov dword [ebp - 0x4f0], 2
mov dword [ebp - 0x510], eax
movups xmmword [ebp - 0x508], xmm0
call fcn.004b59da
mov dword [ebp - 0x4f8], eax
lea ecx, [ebp - 0x4c4]
mov eax, dword [ebx + 8]
add esp, 4
add eax, 0x50
mov dword [ebp - 0x4f4], edx
push eax
call fcn.004067e0
push 0x29
lea eax, [edi + 0x33c]
mov dword [ebp - 0x4ec], 2
push eax
lea eax, [ebp - 0x4ac]
mov dword [ebp - 0x4e8], 0x11
push 0x29
push eax
call fcn.004bc902
add esp, 0x10
cmp byte [edi + 0xf], 0
jne 0x43dcf7
mov esi, dword [0x5102a4]
lea ecx, [ebp - 0x510]
push ecx
mov eax, dword [esi + 4]
push eax
push esi
mov dword [ebp - 0x6c], eax
call fcn.00455430
mov edx, dword [0x5102a8]
mov ecx, 0x1555554
sub ecx, edx
cmp ecx, 1
jb 0x43ec48
mov ecx, dword [ebp - 0x6c]
inc edx
mov dword [0x5102a8], edx
mov dword [esi + 4], eax
mov dword [ecx], eax
mov esi, dword [ebp - 0x4c]
push 1
mov eax, dword [esi + 0x30]
mov dword [ebp - 0x1c8], eax
mov eax, dword [esi + 0x34]
mov dword [ebp - 0x1c4], eax
call dword [sym.imp.WS2_32.dll_htonl]
mov dword [ebp - 0x1c0], eax
call fcn.004b5e13
mov dword [ebp - 0x1bc], eax
movups xmm0, xmmword [edi + 0x38e]
movups xmmword [ebp - 0x1b8], xmm0
mov eax, dword [edi + 0x39e]
movups xmm0, xmmword [0x51051a]
mov dword [ebp - 0x1a8], eax
mov eax, dword [0x51052a]
mov dword [ebp - 0x194], eax
mov eax, dword [ebx + 8]
movups xmmword [ebp - 0x1a4], xmm0
mov edx, dword [eax + 0x3c]
mov ecx, edx
mov edi, dword [eax + 0x3c]
shr ecx, 0x18
mov byte [ebp - 0x28], cl
mov ecx, edx
shr ecx, 0x10
mov byte [ebp - 0x27], cl
mov ecx, edx
shr ecx, 8
mov byte [ebp - 0x26], cl
mov ecx, edi
mov byte [ebp - 0x25], dl
mov edx, dword [eax + 0x38]
shrd edx, ecx, 0x18
mov byte [ebp - 0x24], dl
mov edx, dword [eax + 0x38]
shrd edx, ecx, 0x10
mov byte [ebp - 0x23], dl
mov edx, dword [eax + 0x38]
mov ecx, edx
shrd ecx, edi, 8
mov byte [ebp - 0x21], dl
mov byte [ebp - 0x22], cl
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x190], ecx
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x18c], ecx
mov edx, dword [eax + 0x44]
mov ecx, edx
mov edi, dword [eax + 0x44]
shr ecx, 0x18
mov byte [ebp - 0x28], cl
mov ecx, edx
shr ecx, 0x10
mov byte [ebp - 0x27], cl
mov ecx, edx
shr ecx, 8
mov byte [ebp - 0x26], cl
mov ecx, edi
mov byte [ebp - 0x25], dl
mov edx, dword [eax + 0x40]
shrd edx, ecx, 0x18
mov byte [ebp - 0x24], dl
mov edx, dword [eax + 0x40]
shrd edx, ecx, 0x10
mov byte [ebp - 0x23], dl
mov edx, dword [eax + 0x40]
mov ecx, edx
shrd ecx, edi, 8
mov byte [ebp - 0x21], dl
mov byte [ebp - 0x22], cl
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x188], ecx
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x184], ecx
mov ecx, dword [eax + 0x48]
mov edx, dword [eax + 0x4c]
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x2c], ecx
mov byte [ebp - 0x28], al
mov eax, edx
mov byte [ebp - 0x25], dl
shr eax, 0x10
mov byte [ebp - 0x27], al
mov eax, edx
shr eax, 8
mov byte [ebp - 0x26], al
mov eax, edx
shrd ecx, eax, 0x18
push 1
mov byte [ebp - 0x24], cl
mov ecx, dword [ebp - 0x2c]
shrd ecx, eax, 0x10
mov byte [ebp - 0x23], cl
mov ecx, dword [ebp - 0x2c]
mov eax, ecx
shrd eax, edx, 8
mov byte [ebp - 0x21], cl
mov byte [ebp - 0x22], al
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x180], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x17c], eax
call dword [sym.imp.WS2_32.dll_htonl]
mov dword [ebp - 0x178], eax
movzx eax, word [0x510368]
push eax
mov eax, dword [sym.imp.WS2_32.dll_htons]
mov dword [ebp - 0x174], 0
mov dword [ebp - 0x170], 0
mov dword [ebp - 0x16c], 0xffffffff
call eax
push 0x10
mov word [ebp - 0x168], ax
lea eax, [ebp - 0x84]
push eax
push 0
push 0x62
lea eax, [ebp - 0x1c8]
push eax
push dword [ebp - 0x5cc]
call dword [sym.imp.WS2_32.dll_sendto]
test eax, eax
jns 0x43dee7
cmp byte [0x5102e0], 0
je 0x43dee7
mov eax, dword [sym.imp.USER32.dll_MessageBoxA]
push 0
push 0x4f3f48
push 0x4f3f54
push 0
call eax
lea ecx, [ebp - 0x4c4]
mov dword [esi + 0x28], 0xf
call fcn.00407cb0
mov edx, dword [ebp - 0x4c8]
cmp edx, 0x10
jb 0x43df33
mov ecx, dword [ebp - 0x4dc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x43df29
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43ec52
push edx
push ecx
call fcn.004ad677
add esp, 8
mov dword [ebp - 0x4cc], 0
mov dword [ebp - 0x4c8], 0xf
mov byte [ebp - 0x4dc], 0
jmp case.default.0x43d86e
mov dword [ebp - 0x28], 0x17040000
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x24], 0x80191027
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], 0
call fcn.004b5e13
push 0x11
push 2
push 2
mov dword [ebp - 0x54], eax
call dword [sym.imp.WS2_32.dll_socket]
xor ecx, ecx
mov dword [ebp - 0x6c], eax
mov byte [ebp - 0x5c4], 0
mov dword [ebp - 0x5a8], 0
mov dword [ebp - 0x59c], 0
mov dword [ebp - 0x598], 0
mov dword [ebp - 0x584], 0
mov dword [ebp - 0x580], 0xf
mov byte [ebp - 0x594], 0
mov dword [ebp - 0x56c], 0
mov dword [ebp - 0x568], 7
mov word [ebp - 0x57c], cx
mov dword [ebp - 4], 0x12
lea ecx, [ebp - 0x57c]
movups xmm0, xmmword [ebp - 0x84]
mov dword [ebp - 0x5c8], eax
mov eax, dword [ebx + 8]
add eax, 0x50
push eax
movups xmmword [ebp - 0x5c0], xmm0
call fcn.004067e0
push 0
call fcn.004b59da
add esp, 4
mov dword [ebp - 0x5b0], eax
lea eax, [edi + 0x33c]
mov dword [ebp - 0x5ac], edx
mov dword [ebp - 0x5a4], 2
mov dword [ebp - 0x5a0], 0x11
push 0x29
push eax
lea eax, [ebp - 0x564]
push 0x29
push eax
call fcn.004bc902
add esp, 0x10
cmp byte [edi + 0xf], 0
jne 0x43e098
mov esi, dword [0x5102a4]
lea eax, [ebp - 0x5c8]
push eax
mov edi, dword [esi + 4]
push edi
push esi
call fcn.00455430
mov edx, dword [0x5102a8]
mov ecx, 0x1555554
sub ecx, edx
cmp ecx, 1
jb 0x43ec57
inc edx
mov dword [0x5102a8], edx
mov dword [esi + 4], eax
mov dword [edi], eax
push 0x10
lea eax, [ebp - 0x84]
push eax
push 0
push 0x10
lea eax, [ebp - 0x60]
push eax
push dword [ebp - 0x6c]
call dword [sym.imp.WS2_32.dll_sendto]
mov eax, dword [ebp - 0x4c]
lea ecx, [ebp - 0x57c]
mov dword [eax + 0x28], 0x10
call fcn.00407cb0
mov edx, dword [ebp - 0x580]
cmp edx, 0x10
jb 0x43e101
mov ecx, dword [ebp - 0x594]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x43e0f7
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43ec61
push edx
push ecx
call fcn.004ad677
add esp, 8
mov dword [ebp - 0x584], 0
mov dword [ebp - 0x580], 0xf
mov byte [ebp - 0x594], 0
jmp case.default.0x43d86e
cmp edi, dword [0x5108a8]
jne 0x43e147
cmp byte [0x5102e0], 0
je 0x43e147
mov eax, dword [sym.imp.USER32.dll_MessageBoxA]
push 0
push 0x4f3f80
push 0x4f3f98
push 0
call eax
push dword [ebp - 0x20]
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x2c], 0
push eax
lea ecx, [edi + 0x3f0]
call fcn.00444de0
mov esi, dword [ebp - 0x2c]
cmp esi, dword [edi + 0x3f0]
jne 0x43e188
cmp byte [0x5102e0], 0
je 0x43e188
push 0
push 0x4f3fb8
push 0x4f3fc8
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0x11
push 2
push 2
call dword [sym.imp.WS2_32.dll_socket]
xor ecx, ecx
mov dword [ebp - 0x5cc], eax
mov byte [ebp - 0x2e4], 0
mov dword [ebp - 0x2bc], 0
mov dword [ebp - 0x2b8], 0
mov dword [ebp - 0x2a4], 0
mov dword [ebp - 0x2a0], 0xf
mov byte [ebp - 0x2b4], 0
mov dword [ebp - 0x28c], 0
mov dword [ebp - 0x288], 7
mov word [ebp - 0x29c], cx
mov dword [ebp - 4], 0x13
movups xmm0, xmmword [ebp - 0x84]
push ecx
mov dword [ebp - 0x2c8], 3
mov dword [ebp - 0x2e8], eax
movups xmmword [ebp - 0x2e0], xmm0
call fcn.004b59da
mov dword [ebp - 0x2d0], eax
lea ecx, [ebp - 0x29c]
mov eax, dword [ebx + 8]
add esp, 4
add eax, 0x50
mov dword [ebp - 0x2cc], edx
push eax
call fcn.004067e0
push 0x29
lea eax, [edi + 0x33c]
mov dword [ebp - 0x2c4], 2
push eax
lea eax, [ebp - 0x284]
mov dword [ebp - 0x2c0], 0x11
push 0x29
push eax
call fcn.004bc902
add esp, 0x10
cmp byte [edi + 0xf], 0
jne 0x43e2b7
mov eax, dword [0x5102a4]
lea edx, [ebp - 0x2e8]
push edx
mov dword [ebp - 0x20], eax
mov ecx, dword [eax + 4]
push ecx
push eax
mov dword [ebp - 0x2c], ecx
call fcn.00455430
mov edx, dword [0x5102a8]
mov ecx, 0x1555554
sub ecx, edx
mov dword [ebp - 0x6c], eax
cmp ecx, 1
jb 0x43ec66
mov eax, dword [ebp - 0x20]
inc edx
mov ecx, dword [ebp - 0x6c]
mov dword [0x5102a8], edx
mov dword [eax + 4], ecx
mov eax, dword [ebp - 0x2c]
mov dword [eax], ecx
mov eax, dword [esi + 0x30]
mov dword [ebp - 0x230], eax
mov eax, dword [esi + 0x34]
push 1
mov dword [ebp - 0x22c], eax
call dword [sym.imp.WS2_32.dll_htonl]
mov dword [ebp - 0x228], eax
call fcn.004b5e13
mov dword [ebp - 0x224], eax
movups xmm0, xmmword [edi + 0x38e]
movups xmmword [ebp - 0x220], xmm0
mov eax, dword [edi + 0x39e]
movups xmm0, xmmword [0x51051a]
mov dword [ebp - 0x210], eax
mov eax, dword [0x51052a]
mov dword [ebp - 0x1fc], eax
mov eax, dword [ebx + 8]
movups xmmword [ebp - 0x20c], xmm0
mov edx, dword [eax + 0x3c]
mov ecx, edx
mov edi, dword [eax + 0x3c]
shr ecx, 0x18
mov byte [ebp - 0x28], cl
mov ecx, edx
shr ecx, 0x10
mov byte [ebp - 0x27], cl
mov ecx, edx
shr ecx, 8
mov byte [ebp - 0x26], cl
mov ecx, edi
mov byte [ebp - 0x25], dl
mov edx, dword [eax + 0x38]
shrd edx, ecx, 0x18
mov byte [ebp - 0x24], dl
mov edx, dword [eax + 0x38]
shrd edx, ecx, 0x10
mov byte [ebp - 0x23], dl
mov edx, dword [eax + 0x38]
mov ecx, edx
shrd ecx, edi, 8
mov byte [ebp - 0x21], dl
mov byte [ebp - 0x22], cl
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x1f8], ecx
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x1f4], ecx
mov edx, dword [eax + 0x44]
mov ecx, edx
mov edi, dword [eax + 0x44]
shr ecx, 0x18
mov byte [ebp - 0x28], cl
mov ecx, edx
shr ecx, 0x10
mov byte [ebp - 0x27], cl
mov ecx, edx
shr ecx, 8
mov byte [ebp - 0x26], cl
mov ecx, edi
mov byte [ebp - 0x25], dl
mov edx, dword [eax + 0x40]
shrd edx, ecx, 0x18
mov byte [ebp - 0x24], dl
mov edx, dword [eax + 0x40]
shrd edx, ecx, 0x10
mov byte [ebp - 0x23], dl
mov edx, dword [eax + 0x40]
mov ecx, edx
shrd ecx, edi, 8
mov byte [ebp - 0x21], dl
mov byte [ebp - 0x22], cl
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x1f0], ecx
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x1ec], ecx
mov ecx, dword [eax + 0x48]
mov edx, dword [eax + 0x4c]
mov eax, edx
shr eax, 0x18
mov byte [ebp - 0x28], al
mov eax, edx
mov dword [ebp - 0x2c], ecx
shr eax, 0x10
mov byte [ebp - 0x27], al
mov eax, edx
shr eax, 8
mov byte [ebp - 0x26], al
mov eax, edx
shrd ecx, eax, 0x18
mov byte [ebp - 0x25], dl
mov byte [ebp - 0x24], cl
mov ecx, dword [ebp - 0x2c]
shrd ecx, eax, 0x10
push 3
mov byte [ebp - 0x23], cl
mov ecx, dword [ebp - 0x2c]
mov eax, ecx
shrd eax, edx, 8
mov byte [ebp - 0x21], cl
mov byte [ebp - 0x22], al
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x1e8], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x1e4], eax
call dword [sym.imp.WS2_32.dll_htonl]
mov dword [ebp - 0x1e0], eax
movzx eax, word [0x510368]
push eax
mov eax, dword [sym.imp.WS2_32.dll_htons]
mov dword [ebp - 0x1dc], 0
mov dword [ebp - 0x1d8], 0
mov dword [ebp - 0x1d4], 0xffffffff
call eax
push 0x10
mov word [ebp - 0x1d0], ax
lea eax, [ebp - 0x84]
push eax
push 0
push 0x62
lea eax, [ebp - 0x230]
push eax
push dword [ebp - 0x5cc]
call dword [sym.imp.WS2_32.dll_sendto]
lea ecx, [ebp - 0x29c]
mov dword [esi + 0x28], 0x11
call fcn.00407cb0
mov edx, dword [ebp - 0x2a0]
cmp edx, 0x10
jb 0x43e4ce
mov ecx, dword [ebp - 0x2b4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x43e4c4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43ec70
push edx
push ecx
call fcn.004ad677
add esp, 8
mov dword [ebp - 0x2a4], 0
mov dword [ebp - 0x2a0], 0xf
mov byte [ebp - 0x2b4], 0
jmp case.default.0x43d86e
cmp eax, 6
jne case.default.0x43d86e
push ecx
lea edx, [edi + 0x38e]
lea ecx, [ebp - 0xb4]
call fcn.0043c790
mov edx, 0x51051a
mov dword [ebp - 4], 0x14
lea ecx, [ebp - 0xf4]
call fcn.0043c790
add esp, 4
lea eax, [esi + 0x98]
mov byte [ebp - 4], 0x15
push eax
mov edx, str.GET
lea ecx, [ebp - 0x44]
call fcn.00450c60
add esp, 4
push 0
push 0x4f3ff4
lea ecx, [esi + 0x98]
mov byte [ebp - 4], 0x16
call fcn.00406a50
lea ecx, [ebp - 0x44]
cmp eax, 0xffffffff
jne 0x43e563
push 0x4f3ff8
jmp 0x43e568
push 0x4f3ffc
call fcn.00406b90
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x68]
mov eax, dword [ebp - 0xa4]
add eax, 0xa
mov dword [ebp - 0x58], 0
push eax
mov dword [ebp - 0x54], 0xf
mov byte [ebp - 0x68], 0
mov dword [ebp - 0x5d0], 0x200
call fcn.0040a910
push 0x4f4000
lea ecx, [ebp - 0x68]
call fcn.00406b90
lea eax, [ebp - 0xb4]
push eax
lea ecx, [ebp - 0x68]
call fcn.00406c00
lea eax, [ebp - 0x68]
push eax
lea ecx, [ebp - 0x44]
call fcn.00406c00
lea ecx, [ebp - 0x68]
call fcn.00406cd0
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x68]
mov eax, dword [ebp - 0xe4]
add eax, 9
mov dword [ebp - 0x58], 0
push eax
mov dword [ebp - 0x54], 0xf
mov byte [ebp - 0x68], 0
mov dword [ebp - 0x5d0], 0x400
call fcn.0040a910
push str.peer_id
lea ecx, [ebp - 0x68]
call fcn.00406b90
lea eax, [ebp - 0xf4]
push eax
lea ecx, [ebp - 0x68]
call fcn.00406c00
lea eax, [ebp - 0x68]
push eax
lea ecx, [ebp - 0x44]
call fcn.00406c00
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x16
call fcn.00406cd0
mov edx, dword [0x510368]
lea ecx, [ebp - 0x5f0]
call fcn.0040cf50
push eax
mov edx, 0x4f4018
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0xcc]
call fcn.00450d00
add esp, 4
push eax
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x1a
call fcn.00406c00
lea ecx, [ebp - 0xcc]
call fcn.00406cd0
lea ecx, [ebp - 0x5f0]
mov byte [ebp - 4], 0x16
call fcn.00406cd0
push dword [esi + 0x4c]
lea ecx, [ebp - 0x5f0]
push dword [esi + 0x48]
call fcn.0040d0b0
push eax
mov edx, str.uploaded
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0xcc]
call fcn.00450d00
add esp, 0xc
push eax
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x1c
call fcn.00406c00
lea ecx, [ebp - 0xcc]
call fcn.00406cd0
lea ecx, [ebp - 0x5f0]
mov byte [ebp - 4], 0x16
call fcn.00406cd0
push dword [esi + 0x3c]
lea ecx, [ebp - 0x5f0]
push dword [esi + 0x38]
call fcn.0040d0b0
push eax
mov edx, str.downloaded
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0xcc]
call fcn.00450d00
add esp, 0xc
push eax
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x1e
call fcn.00406c00
lea ecx, [ebp - 0xcc]
call fcn.00406cd0
lea ecx, [ebp - 0x5f0]
mov byte [ebp - 4], 0x16
call fcn.00406cd0
push dword [esi + 0x44]
lea ecx, [ebp - 0x5f0]
push dword [esi + 0x40]
call fcn.0040d0b0
push eax
mov edx, str.left
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0xcc]
call fcn.00450d00
add esp, 0xc
push eax
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x20
call fcn.00406c00
lea ecx, [ebp - 0xcc]
call fcn.00406cd0
lea ecx, [ebp - 0x5f0]
mov byte [ebp - 4], 0x16
call fcn.00406cd0
cmp dword [esi + 0x28], 0
je 0x43e7b8
push str.event
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x90], str.completed
mov dword [ebp - 0x8c], str.started
mov dword [ebp - 0x88], str.stopped
call fcn.00406b90
mov eax, dword [esi + 0x28]
lea ecx, [ebp - 0x44]
push dword [ebp + eax*4 - 0x94]
call fcn.00406b90
push str.numwant200
lea ecx, [ebp - 0x44]
call fcn.00406b90
push str.compact1
lea ecx, [ebp - 0x44]
call fcn.00406b90
push str.no_peer_id1
lea ecx, [ebp - 0x44]
call fcn.00406b90
push str._HTTP_1.1_r_n
lea ecx, [ebp - 0x44]
call fcn.00406b90
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x68]
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0xf
mov byte [ebp - 0x68], 0
mov eax, dword [esi + 0x90]
add eax, 6
mov dword [ebp - 0x5d0], 0x20000
push eax
call fcn.0040a910
push str.Host:
lea ecx, [ebp - 0x68]
call fcn.00406b90
lea eax, [esi + 0x80]
push eax
lea ecx, [ebp - 0x68]
call fcn.00406c00
lea eax, [ebp - 0x68]
push eax
lea ecx, [ebp - 0x44]
call fcn.00406c00
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x16
call fcn.00406cd0
mov edx, dword [esi + 0x30]
cmp edx, 0x50
je 0x43e8a4
lea ecx, [ebp - 0x5f0]
call fcn.0040cf50
push eax
mov edx, 0x4f40a8
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0xcc]
call fcn.00450d00
add esp, 4
push eax
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x23
call fcn.00406c00
lea ecx, [ebp - 0xcc]
call fcn.00406cd0
lea ecx, [ebp - 0x5f0]
mov byte [ebp - 4], 0x16
call fcn.00406cd0
push 0x4f40ac
lea ecx, [ebp - 0x44]
call fcn.00406b90
push 4
push 0x4f40b4
lea ecx, [ebp - 0x5f0]
mov dword [ebp - 0x5e0], 0
mov dword [ebp - 0x5dc], 0xf
mov byte [ebp - 0x5f0], 0
call fcn.00407e90
lea eax, [ebp - 0x5f0]
mov byte [ebp - 4], 0x24
push eax
mov edx, str.User_Agent:_byTorrent_
lea ecx, [ebp - 0x620]
call fcn.00450d00
add esp, 4
push 0x4f40b0
mov edx, eax
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0x608]
call fcn.00450d60
add esp, 4
push eax
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x26
call fcn.00406c00
lea ecx, [ebp - 0x608]
call fcn.00406cd0
lea ecx, [ebp - 0x620]
call fcn.00406cd0
lea ecx, [ebp - 0x5f0]
mov byte [ebp - 4], 0x16
call fcn.00406cd0
push str.Accept_Encoding:_gzip_r_n
lea ecx, [ebp - 0x44]
call fcn.00406b90
push str.Connection:_close_r_n_r_n
lea ecx, [ebp - 0x44]
call fcn.00406b90
push 6
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov esi, eax
mov dword [ebp - 0x20], 1
lea eax, [ebp - 0x20]
push eax
push 0x8004667e
push esi
call dword [sym.imp.WS2_32.dll_ioctlsocket]
cmp eax, 0xffffffff
jne 0x43e9ae
lea ecx, [ebp - 0x44]
call fcn.00406cd0
lea ecx, [ebp - 0xf4]
call fcn.00406cd0
lea ecx, [ebp - 0xb4]
call fcn.00406cd0
jmp 0x43ebc6
push 4
lea eax, [ebp - 0x6c]
mov dword [ebp - 0x6c], 1
push eax
push 4
push 0xffff
push esi
call dword [sym.imp.WS2_32.dll_setsockopt]
xor eax, eax
mov byte [ebp - 0x39c], 0
mov dword [ebp - 0x380], 0
mov dword [ebp - 0x374], 0
mov dword [ebp - 0x370], 0
mov dword [ebp - 0x35c], 0
mov dword [ebp - 0x358], 0xf
mov byte [ebp - 0x36c], 0
mov dword [ebp - 0x344], 0
mov dword [ebp - 0x340], 7
mov word [ebp - 0x354], ax
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0x27
push eax
lea ecx, [ebp - 0x36c]
mov dword [ebp - 0x3a0], esi
call fcn.00406ca0
mov eax, dword [ebx + 8]
mov ecx, dword [eax + 0x28]
add eax, 0x50
mov dword [ebp - 0x380], ecx
lea ecx, [ebp - 0x354]
push eax
call fcn.004067e0
push 0
mov dword [ebp - 0x37c], 2
mov dword [ebp - 0x378], 6
call fcn.004b59da
add esp, 4
mov dword [ebp - 0x388], eax
lea eax, [edi + 0x33c]
mov dword [ebp - 0x384], edx
push 0x29
push eax
lea eax, [ebp - 0x33c]
push 0x29
push eax
call fcn.004bc902
add esp, 0x10
lea eax, [ebp - 0x84]
push 0x10
push eax
push esi
call dword [sym.imp.WS2_32.dll_connect]
cmp byte [edi + 0xf], 0
jne 0x43eaed
mov esi, dword [0x5102a4]
lea eax, [ebp - 0x3a0]
push eax
mov edi, dword [esi + 4]
push edi
push esi
call fcn.00455430
mov edx, dword [0x5102a8]
mov ecx, 0x1555554
sub ecx, edx
cmp ecx, 1
jb 0x43ec75
inc edx
mov dword [0x5102a8], edx
mov dword [esi + 4], eax
mov dword [edi], eax
lea ecx, [ebp - 0x354]
call fcn.00407cb0
mov edx, dword [ebp - 0x358]
cmp edx, 0x10
jb 0x43eb32
mov ecx, dword [ebp - 0x36c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x43eb28
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43ec7f
push edx
push ecx
call fcn.004ad677
add esp, 8
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x35c], 0
mov dword [ebp - 0x358], 0xf
mov byte [ebp - 0x36c], 0
call fcn.00406cd0
lea ecx, [ebp - 0xf4]
call fcn.00406cd0
lea ecx, [ebp - 0xb4]
call fcn.00406cd0
push dword [0x50e47c]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
test eax, eax
jne 0x43ebad
cmp byte [0x5102e0], al
je 0x43ebad
push eax
push 0x4f4104
push 0x4f411c
jmp 0x43eba5
cmp byte [0x5102e0], 0
je 0x43ebad
push 0
push 0x4f4138
push 0x4f4148
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp dword [0x5102a8], 0
je 0x43ebc6
push 0
push 1
push dword [0x5102d4]
call dword [sym.imp.KERNEL32.dll_ReleaseSemaphore]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.004ad19c
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.004b5c80
call fcn.004b5c80
call fcn.004b5c80
call fcn.004b5c80
call fcn.004b5c80
call fcn.004b5c80
call fcn.004b5c80
call fcn.004b5c80
call fcn.004b5c80
call fcn.004b5c80
push str.list_T__too_long
call fcn.004a92fb
call fcn.004b5c80
call fcn.004b5c80
call fcn.004b5c80
call fcn.004b5c80
call fcn.004b5c80
push str.list_T__too_long
call fcn.004a92fb
call fcn.004b5c80
push str.list_T__too_long
call fcn.004a92fb
call fcn.004b5c80
push str.list_T__too_long
call fcn.004a92fb
cmpsb byte [esi], byte es:[edi]
push es
add al, ch
sbb dh, byte [eax + 7]
add byte [eax - 0x1c], ch
retf
call fcn.004b5c80
push str.list_T__too_long
call fcn.004a92fb
call fcn.004b5c80
push str.list_T__too_long
call fcn.004a92fb
call fcn.004b5c80
jne 0x43ec5e
inc ebx
add bl, dl
fild dword [ebx]
push ebx
fild word [ebx]
and ecx, esp
inc ebx
add ah, cl
int3