Function at 0x493840
Capabilities:
Check http status code

Disassembly:
sub esp, 0x464
mov eax, dword [0x698b9c]
xor eax, esp
mov dword [esp + 0x45c], eax
mov eax, dword [esp + 0x46c]
push ebx
push ebp
mov ebp, dword [esp + 0x470]
push esi
push edi
mov edi, ecx
mov cx, word [ebp + 4]
or cx, word [ebp]
lea esi, [edi + 0x1000]
mov edx, esi
sub edx, edi
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edi
mov dword [esp + 0x18], esi
movzx eax, cx
cmp edx, 0x14
jae 0x493893
or eax, 0xffffffff
jmp 0x4938cb
push eax
call sub.WS2_32.dll_htons
push 0
mov word [edi], ax
call sub.WS2_32.dll_htons
push 0x2112a442
mov word [edi + 2], ax
call sub.WS2_32.dll_htonl
mov dword [edi + 4], eax
mov eax, dword [ebp + 8]
mov dword [edi + 8], eax
mov ecx, dword [ebp + 0xc]
mov dword [edi + 0xc], ecx
mov edx, dword [ebp + 0x10]
mov dword [edi + 0x10], edx
mov eax, 0x14
add edi, eax
mov eax, dword [ebp + 0x14]
mov dword [esp + 0x1c], edi
test eax, eax
je 0x49394f
call fcn.004950b0
mov ebx, eax
mov eax, dword [ebp + 0x14]
xor edx, edx
mov ecx, 0x64
div ecx
mov dword [esp + 0x60], 0
and al, 7
mov byte [esp + 0x63], dl
lea edx, [esp + 0x64]
mov byte [esp + 0x62], al
mov eax, ebx
sub edx, ebx
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x493905
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x493914
sub eax, edx
add eax, 4
mov edx, esi
sub edx, edi
lea ecx, [eax + 4]
cmp edx, ecx
jae 0x493930
or eax, 0xffffffff
jmp 0x49394d
push eax
lea edx, [esp + 0x64]
push edx
mov eax, 9
mov ecx, edi
call fcn.00494290
add esp, 8
test eax, eax
jbe 0x4941dc
add edi, eax
cmp dword [ebp + 0xb8], 0
je 0x4939cb
push 0x2112a442
call sub.WS2_32.dll_htonl
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 0x10]
mov dword [esp + 0x28], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x2c], eax
mov eax, dword [ebp + 0xb8]
push eax
lea eax, [ebp + 0x38]
push eax
mov dword [esp + 0x38], ecx
push 0x20
lea eax, [esp + 0x34]
lea ecx, [esp + 0x4c]
mov dword [esp + 0x40], edx
call fcn.004942e0
add esp, 0xc
test eax, eax
jle 0x4939cb
mov ecx, esi
sub ecx, edi
lea edx, [eax + 4]
cmp ecx, edx
jae 0x4939ac
or eax, 0xffffffff
jmp 0x4939c9
push eax
lea eax, [esp + 0x44]
push eax
mov eax, 0x20
mov ecx, edi
call fcn.00494290
add esp, 8
test eax, eax
jbe 0x4941dc
add edi, eax
mov eax, dword [ebp + 0x18]
test eax, eax
je 0x493a07
push eax
call sub.WS2_32.dll_htonl
mov ecx, esi
sub ecx, edi
mov ebx, eax
cmp ecx, 8
jae 0x4939e8
or eax, 0xffffffff
jmp 0x493a05
push 0x24
call sub.WS2_32.dll_htons
push 4
mov word [edi], ax
call sub.WS2_32.dll_htons
mov word [edi + 2], ax
mov dword [edi + 4], ebx
mov eax, 8
add edi, eax
cmp dword [ebp + 0x30], 0
je 0x493a37
mov edx, esi
sub edx, edi
cmp edx, 4
jae 0x493a1b
or eax, 0xffffffff
jmp 0x493a35
push 0x25
call sub.WS2_32.dll_htons
push 0
mov word [edi], ax
call sub.WS2_32.dll_htons
mov word [edi + 2], ax
mov eax, 4
add edi, eax
mov ecx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x24]
or ecx, eax
je 0x493aa2
push eax
call sub.WS2_32.dll_htonl
mov dword [esp + 0x28], eax
mov eax, dword [ebp + 0x20]
push eax
call sub.WS2_32.dll_htonl
xor edx, edx
mov cl, 0x20
call fcn.005c59e0
mov ecx, dword [esp + 0x18]
mov esi, eax
or esi, dword [esp + 0x28]
xor eax, eax
mov ebx, edx
sub ecx, edi
or ebx, eax
cmp ecx, 0xc
jae 0x493a79
or eax, 0xffffffff
jmp 0x493a9c
push 0x802a
call sub.WS2_32.dll_htons
push 8
mov word [edi], ax
call sub.WS2_32.dll_htons
mov word [edi + 2], ax
mov dword [edi + 4], esi
mov dword [edi + 8], ebx
mov eax, 0xc
mov esi, dword [esp + 0x18]
add edi, eax
mov ecx, dword [ebp + 0x28]
mov eax, dword [ebp + 0x2c]
or ecx, eax
je 0x493b0d
push eax
call sub.WS2_32.dll_htonl
mov edx, dword [ebp + 0x28]
push edx
mov dword [esp + 0x2c], eax
call sub.WS2_32.dll_htonl
xor edx, edx
mov cl, 0x20
call fcn.005c59e0
mov esi, eax
or esi, dword [esp + 0x28]
xor eax, eax
mov ebx, edx
or ebx, eax
mov eax, dword [esp + 0x18]
sub eax, edi
cmp eax, 0xc
jae 0x493ae4
or eax, 0xffffffff
jmp 0x493b07
push 0x8029
call sub.WS2_32.dll_htons
push 8
mov word [edi], ax
call sub.WS2_32.dll_htons
mov word [edi + 2], ax
mov dword [edi + 4], esi
mov dword [edi + 8], ebx
mov eax, 0xc
mov esi, dword [esp + 0x18]
add edi, eax
movzx eax, word [ebp + 0xb94]
test ax, ax
je 0x493b5d
push eax
mov dword [esp + 0x2c], 0
call sub.WS2_32.dll_htons
mov ecx, esi
sub ecx, edi
mov word [esp + 0x28], ax
cmp ecx, 8
jae 0x493b3a
or eax, 0xffffffff
jmp 0x493b5b
push 0xc
call sub.WS2_32.dll_htons
push 4
mov word [edi], ax
call sub.WS2_32.dll_htons
mov edx, dword [esp + 0x28]
mov word [edi + 2], ax
mov dword [edi + 4], edx
mov eax, 8
add edi, eax
cmp dword [ebp + 0xb98], 0
jne 0x493b6f
cmp dword [ebp + 0xb90], 0
je 0x493baa
mov eax, dword [ebp + 0xb90]
push eax
call sub.WS2_32.dll_htonl
mov ecx, esi
sub ecx, edi
mov ebx, eax
cmp ecx, 8
jae 0x493b8b
or eax, 0xffffffff
jmp 0x493ba8
push 0xd
call sub.WS2_32.dll_htons
push 4
mov word [edi], ax
call sub.WS2_32.dll_htons
mov word [edi + 2], ax
mov dword [edi + 4], ebx
mov eax, 8
add edi, eax
cmp dword [ebp + 0xa70], 0
je 0x493c29
push 0x2112a442
call sub.WS2_32.dll_htonl
mov edx, dword [ebp + 8]
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x28], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x30], eax
mov eax, dword [ebp + 0xa70]
push eax
mov dword [esp + 0x30], edx
lea edx, [ebp + 0x9f0]
push edx
mov dword [esp + 0x3c], ecx
push 0x20
lea eax, [esp + 0x34]
lea ecx, [esp + 0x4c]
call fcn.004942e0
add esp, 0xc
test eax, eax
jle 0x493c29
mov ecx, esi
sub ecx, edi
lea edx, [eax + 4]
cmp ecx, edx
jae 0x493c0a
or eax, 0xffffffff
jmp 0x493c27
push eax
lea eax, [esp + 0x44]
push eax
mov eax, 0x12
mov ecx, edi
call fcn.00494290
add esp, 8
test eax, eax
jbe 0x4941dc
add edi, eax
cmp dword [ebp + 0xaf8], 0
je 0x493ca8
push 0x2112a442
call sub.WS2_32.dll_htonl
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
mov dword [esp + 0x28], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x34], eax
mov eax, dword [ebp + 0xaf8]
mov dword [esp + 0x2c], ecx
push eax
lea ecx, [ebp + 0xa78]
push ecx
push 0x20
lea eax, [esp + 0x34]
lea ecx, [esp + 0x4c]
mov dword [esp + 0x3c], edx
call fcn.004942e0
add esp, 0xc
test eax, eax
jle 0x493ca8
mov edx, esi
sub edx, edi
lea ecx, [eax + 4]
cmp edx, ecx
jae 0x493c89
or eax, 0xffffffff
jmp 0x493ca6
push eax
lea edx, [esp + 0x44]
push edx
mov eax, 0x16
mov ecx, edi
call fcn.00494290
add esp, 8
test eax, eax
jbe 0x4941dc
add edi, eax
mov ecx, dword [ebp + 0xb88]
test ecx, ecx
je 0x493ce3
mov eax, dword [ebp + 0xb8c]
mov edx, esi
sub edx, edi
lea ebx, [eax + 4]
cmp edx, ebx
jae 0x493cc8
or eax, 0xffffffff
jmp 0x493ce1
push eax
push ecx
mov eax, 0x13
mov ecx, edi
call fcn.00494290
add esp, 8
test eax, eax
jbe 0x4941dc
add edi, eax
cmp dword [ebp + 0xb9c], 0
je 0x493d46
cmp dword [ebp + 0xba0], 0
mov byte [esp + 0x17], 0
je 0x493cff
or byte [esp + 0x17], 0x80
mov eax, esi
sub eax, edi
mov ebx, 1
cmp eax, 5
jae 0x493d12
or ebx, 0xffffffff
jmp 0x493d44
push 0xc
call sub.WS2_32.dll_htons
push 1
mov word [edi], ax
call sub.WS2_32.dll_htons
mov cl, byte [esp + 0x17]
mov word [edi + 2], ax
mov byte [edi + 4], cl
mov edi, edi
mov byte [ebx + edi + 4], 0
inc ebx
test bl, 3
jne 0x493d30
add ebx, 4
je 0x4941dc
add edi, ebx
cmp dword [ebp + 0xba8], 0
je 0x493d8d
mov edx, esi
sub edx, edi
mov dword [esp + 0x28], 0
mov byte [esp + 0x28], 0x11
cmp edx, 8
jae 0x493d6a
or eax, 0xffffffff
jmp 0x493d8b
push 0x19
call sub.WS2_32.dll_htons
push 4
mov word [edi], ax
call sub.WS2_32.dll_htons
mov word [edi + 2], ax
mov eax, dword [esp + 0x28]
mov dword [edi + 4], eax
mov eax, 8
add edi, eax
cmp dword [ebp + 0xba4], 0
je 0x493dc0
mov ecx, esi
sub ecx, edi
cmp ecx, 4
jae 0x493da4
or eax, 0xffffffff
jmp 0x493dbe
push 0x1a
call sub.WS2_32.dll_htons
push 0
mov word [edi], ax
call sub.WS2_32.dll_htons
mov word [edi + 2], ax
mov eax, 4
add edi, eax
mov ecx, dword [ebp + 0xbb0]
mov eax, dword [ebp + 0xbb4]
or ecx, eax
je 0x493e31
push eax
call sub.WS2_32.dll_htonl
mov edx, dword [ebp + 0xbb0]
push edx
mov dword [esp + 0x2c], eax
call sub.WS2_32.dll_htonl
xor edx, edx
mov cl, 0x20
call fcn.005c59e0
mov esi, eax
or esi, dword [esp + 0x28]
xor eax, eax
mov ebx, edx
or ebx, eax
mov eax, dword [esp + 0x18]
sub eax, edi
cmp eax, 0xc
jae 0x493e0b
or eax, 0xffffffff
jmp 0x493e2b
push 0x22
call sub.WS2_32.dll_htons
push 8
mov word [edi], ax
call sub.WS2_32.dll_htons
mov word [edi + 2], ax
mov dword [edi + 4], esi
mov dword [edi + 8], ebx
mov eax, 0xc
mov esi, dword [esp + 0x18]
add edi, eax
mov eax, str.gotohttp
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x493e40
sub eax, edx
mov ecx, esi
sub ecx, edi
lea edx, [eax + 4]
cmp ecx, edx
jae 0x493e59
or eax, 0xffffffff
jmp 0x493e76
push eax
push str.gotohttp
mov eax, 0x8022
mov ecx, edi
call fcn.00494290
add esp, 8
test eax, eax
jbe 0x4941dc
add edi, eax
mov eax, dword [ebp]
test eax, eax
jne 0x493f1b
cmp dword [ebp + 0x8dc], eax
je 0x493eca
mov eax, esi
sub eax, edi
cmp eax, 0x24
jae 0x493e99
or eax, 0xffffffff
jmp 0x493f12
push 0x1e
call sub.WS2_32.dll_htons
push 0x20
mov word [edi], ax
call sub.WS2_32.dll_htons
push 0x20
lea ecx, [ebp + 0x8ba]
push ecx
lea edx, [edi + 4]
push edx
mov word [edi + 2], ax
call fcn.005bfdd0
add esp, 0xc
mov eax, 0x24
jmp 0x493f12
cmp byte [ebp + 0xc0], 0
lea edx, [ebp + 0xc0]
je 0x493f14
mov eax, edx
lea ebx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x493ee0
sub eax, ebx
mov ecx, esi
sub ecx, edi
lea ebx, [eax + 4]
cmp ecx, ebx
jae 0x493ef9
or eax, 0xffffffff
jmp 0x493f12
push eax
push edx
mov eax, 6
mov ecx, edi
call fcn.00494290
add esp, 8
test eax, eax
jbe 0x4941dc
add edi, eax
mov eax, dword [ebp]
test eax, eax
je 0x493f3b
cmp eax, 0x110
jne 0x4940ae
mov eax, dword [ebp + 0x14]
cmp eax, 0x191
je 0x493f3b
cmp eax, 0x1b6
jne 0x4940ae
cmp byte [ebp + 0x2c2], 0
lea edx, [ebp + 0x2c2]
je 0x493f84
mov eax, edx
lea ebx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x493f50
sub eax, ebx
mov ecx, esi
sub ecx, edi
lea ebx, [eax + 4]
cmp ecx, ebx
jae 0x493f69
or eax, 0xffffffff
jmp 0x493f82
push eax
push edx
mov eax, 0x14
mov ecx, edi
call fcn.00494290
add esp, 8
test eax, eax
jbe 0x4941dc
add edi, eax
cmp byte [ebp + 0x5be], 0
lea edx, [ebp + 0x5be]
je 0x4940ae
mov eax, edx
lea ebx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x493fa0
sub eax, ebx
mov ecx, esi
sub ecx, edi
lea ebx, [eax + 4]
cmp ecx, ebx
jae 0x493fb9
or eax, 0xffffffff
jmp 0x493fd2
push eax
push edx
mov eax, 0x15
mov ecx, edi
call fcn.00494290
add esp, 8
test eax, eax
jbe 0x4941dc
add edi, eax
cmp dword [ebp + 0x8e0], 0
jle 0x494014
mov eax, dword [ebp + 0x9e4]
mov edx, esi
sub edx, edi
lea ecx, [eax + 4]
cmp edx, ecx
jae 0x493ff3
or eax, 0xffffffff
jmp 0x49405c
push eax
lea edx, [ebp + 0x8e4]
push edx
mov eax, 0x8002
mov ecx, edi
call fcn.00494290
add esp, 8
test eax, eax
jbe 0x4941dc
jmp 0x49405c
cmp dword [ebp], 0
je 0x494064
lea esi, [esp + 0x368]
call fcn.00493810
mov ecx, dword [esp + 0x18]
sub ecx, edi
lea edx, [eax + 4]
cmp ecx, edx
jae 0x494038
or eax, 0xffffffff
jmp 0x494058
push eax
lea eax, [esp + 0x36c]
push eax
mov eax, 0x8002
mov ecx, edi
call fcn.00494290
add esp, 8
test eax, eax
jbe 0x4941dc
mov esi, dword [esp + 0x18]
add edi, eax
cmp dword [ebp], 0
jne 0x4940ae
cmp dword [ebp + 0x8e0], 0
je 0x4940ae
movzx ecx, word [ebp + 0x8e0]
push ecx
call sub.WS2_32.dll_htons
sub esi, edi
mov word [esp + 0x28], ax
cmp esi, 8
jae 0x49408b
or eax, 0xffffffff
jmp 0x4940ac
push 0x1d
call sub.WS2_32.dll_htons
push 4
mov word [edi], ax
call sub.WS2_32.dll_htons
mov edx, dword [esp + 0x28]
mov word [edi + 2], ax
mov dword [edi + 4], edx
mov eax, 8
add edi, eax
cmp dword [ebp], 0x10
je 0x4941cf
cmp dword [esp + 0x20], 0
je 0x4941cf
mov ecx, dword [esp + 0x20]
lea eax, [esp + 0x60]
push eax
mov edx, ebp
call fcn.004936e0
mov esi, dword [esp + 0x28]
mov ecx, edi
sub ecx, dword [esp + 0x20]
add esp, 4
add ecx, 0x18
push ecx
mov ebx, eax
call fcn.00494260
add esp, 4
push 1
push 0
mov edx, edi
sub edx, esi
push edx
push esi
lea eax, [esp + 0x70]
push ebx
push eax
lea eax, [esp + 0x40]
call fcn.0040ea60
mov ecx, dword [esp + 0x30]
sub ecx, edi
add esp, 0x18
cmp ecx, 0x18
jae 0x49411a
or eax, 0xffffffff
jmp 0x494157
push 8
call sub.WS2_32.dll_htons
push 0x14
mov word [edi], ax
call sub.WS2_32.dll_htons
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x30]
mov word [edi + 2], ax
mov eax, dword [esp + 0x2c]
mov dword [edi + 4], edx
mov edx, dword [esp + 0x34]
mov dword [edi + 8], eax
mov eax, dword [esp + 0x38]
mov dword [edi + 0xc], ecx
mov dword [edi + 0x10], edx
mov dword [edi + 0x14], eax
mov eax, 0x18
add edi, eax
cmp dword [ebp + 0x8e0], 0
je 0x4941cf
mov ecx, edi
sub ecx, dword [esp + 0x1c]
add ecx, 0x24
push ecx
call fcn.00494260
add esp, 4
push 0
push 0
mov edx, edi
sub edx, esi
push edx
push esi
lea eax, [esp + 0x70]
push ebx
push eax
lea eax, [esp + 0x58]
call fcn.0040ea60
mov ecx, dword [esp + 0x30]
sub ecx, edi
add esp, 0x18
cmp ecx, 0x24
jae 0x4941a0
or eax, 0xffffffff
jmp 0x4941cd
push 0x1c
call sub.WS2_32.dll_htons
push 0x20
mov word [edi], ax
call sub.WS2_32.dll_htons
push 0x20
lea edx, [esp + 0x44]
mov word [edi + 2], ax
push edx
lea eax, [edi + 4]
push eax
call fcn.005bfdd0
add esp, 0xc
mov eax, 0x24
add edi, eax
mov eax, edi
sub eax, dword [esp + 0x1c]
add eax, 8
test al, 3
je 0x4941e1
or eax, 0xffffffff
jmp 0x49423c
mov esi, dword [esp + 0x24]
push eax
call fcn.00494260
add esp, 4
mov ecx, edi
sub ecx, esi
push esi
call fcn.00496440
add esp, 4
xor eax, 0x5354554e
push eax
call sub.WS2_32.dll_htonl
mov ebx, eax
mov eax, dword [esp + 0x18]
sub eax, edi
cmp eax, 8
jae 0x494218
or eax, 0xffffffff
jmp 0x494238
push 0x8028
call sub.WS2_32.dll_htons
push 4
mov word [edi], ax
call sub.WS2_32.dll_htons
mov word [edi + 2], ax
mov dword [edi + 4], ebx
mov eax, 8
sub eax, esi
add eax, edi
mov ecx, dword [esp + 0x46c]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.005bfcb8
add esp, 0x464
ret