Function at 0x4104bb
Capabilities:
Check http status code
Resolve dns

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x417598
push 0x40841f
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
push ecx
mov eax, 0x19a8
call fcn.00413080
push ebx
push esi
push edi
mov dword [ebp - 0x18], esp
mov eax, dword [ebp + 8]
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x78], 0x4e20
mov dword [ebp - 0x5c], 0x493e0
push 0x800
xor ebx, ebx
push ebx
lea eax, [ebp - 0x11c0]
push eax
call fcn.0040c3b7
mov esi, 0x200
push esi
push ebx
lea eax, [ebp - 0x5c0]
push eax
call fcn.0040c3b7
push esi
push ebx
lea eax, [ebp - 0x3c0]
push eax
call fcn.0040c3b7
mov dword [ebp - 0x6c], ebx
mov dword [ebp - 0x80], ebx
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x64], ebx
push 0x40
push ebx
lea eax, [ebp - 0xc0]
push eax
call fcn.0040c3b7
mov dword [ebp - 0x7c], 4
mov dword [ebp - 0x44], ebx
push 0x400
push ebx
lea eax, [ebp - 0x9c0]
push eax
call fcn.0040c3b7
add esp, 0x3c
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x4c], ebx
mov eax, ebx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x54], ebx
mov edi, dword [0x418140]
movzx edx, byte [edi + 0xf]
mov dword [ebp - 0x3c], edx
mov eax, dword [0x418074]
cmp dword [eax + 0x88], ebx
je 0x4105aa
test edx, edx
je 0x4105aa
add edi, 0x10
mov dword [ebp - 0x28], edi
jmp 0x4105ad
mov dword [ebp - 0x28], ebx
push ebx
call fcn.0040c2cf
mov esi, eax
or edi, 0xffffffff
test esi, esi
je 0x4105e8
cmp esi, edi
jne 0x4105d4
push dword [ebp + 0xc]
call dword [sym.imp.WS2_32.dll_gethostbyname]
test eax, eax
je 0x4105d4
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov esi, dword [eax]
push esi
call fcn.0040c2cf
test eax, eax
je 0x4105e8
push esi
call dword [sym.imp.WS2_32.dll_inet_ntoa]
mov dword [ebp + 0xc], eax
xor esi, esi
inc esi
mov eax, dword [0x418074]
mov dword [eax + 0x80], esi
cmp dword [ebp + 0x14], ebx
jne 0x410600
mov eax, dword [ebp + 0xc]
jmp 0x41060b
mov eax, dword [ebp + 0x10]
push dword [eax]
call dword [sym.imp.WS2_32.dll_inet_ntoa]
mov dword [ebp - 0x1c], eax
push 0x400
lea ecx, [ebp - 0x11c0]
push ecx
push edi
push eax
push ebx
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
test eax, eax
jne 0x410646
push dword [ebp - 0x1c]
push 0x4040a8
push 0x4040c0
push esi
call fcn.0040c9e5
mov eax, edi
jmp 0x410f46
mov eax, dword [ebp + 0x20]
test eax, eax
je 0x410651
cmp byte [eax], bl
jne 0x410659
mov eax, 0x4040d0
mov dword [ebp + 0x20], eax
push 0x40
lea ecx, [ebp - 0x1c0]
push ecx
push edi
push eax
push ebx
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
test eax, eax
jne 0x410679
push dword [ebp + 0x20]
jmp 0x41062f
cmp dword [ebp - 0x28], ebx
je 0x41068d
mov dword [0x4182f8], 2
mov dword [ebp - 0x50], ebx
jmp 0x4106d7
mov dword [ebp - 0x50], esi
push dword [ebp - 0x1c]
push 0x4040e4
lea eax, [ebp - 0x9c0]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push dword [ebp - 0x1c]
call fcn.00410ffb
test eax, eax
je 0x4106d1
push dword [ebp - 0x1c]
lea eax, [ebp - 0x9c0]
push eax
call fcn.00411126
test eax, eax
mov dword [0x4182f8], 2
jne 0x4106d7
mov dword [0x4182f8], esi
call fcn.00410366
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp + 0x24]
test ecx, ecx
je 0x410700
cmp word [ecx], bx
je 0x410700
mov eax, dword [ebp + 0x28]
test eax, eax
je 0x4106f7
cmp word [eax], bx
jne 0x4106f9
mov eax, ebx
push ebx
push eax
push ecx
push 3
jmp 0x410704
push ebx
push ebx
push ebx
push ebx
lea eax, [ebp - 0x1c0]
push eax
mov eax, dword [ebp + 8]
mov esi, dword [eax + 0xc]
mov ecx, esi
call dword [0x4193a0]
call esi
mov ecx, eax
mov eax, dword [ebp + 8]
mov dword [eax], ecx
test ecx, ecx
jne 0x410744
cmp dword [ebp - 0x2c], ebx
je 0x410730
call fcn.00410f9c
push dword [ebp - 0x1c]
push 0x404100
push 0x404110
push 1
jmp 0x41063a
push ebx
push 0x1bb
lea edx, [ebp - 0x11c0]
push edx
push ecx
mov esi, dword [eax + 0x10]
mov ecx, esi
call dword [0x4193a0]
call esi
mov ecx, eax
mov eax, dword [ebp + 8]
add eax, 4
mov dword [ebp - 0x74], eax
mov dword [eax], ecx
test ecx, ecx
jne 0x410784
cmp dword [ebp - 0x2c], ebx
je 0x41077a
call fcn.00410f9c
push dword [ebp - 0x1c]
push 0x404120
jmp 0x410738
mov esi, dword [ebp - 0x2c]
test esi, esi
jne 0x410795
call fcn.00410366
mov esi, eax
mov dword [ebp - 0x2c], esi
mov ecx, dword [ebp - 0x70]
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0x74]
mov edx, dword [eax]
mov eax, dword [ecx + 0x14]
mov dword [ebp - 0x48], eax
push 0x800100
mov ecx, eax
push ebx
push ebx
push ebx
cmp dword [0x4182f8], 1
jne 0x4107c5
push 0x404134
push 0x404158
jmp 0x4107cf
push 0x404160
push 0x404164
push edx
call dword [0x4193a0]
call dword [ebp - 0x48]
mov ecx, eax
mov eax, dword [ebp - 0x24]
mov dword [eax + 8], ecx
test ecx, ecx
jne 0x4107fb
test esi, esi
je 0x4107ee
call fcn.00410f9c
push dword [ebp - 0x1c]
push 0x404170
jmp 0x410738
test esi, esi
je 0x410811
call fcn.00410f9c
xor ecx, ecx
test eax, eax
cmovne esi, ecx
mov dword [ebp - 0x2c], esi
mov eax, dword [ebp - 0x24]
push 4
lea ecx, [ebp - 0x78]
push ecx
push 3
push dword [eax + 8]
mov eax, dword [ebp + 8]
mov esi, dword [eax + 0x1c]
mov ecx, esi
call dword [0x4193a0]
call esi
push 4
lea eax, [ebp - 0x5c]
push eax
push 5
mov eax, dword [ebp - 0x24]
push dword [eax + 8]
mov esi, dword [eax + 0x1c]
mov ecx, esi
call dword [0x4193a0]
call esi
push 4
lea eax, [ebp - 0x5c]
push eax
push 6
mov eax, dword [ebp - 0x24]
push dword [eax + 8]
mov esi, dword [eax + 0x1c]
mov ecx, esi
call dword [0x4193a0]
call esi
mov dword [ebp - 0x60], 0x2800
push 4
lea eax, [ebp - 0x60]
push eax
push 0x54
mov eax, dword [ebp + 8]
push dword [eax]
mov esi, dword [eax + 0x1c]
mov ecx, esi
call dword [0x4193a0]
call esi
mov ecx, dword [ebp - 0x64]
test eax, eax
push 1
pop esi
cmove ecx, esi
mov dword [ebp - 0x64], ecx
test ecx, ecx
je 0x4108b2
cmp dword [ebp - 0x2c], 0
je 0x4108a0
call fcn.00410f9c
push dword [ebp - 0x1c]
push 0x404188
push 0x404110
jmp 0x410639
cmp dword [0x4182f8], esi
jne 0x4108d6
push 0x4041a0
lea eax, [ebp - 0x140]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
pop ecx
pop ecx
mov dword [ebp - 0x3c], ebx
jmp 0x4109e7
cmp dword [ebp - 0x28], 0
je 0x410981
mov byte [ebp - 0x140], bl
mov eax, dword [0x418074]
or dword [eax + 0x98], 0x80
mov eax, dword [0x418140]
cmp byte [eax + 0x2f], 0
je 0x410906
cmp byte [eax + 0x2e], 0
je 0x410913
mov eax, dword [0x418074]
cmp dword [eax + 0x94], ebx
je 0x410939
mov edx, dword [ebp - 0x3c]
inc edx
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x28]
mov cl, byte [eax + 1]
shr cl, 3
and cl, 0xf
mov al, byte [eax]
and al, 0xfe
shl al, 3
or cl, al
mov eax, dword [ebp - 0x28]
mov byte [eax + edx - 1], cl
mov dword [ebp - 0x54], esi
mov ecx, dword [ebp + 8]
lea eax, [ecx + 0xc8]
push eax
lea eax, [ebp - 0xc0]
push eax
lea eax, [ecx + 0x98]
push eax
call fcn.004102e2
test eax, eax
je 0x4109e7
lea eax, [ebp - 0xc0]
push eax
push 0x40400c
push 0x4041b8
lea eax, [ebp - 0x140]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
jmp 0x4109e7
mov dword [ebp - 0x3c], ebx
mov ecx, dword [ebp + 8]
lea eax, [ecx + 0xc8]
push eax
lea eax, [ebp - 0xc0]
push eax
lea eax, [ecx + 0x98]
push eax
call fcn.004102e2
test eax, eax
je 0x4109cd
lea eax, [ebp - 0xc0]
push eax
push 0x40400c
push 0x404018
push 0x4041c4
lea eax, [ebp - 0x140]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
jmp 0x4109e7
push 0x404018
push 0x4041ec
lea eax, [ebp - 0x140]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push 0x800
push ebx
lea eax, [ebp - 0x19c0]
push eax
call fcn.0040c3b7
add esp, 0xc
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x68], eax
test eax, eax
jne 0x410a21
mov dword [ebp - 0x68], 0x418335
push 0x418335
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov dword [ebp - 0x48], eax
push 0x400
lea eax, [ebp - 0x19c0]
push eax
push edi
lea eax, [ebp - 0x140]
push eax
push ebx
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
test eax, eax
jne 0x410a5b
cmp dword [ebp - 0x2c], eax
je 0x410a4f
call fcn.00410f9c
lea eax, [ebp - 0x140]
push eax
jmp 0x41062f
push ebx
mov eax, dword [ebp - 0x48]
push eax
push eax
push dword [ebp - 0x68]
push edi
lea eax, [ebp - 0x19c0]
push eax
mov eax, dword [ebp - 0x24]
push dword [eax + 8]
mov esi, dword [eax + 0x34]
mov ecx, esi
call dword [0x4193a0]
call esi
test eax, eax
jne 0x410ae1
mov eax, dword [0x418074]
mov dword [eax + 0x80], ebx
mov eax, dword [0x418074]
cmp dword [eax + 0x88], ebx
je 0x410ad4
cmp dword [ebp - 0x28], 0
je 0x410ad4
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x2f78
jne 0x410ad4
cmp dword [ebp - 0x54], 0
jne 0x410ad4
mov eax, dword [0x418140]
mov dword [eax + 8], 1
mov eax, dword [0x418078]
test eax, eax
je 0x410ad4
push ebx
push ebx
push 0x11
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
push dword [ebp - 0x1c]
push 0x40420c
jmp 0x410738
cmp dword [0x4182f8], 2
jne 0x410af2
push dword [ebp + 8]
call fcn.0040fc82
push ebx
mov eax, dword [ebp - 0x24]
push dword [eax + 8]
mov esi, dword [eax + 0x38]
mov ecx, esi
call dword [0x4193a0]
call esi
test eax, eax
jne 0x410b6b
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
mov eax, dword [0x418074]
cmp dword [eax + 0x88], ebx
je 0x410b53
cmp dword [ebp - 0x28], 0
je 0x410b53
cmp ecx, 0x2f78
jne 0x410b53
cmp dword [ebp - 0x54], 0
jne 0x410b53
mov eax, dword [0x418140]
mov dword [eax + 8], 1
mov eax, dword [0x418078]
test eax, eax
je 0x410b53
push ebx
push ebx
push 0x11
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
cmp dword [ebp - 0x2c], 0
je 0x410b5e
call fcn.00410f9c
push dword [ebp - 0x1c]
push 0x404224
jmp 0x410738
mov dword [ebp - 4], ebx
mov dword [ebp - 0x30], ebx
push ebx
lea eax, [ebp - 0x7c]
push eax
lea eax, [ebp - 0x34]
push eax
push ebx
push 0x20000013
mov eax, dword [ebp - 0x24]
push dword [eax + 8]
mov esi, dword [eax + 0x3c]
mov ecx, esi
call dword [0x4193a0]
call esi
test eax, eax
je 0x410c9d
cmp dword [ebp - 0x34], 0x197
je 0x410d18
cmp dword [ebp - 0x34], 0x191
je 0x410d18
cmp dword [ebp - 0x34], 0xc8
je 0x410bd3
mov dword [0x4182f8], 3
mov dword [ebp - 4], edi
mov ecx, dword [ebp - 0x20]
jmp 0x410e71
cmp dword [0x4182f8], 2
je 0x410caa
mov dword [ebp - 0x40], ebx
lea eax, [ebp - 0x40]
push eax
mov eax, dword [ebp - 0x24]
push dword [eax + 8]
mov esi, dword [eax + 0x40]
mov ecx, esi
call dword [0x4193a0]
call esi
test eax, eax
je 0x410bbe
mov ecx, dword [ebp - 0x40]
test ecx, ecx
je 0x410d05
mov esi, dword [ebp - 0x20]
test esi, esi
jne 0x410c25
lea eax, [ecx + 1]
push eax
push 8
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
jmp 0x410c54
mov eax, dword [ebp - 0x30]
inc ecx
add eax, ecx
push eax
push esi
push 8
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapReAlloc]
test eax, eax
jne 0x410c54
mov dword [ebp - 0x30], ebx
push esi
push ebx
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, ebx
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x20], eax
test eax, eax
je 0x410bbe
lea ecx, [ebp - 0x4c]
push ecx
push dword [ebp - 0x40]
add eax, dword [ebp - 0x30]
push eax
mov eax, dword [ebp - 0x24]
push dword [eax + 8]
mov esi, dword [eax + 0x44]
mov ecx, esi
call dword [0x4193a0]
call esi
test eax, eax
je 0x410ce1
mov eax, dword [ebp - 0x30]
add eax, dword [ebp - 0x4c]
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x4c], 0
je 0x410ce4
cmp dword [ebp - 0x40], 0
ja 0x410be0
cmp dword [0x4182f8], 2
jne 0x410bc8
mov eax, dword [0x418074]
cmp dword [eax + 0x88], ebx
je 0x410bc8
cmp dword [ebp - 0x28], 0
je 0x410bc8
cmp dword [ebp - 0x34], 0x1f4
jb 0x410bc8
mov dword [eax + 0x94], 1
jmp 0x410bc8
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x30], ebx
push dword [ebp - 0x20]
push ebx
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, ebx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x38], eax
jmp 0x410bbe
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x410c9d
mov ecx, dword [ebp - 0x30]
mov byte [eax + ecx], bl
inc ecx
mov dword [ebp - 0x30], ecx
jmp 0x410c9d
inc dword [ebp - 0x44]
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp - 0x6c]
push eax
mov eax, dword [ebp - 0x24]
push dword [eax + 8]
mov esi, dword [eax + 0x20]
mov ecx, esi
call dword [0x4193a0]
call esi
test eax, eax
je 0x410dee
push dword [ebp - 0x6c]
call fcn.00410fa9
test eax, eax
je 0x410bc8
cmp eax, 8
jne 0x410dcc
push 0x100
lea eax, [ebp - 0x5c0]
push eax
push edi
push dword [ebp + 0x18]
push ebx
mov esi, 0xfde9
push esi
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
test eax, eax
je 0x410bc8
push 0x100
lea eax, [ebp - 0x3c0]
push eax
push edi
push dword [ebp + 0x1c]
push ebx
push esi
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
test eax, eax
je 0x410bc8
push ebx
lea eax, [ebp - 0x3c0]
push eax
lea eax, [ebp - 0x5c0]
push eax
push 8
push dword [ebp - 0x58]
mov eax, dword [ebp - 0x24]
push dword [eax + 8]
mov esi, dword [eax + 0x24]
mov ecx, esi
call dword [0x4193a0]
call esi
test eax, eax
jne 0x410e3a
jmp 0x410bc8
xor ecx, ecx
mov word [ebp - 0x5c0], cx
mov word [ebp - 0x3c0], cx
push ebx
lea ecx, [ebp - 0x3c0]
push ecx
lea ecx, [ebp - 0x5c0]
push ecx
push eax
jmp 0x410dad
push dword [ebp + 0x18]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
inc eax
push eax
push dword [ebp + 0x18]
push 0x1002
mov eax, dword [ebp - 0x24]
push dword [eax + 8]
mov esi, dword [eax + 0x1c]
mov ecx, esi
call dword [0x4193a0]
call esi
push dword [ebp + 0x1c]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
inc eax
push eax
push dword [ebp + 0x1c]
push 0x1003
mov eax, dword [ebp - 0x24]
push dword [eax + 8]
mov esi, dword [eax + 0x1c]
mov ecx, esi
call dword [0x4193a0]
call esi
cmp dword [ebp - 0x44], 2
jg 0x410c9d
mov dword [ebp - 4], edi
cmp dword [0x4182f8], 3
push 1
pop esi
jne 0x4109e7
jmp 0x410bcb
xor esi, esi
inc esi
mov eax, dword [ebp - 0x1c]
mov edx, dword [0x4182f8]
sub edx, esi
je 0x410e94
sub edx, esi
jne 0x410ed6
mov dword [0x4182f8], 3
jmp 0x410f26
mov edx, dword [ebp - 0x30]
push edx
push ecx
push eax
call fcn.004110d6
mov eax, ebx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x38], eax
push dword [ebp - 0x1c]
lea eax, [ebp - 0x9c0]
push eax
call fcn.00411126
test eax, eax
je 0x410ec9
mov dword [0x4182f8], 2
jmp 0x410784
mov dword [ebp - 0x34], edi
mov dword [0x4182f8], 3
cmp dword [ebp - 0x20], 0
jne 0x410ef3
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, ebx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x28], 0
jne 0x410f19
cmp dword [ebp - 0x34], 0xc8
je 0x410f19
cmp dword [ebp - 0x50], 0
je 0x410f5a
mov dword [0x4182f8], esi
push dword [ebp - 0x1c]
call fcn.00410fc7
dec dword [ebp - 0x50]
cmp dword [0x4182f8], 3
jne 0x410784
cmp dword [ebp - 0x2c], 0
je 0x410f31
call fcn.00410f9c
push dword [ebp - 0x1c]
push 0x404274
push 0x404110
push ebx
call fcn.0040c9e5
mov eax, esi
add esp, 0x10
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
leave
ret 0x24
cmp dword [ebp - 0x2c], 0
je 0x410f65
call fcn.00410f9c
push dword [ebp - 0x1c]
cmp dword [ebp - 0x34], edi
jne 0x410f82
push 0x404238
push 0x404110
push esi
call fcn.0040c9e5
add esp, 0x10
jmp 0x410f98
push dword [ebp - 0x34]
push 0x40424c
push 0x404260
push esi
call fcn.0040c9e5
add esp, 0x14
mov eax, edi
jmp 0x410f49