Function at 0x4c8720
Capabilities:
Connect socket
Resolve dns
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x56c650
mov eax, dword fs:[0]
push eax
mov eax, 0x3190
call fcn.00528110
mov eax, dword [0x5c5ebc]
xor eax, ebp
mov dword [ebp - 0x54], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x3140], ecx
call fcn.0042e190
mov dword [ebp - 0x106c], eax
lea ecx, [ebp - 0x50]
call fcn.00415d60
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x1060]
call fcn.00415d60
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x108c]
call fcn.00415d60
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x1088]
call fcn.00415d60
mov byte [ebp - 4], 3
mov dword [ebp - 0x24], 0
cmp dword [ebp + 0x14], 0
je 0x4c880b
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax]
mov dword [ebp - 0x24], ecx
mov edx, dword [ebp + 0x14]
add edx, 4
push edx
lea ecx, [ebp - 0x50]
call fcn.00415e40
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp + 0x14]
add edx, 0xc
push edx
lea ecx, [ebp - 0x1060]
call fcn.00415e40
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x1068], ecx
mov edx, dword [ebp + 0x14]
add edx, 0x18
push edx
lea ecx, [ebp - 0x108c]
call fcn.00415e40
mov eax, dword [ebp + 0x14]
add eax, 0x1c
push eax
lea ecx, [ebp - 0x1088]
call fcn.00415e40
cmp dword [ebp - 0x24], 0
jne 0x4c8bda
push 0x10
push 0
lea ecx, [ebp - 0x10cc]
push ecx
call fcn.005281f0
add esp, 0xc
mov edx, 2
mov word [ebp - 0x10cc], dx
push 0
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0x10ca], ax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x10c8], eax
push 0x10
lea ecx, [ebp - 0x10cc]
push ecx
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.WS2_32.dll_bind]
mov dword [ebp - 0x10a0], eax
push 0x10
push 0
lea eax, [ebp - 0x10cc]
push eax
call fcn.005281f0
add esp, 0xc
mov ecx, 2
mov word [ebp - 0x10cc], cx
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x38], edx
cmp dword [ebp - 0x38], 0
jne 0x4c889c
mov dword [ebp - 0x3144], 0
jmp 0x4c8900
mov eax, dword [ebp - 0x38]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
add eax, 1
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0x3fffffff
jle 0x4c88c1
mov dword [ebp - 0x3148], 0
jmp 0x4c88f4
mov eax, dword [ebp - 0x28]
shl eax, 1
call fcn.00531e80
mov dword [ebp - 0x314c], esp
mov ecx, dword [ebp - 0x106c]
push ecx
mov edx, dword [ebp - 0x28]
shl edx, 1
push edx
mov eax, dword [ebp - 0x38]
push eax
mov ecx, dword [ebp - 0x314c]
push ecx
call fcn.004d5370
mov dword [ebp - 0x3148], eax
mov edx, dword [ebp - 0x3148]
mov dword [ebp - 0x3144], edx
mov eax, dword [ebp - 0x3144]
push eax
call dword [sym.imp.WS2_32.dll_inet_addr]
mov dword [ebp - 0x10c8], eax
movzx ecx, word [ebp + 0x10]
push ecx
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0x10ca], ax
cmp dword [ebp - 0x10c8], 0xffffffff
jne 0x4c8a2e
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x38], edx
cmp dword [ebp - 0x38], 0
jne 0x4c894a
mov dword [ebp - 0x3150], 0
jmp 0x4c89ae
mov eax, dword [ebp - 0x38]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
add eax, 1
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0x3fffffff
jle 0x4c896f
mov dword [ebp - 0x3154], 0
jmp 0x4c89a2
mov eax, dword [ebp - 0x28]
shl eax, 1
call fcn.00531e80
mov dword [ebp - 0x3158], esp
mov ecx, dword [ebp - 0x106c]
push ecx
mov edx, dword [ebp - 0x28]
shl edx, 1
push edx
mov eax, dword [ebp - 0x38]
push eax
mov ecx, dword [ebp - 0x3158]
push ecx
call fcn.004d5370
mov dword [ebp - 0x3154], eax
mov edx, dword [ebp - 0x3154]
mov dword [ebp - 0x3150], edx
mov eax, dword [ebp - 0x3150]
push eax
call dword [sym.imp.WS2_32.dll_gethostbyname]
mov dword [ebp - 0x10d0], eax
cmp dword [ebp - 0x10d0], 0
jne 0x4c8a1b
mov dword [ebp - 0x30ec], 0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x1088]
call fcn.00415e20
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x108c]
call fcn.00415e20
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1060]
call fcn.00415e20
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x50]
call fcn.00415e20
mov eax, dword [ebp - 0x30ec]
jmp 0x4c9972
mov ecx, dword [ebp - 0x10d0]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx]
mov ecx, dword [eax]
mov dword [ebp - 0x10c8], ecx
push 0x10
lea edx, [ebp - 0x10cc]
push edx
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.WS2_32.dll_connect]
test eax, eax
je 0x4c8a96
mov dword [ebp - 0x30f0], 0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x1088]
call fcn.00415e20
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x108c]
call fcn.00415e20
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1060]
call fcn.00415e20
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x50]
call fcn.00415e20
mov eax, dword [ebp - 0x30f0]
jmp 0x4c9972
mov dword [ebp - 0x10bc], 1
push 4
lea ecx, [ebp - 0x10bc]
push ecx
push 1
push 6
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.WS2_32.dll_setsockopt]
mov dword [ebp - 0x10a0], eax
mov dword [ebp - 0x10a4], 1
push 4
lea eax, [ebp - 0x10a4]
push eax
push 8
push 0xffff
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.WS2_32.dll_setsockopt]
mov dword [ebp - 0x10a0], eax
mov dword [ebp - 0x109c], 0
xor edx, edx
mov dword [ebp - 0x1098], edx
mov dword [ebp - 0x1094], edx
mov dword [ebp - 0x10b8], 0xc
mov dword [ebp - 0x10b0], 0
xor eax, eax
mov dword [ebp - 0x10ac], eax
mov dword [ebp - 0x10a8], eax
mov dword [ebp - 0x1090], 0xc
mov dword [ebp - 0x10b4], 0
mov dword [ebp - 0x109c], 1
mov dword [ebp - 0x1094], 0x1388
mov dword [ebp - 0x1098], 0x1388
push 0
push 0
lea ecx, [ebp - 0x10b4]
push ecx
mov edx, dword [ebp - 0x1090]
push edx
lea eax, [ebp - 0x10b0]
push eax
mov ecx, dword [ebp - 0x10b8]
push ecx
lea edx, [ebp - 0x109c]
push edx
push 0x98000004
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.WS2_32.dll_WSAIoctl]
mov dword [ebp - 0x30f4], 1
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x1088]
call fcn.00415e20
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x108c]
call fcn.00415e20
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1060]
call fcn.00415e20
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x50]
call fcn.00415e20
mov eax, dword [ebp - 0x30f4]
jmp 0x4c9972
mov cl, byte [0x58bb83]
mov byte [ebp - 0x105c], cl
push 0x1000
push 0
lea edx, [ebp - 0x105b]
push edx
call fcn.005281f0
add esp, 0xc
mov dword [ebp - 0x34], 0
lea ecx, [ebp - 0x50]
call fcn.00415f60
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0
jne 0x4c8c20
mov dword [ebp - 0x315c], 0
jmp 0x4c8c84
mov eax, dword [ebp - 0x38]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
add eax, 1
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0x3fffffff
jle 0x4c8c45
mov dword [ebp - 0x3160], 0
jmp 0x4c8c78
mov eax, dword [ebp - 0x28]
shl eax, 1
call fcn.00531e80
mov dword [ebp - 0x3164], esp
mov ecx, dword [ebp - 0x106c]
push ecx
mov edx, dword [ebp - 0x28]
shl edx, 1
push edx
mov eax, dword [ebp - 0x38]
push eax
mov ecx, dword [ebp - 0x3164]
push ecx
call fcn.004d5370
mov dword [ebp - 0x3160], eax
mov edx, dword [ebp - 0x3160]
mov dword [ebp - 0x315c], edx
mov eax, dword [ebp - 0x315c]
mov dword [ebp - 0x1080], eax
mov ecx, 2
mov word [ebp - 0x107c], cx
movzx edx, word [ebp - 0x14]
push edx
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0x107a], ax
mov eax, dword [ebp - 0x1080]
push eax
call dword [sym.imp.WS2_32.dll_inet_addr]
mov dword [ebp - 0x1078], eax
cmp dword [ebp - 0x1078], 0xffffffff
jne 0x4c8d50
mov ecx, dword [ebp - 0x1080]
push ecx
call dword [sym.imp.WS2_32.dll_gethostbyname]
mov dword [ebp - 0x10d4], eax
cmp dword [ebp - 0x10d4], 0
je 0x4c8cff
mov edx, dword [ebp - 0x10d4]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax]
mov edx, dword [ecx]
mov dword [ebp - 0x1078], edx
jmp 0x4c8d50
mov dword [ebp - 0x30f8], 0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x1088]
call fcn.00415e20
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x108c]
call fcn.00415e20
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1060]
call fcn.00415e20
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x50]
call fcn.00415e20
mov eax, dword [ebp - 0x30f8]
jmp 0x4c9972
push 0x10
lea eax, [ebp - 0x107c]
push eax
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.WS2_32.dll_connect]
test eax, eax
je 0x4c8db8
mov dword [ebp - 0x30fc], 0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x1088]
call fcn.00415e20
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x108c]
call fcn.00415e20
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1060]
call fcn.00415e20
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x50]
call fcn.00415e20
mov eax, dword [ebp - 0x30fc]
jmp 0x4c9972
mov dword [ebp - 0x1064], 1
push 4
lea edx, [ebp - 0x1064]
push edx
push 1
push 6
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.WS2_32.dll_setsockopt]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x30], 1
push 4
lea ecx, [ebp - 0x30]
push ecx
push 8
push 0xffff
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.WS2_32.dll_setsockopt]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x20], 0
xor eax, eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x4c], 0xc
mov dword [ebp - 0x44], 0
xor ecx, ecx
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x10], 0xc
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x20], 1
mov dword [ebp - 0x18], 0x1388
mov dword [ebp - 0x1c], 0x1388
push 0
push 0
lea edx, [ebp - 0x48]
push edx
mov eax, dword [ebp - 0x10]
push eax
lea ecx, [ebp - 0x44]
push ecx
mov edx, dword [ebp - 0x4c]
push edx
lea eax, [ebp - 0x20]
push eax
push 0x98000004
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.WS2_32.dll_WSAIoctl]
mov edx, dword [ebp + 0x14]
cmp dword [edx + 0x24], 0
je 0x4c8ec6
mov dword [ebp - 0x3100], 1
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x1088]
call fcn.00415e20
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x108c]
call fcn.00415e20
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1060]
call fcn.00415e20
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x50]
call fcn.00415e20
mov eax, dword [ebp - 0x3100]
jmp 0x4c9972
push 0x58bd60
lea ecx, [ebp - 0x1060]
call fcn.00415f60
push eax
call fcn.00527f0e
add esp, 8
test eax, eax
je 0x4c8f04
push 0x58bd6c
lea ecx, [ebp - 0x1060]
call fcn.00415f60
push eax
call fcn.00527f0e
add esp, 8
test eax, eax
jne 0x4c92c1
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
lea edx, [ebp - 0x3104]
push edx
call fcn.004cb330
add esp, 8
mov dword [ebp - 0x3168], eax
mov eax, dword [ebp - 0x3168]
mov ecx, dword [eax]
push ecx
push str.CONNECT__s:_d_HTTP_1.0_r_n_r_n
lea edx, [ebp - 0x105c]
push edx
call fcn.0052a9d1
add esp, 0x10
lea ecx, [ebp - 0x3104]
call fcn.00412130
cmp dword [ebp - 0x1068], 0
je 0x4c90a5
mov al, byte [0x58bb86]
mov byte [ebp - 0x30e4], al
push 0x1000
push 0
lea ecx, [ebp - 0x30e3]
push ecx
call fcn.005281f0
add esp, 0xc
mov dl, byte [0x58bb87]
mov byte [ebp - 0x20dc], dl
push 0x1000
push 0
lea eax, [ebp - 0x20db]
push eax
call fcn.005281f0
add esp, 0xc
lea ecx, [ebp - 0x1088]
call fcn.00415f60
push eax
lea ecx, [ebp - 0x3108]
push ecx
call fcn.004cb330
add esp, 8
mov dword [ebp - 0x316c], eax
mov edx, dword [ebp - 0x316c]
mov dword [ebp - 0x3170], edx
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x3170]
mov ecx, dword [eax]
push ecx
lea ecx, [ebp - 0x108c]
call fcn.00415f60
push eax
lea edx, [ebp - 0x310c]
push edx
call fcn.004cb330
add esp, 8
mov dword [ebp - 0x3174], eax
mov eax, dword [ebp - 0x3174]
mov ecx, dword [eax]
push ecx
push str._s:_s
lea edx, [ebp - 0x20dc]
push edx
call fcn.0052a9d1
add esp, 0x10
lea ecx, [ebp - 0x310c]
call fcn.00412130
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x3108]
call fcn.00412130
push 0x1001
lea eax, [ebp - 0x30e4]
push eax
lea ecx, [ebp - 0x20dc]
push ecx
call fcn.00529140
add esp, 4
push eax
lea edx, [ebp - 0x20dc]
push edx
mov ecx, dword [ebp - 0x3140]
call fcn.004c6f10
lea eax, [ebp - 0x30e4]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
lea eax, [ebp - 0x3110]
push eax
call fcn.004cb330
add esp, 8
mov dword [ebp - 0x3178], eax
mov ecx, dword [ebp - 0x3178]
mov edx, dword [ecx]
push edx
push str.CONNECT__s:_d_HTTP_1.0_r_nProxy_Authorization:_Basic__s_r_n_r_n
lea eax, [ebp - 0x105c]
push eax
call fcn.0052a9d1
add esp, 0x14
lea ecx, [ebp - 0x3110]
call fcn.00412130
lea ecx, [ebp - 0x105c]
push ecx
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0x3140]
call fcn.004c81b0
mov dword [ebp - 0x34], 0x1000
mov eax, dword [ebp - 0x34]
push eax
lea ecx, [ebp - 0x105c]
push ecx
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0x3140]
call fcn.004c7870
push 0x58bdd8
call fcn.00529140
add esp, 4
push eax
push str.HTTP_1.0_200
lea eax, [ebp - 0x105c]
push eax
call fcn.0055bb6c
add esp, 0xc
test eax, eax
je 0x4c9179
push 0x58bdf8
call fcn.00529140
add esp, 4
push eax
push str.HTTP_1.1_200
lea ecx, [ebp - 0x105c]
push ecx
call fcn.0055bb6c
add esp, 0xc
test eax, eax
je 0x4c9179
mov dword [ebp - 0x3114], 1
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x1088]
call fcn.00415e20
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x108c]
call fcn.00415e20
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1060]
call fcn.00415e20
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x50]
call fcn.00415e20
mov eax, dword [ebp - 0x3114]
jmp 0x4c9972
mov edx, dword [ebp - 0x3140]
cmp dword [edx + 0x210], 0
je 0x4c9270
mov dword [ebp - 0x34], 0x1000
mov eax, dword [ebp - 0x34]
push eax
lea ecx, [ebp - 0x105c]
push ecx
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0x3140]
call fcn.004c7870
test eax, eax
jg 0x4c9202
mov dword [ebp - 0x3118], 0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x1088]
call fcn.00415e20
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x108c]
call fcn.00415e20
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1060]
call fcn.00415e20
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x50]
call fcn.00415e20
mov eax, dword [ebp - 0x3118]
jmp 0x4c9972
push 0x58be18
lea eax, [ebp - 0x105c]
push eax
call fcn.0052b680
add esp, 8
test eax, eax
jne 0x4c926b
mov dword [ebp - 0x311c], 1
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x1088]
call fcn.00415e20
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x108c]
call fcn.00415e20
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1060]
call fcn.00415e20
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x50]
call fcn.00415e20
mov eax, dword [ebp - 0x311c]
jmp 0x4c9972
jmp 0x4c9179
mov dword [ebp - 0x3120], 0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x1088]
call fcn.00415e20
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x108c]
call fcn.00415e20
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1060]
call fcn.00415e20
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x50]
call fcn.00415e20
mov eax, dword [ebp - 0x3120]
jmp 0x4c9972
push 0x58be1c
lea ecx, [ebp - 0x1060]
call fcn.00415f60
push eax
call fcn.00527f0e
add esp, 8
test eax, eax
jne 0x4c9926
mov dword [ebp - 0x34], 0
cmp dword [ebp - 0x1068], 0
je 0x4c9669
mov byte [ebp - 0x105c], 5
mov byte [ebp - 0x105b], 2
mov byte [ebp - 0x105a], 0
mov byte [ebp - 0x1059], 2
mov dword [ebp - 0x34], 4
mov ecx, dword [ebp - 0x34]
push ecx
lea edx, [ebp - 0x105c]
push edx
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x3140]
call fcn.004c7f70
mov dword [ebp - 0x34], 2
push 8
lea ecx, [ebp - 0x34]
push ecx
lea edx, [ebp - 0x105c]
push edx
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x3140]
call fcn.004c7cd0
movsx ecx, byte [ebp - 0x105c]
cmp ecx, 5
jne 0x4c9613
movsx edx, byte [ebp - 0x105b]
cmp edx, 2
jne 0x4c95b5
mov byte [ebp - 0x105c], 1
lea ecx, [ebp - 0x108c]
call fcn.00415f60
push eax
call fcn.00528324
add esp, 4
mov dword [ebp - 0x34], eax
mov al, byte [ebp - 0x34]
mov byte [ebp - 0x105b], al
lea ecx, [ebp - 0x108c]
call fcn.00415f60
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0
jne 0x4c93bd
mov dword [ebp - 0x317c], 0
jmp 0x4c9421
mov ecx, dword [ebp - 0x38]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
add eax, 1
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0x3fffffff
jle 0x4c93e2
mov dword [ebp - 0x3180], 0
jmp 0x4c9415
mov eax, dword [ebp - 0x28]
shl eax, 1
call fcn.00531e80
mov dword [ebp - 0x3184], esp
mov edx, dword [ebp - 0x106c]
push edx
mov eax, dword [ebp - 0x28]
shl eax, 1
push eax
mov ecx, dword [ebp - 0x38]
push ecx
mov edx, dword [ebp - 0x3184]
push edx
call fcn.004d5370
mov dword [ebp - 0x3180], eax
mov eax, dword [ebp - 0x3180]
mov dword [ebp - 0x317c], eax
mov ecx, dword [ebp - 0x317c]
push ecx
lea edx, [ebp - 0x105a]
push edx
call fcn.0052a310
add esp, 8
mov eax, dword [ebp - 0x34]
add eax, 2
mov dword [ebp - 0x34], eax
lea ecx, [ebp - 0x1088]
call fcn.00415f60
push eax
call fcn.00528324
add esp, 4
mov ecx, dword [ebp - 0x34]
mov byte [ebp + ecx - 0x105c], al
lea ecx, [ebp - 0x1088]
call fcn.00415f60
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0
jne 0x4c947e
mov dword [ebp - 0x3188], 0
jmp 0x4c94e2
mov edx, dword [ebp - 0x38]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
add eax, 1
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0x3fffffff
jle 0x4c94a3
mov dword [ebp - 0x318c], 0
jmp 0x4c94d6
mov eax, dword [ebp - 0x28]
shl eax, 1
call fcn.00531e80
mov dword [ebp - 0x3190], esp
mov eax, dword [ebp - 0x106c]
push eax
mov ecx, dword [ebp - 0x28]
shl ecx, 1
push ecx
mov edx, dword [ebp - 0x38]
push edx
mov eax, dword [ebp - 0x3190]
push eax
call fcn.004d5370
mov dword [ebp - 0x318c], eax
mov ecx, dword [ebp - 0x318c]
mov dword [ebp - 0x3188], ecx
mov edx, dword [ebp - 0x3188]
push edx
mov eax, dword [ebp - 0x34]
lea ecx, [ebp + eax - 0x105b]
push ecx
call fcn.0052a310
add esp, 8
lea ecx, [ebp - 0x1088]
call fcn.00415f60
push eax
call fcn.00528324
add esp, 4
mov edx, dword [ebp - 0x34]
lea eax, [edx + eax + 1]
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x34]
push ecx
lea edx, [ebp - 0x105c]
push edx
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x3140]
call fcn.004c7f70
mov dword [ebp - 0x34], 2
push 8
lea ecx, [ebp - 0x34]
push ecx
lea edx, [ebp - 0x105c]
push edx
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x3140]
call fcn.004c7cd0
movsx ecx, byte [ebp - 0x105b]
test ecx, ecx
je 0x4c95b3
mov dword [ebp - 0x3124], 0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x1088]
call fcn.00415e20
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x108c]
call fcn.00415e20
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1060]
call fcn.00415e20
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x50]
call fcn.00415e20
mov eax, dword [ebp - 0x3124]
jmp 0x4c9972
jmp 0x4c9611
movsx edx, byte [ebp - 0x105b]
test edx, edx
je 0x4c9611
mov dword [ebp - 0x3128], 0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x1088]
call fcn.00415e20
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x108c]
call fcn.00415e20
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1060]
call fcn.00415e20
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x50]
call fcn.00415e20
mov eax, dword [ebp - 0x3128]
jmp 0x4c9972
jmp 0x4c9664
mov dword [ebp - 0x312c], 0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x1088]
call fcn.00415e20
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x108c]
call fcn.00415e20
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1060]
call fcn.00415e20
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x50]
call fcn.00415e20
mov eax, dword [ebp - 0x312c]
jmp 0x4c9972
jmp 0x4c972a
mov byte [ebp - 0x105c], 5
mov byte [ebp - 0x105b], 1
mov byte [ebp - 0x105a], 0
mov dword [ebp - 0x34], 3
mov eax, dword [ebp - 0x34]
push eax
lea ecx, [ebp - 0x105c]
push ecx
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0x3140]
call fcn.004c7f70
mov dword [ebp - 0x34], 2
push 8
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebp - 0x105c]
push ecx
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0x3140]
call fcn.004c7cd0
movsx eax, byte [ebp - 0x105c]
cmp eax, 5
jne 0x4c96d9
movsx ecx, byte [ebp - 0x105b]
test ecx, ecx
je 0x4c972a
mov dword [ebp - 0x3130], 0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x1088]
call fcn.00415e20
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x108c]
call fcn.00415e20
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1060]
call fcn.00415e20
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x50]
call fcn.00415e20
mov eax, dword [ebp - 0x3130]
jmp 0x4c9972
mov byte [ebp - 0x105c], 5
mov byte [ebp - 0x105b], 1
mov byte [ebp - 0x105a], 0
mov byte [ebp - 0x1059], 3
mov edx, dword [ebp + 0xc]
push edx
call fcn.00528324
add esp, 4
mov byte [ebp - 0x1058], al
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0
jne 0x4c9770
mov dword [ebp - 0x3194], 0
jmp 0x4c97d4
mov ecx, dword [ebp - 0x38]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
add eax, 1
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0x3fffffff
jle 0x4c9795
mov dword [ebp - 0x3198], 0
jmp 0x4c97c8
mov eax, dword [ebp - 0x28]
shl eax, 1
call fcn.00531e80
mov dword [ebp - 0x319c], esp
mov edx, dword [ebp - 0x106c]
push edx
mov eax, dword [ebp - 0x28]
shl eax, 1
push eax
mov ecx, dword [ebp - 0x38]
push ecx
mov edx, dword [ebp - 0x319c]
push edx
call fcn.004d5370
mov dword [ebp - 0x3198], eax
mov eax, dword [ebp - 0x3198]
mov dword [ebp - 0x3194], eax
mov ecx, dword [ebp - 0x3194]
push ecx
lea edx, [ebp - 0x1057]
push edx
call fcn.0052a310
add esp, 8
movzx eax, word [ebp + 0x10]
push eax
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0x30e8], ax
push 2
lea ecx, [ebp - 0x30e8]
push ecx
mov edx, dword [ebp + 0xc]
push edx
call fcn.00528324
add esp, 4
lea eax, [ebp + eax - 0x1057]
push eax
call fcn.005289e0
add esp, 0xc
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.00528324
add esp, 4
add eax, 7
mov dword [ebp - 0x34], eax
mov edx, dword [ebp - 0x34]
push edx
lea eax, [ebp - 0x105c]
push eax
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0x3140]
call fcn.004c7f70
mov dword [ebp - 0x34], 0xa
push 8
lea edx, [ebp - 0x34]
push edx
lea eax, [ebp - 0x105c]
push eax
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0x3140]
call fcn.004c7cd0
movsx edx, byte [ebp - 0x105c]
cmp edx, 5
jne 0x4c9887
movsx eax, byte [ebp - 0x105b]
test eax, eax
je 0x4c98d8
mov dword [ebp - 0x3134], 0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x1088]
call fcn.00415e20
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x108c]
call fcn.00415e20
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1060]
call fcn.00415e20
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x50]
call fcn.00415e20
mov eax, dword [ebp - 0x3134]
jmp 0x4c9972
mov dword [ebp - 0x3138], 1
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x1088]
call fcn.00415e20
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x108c]
call fcn.00415e20
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1060]
call fcn.00415e20
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x50]
call fcn.00415e20
mov eax, dword [ebp - 0x3138]
jmp 0x4c9972
mov dword [ebp - 0x313c], 0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x1088]
call fcn.00415e20
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x108c]
call fcn.00415e20
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1060]
call fcn.00415e20
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x50]
call fcn.00415e20
mov eax, dword [ebp - 0x313c]
lea esp, [ebp - 0x31a0]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x54]
xor ecx, ebp
call fcn.00527aad
mov esp, ebp
pop ebp
ret 0x14