Function at 0x402c31
Capabilities:
Check http status code

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1dc
push ebx
push esi
push edi
call fcn.00403e03
cmp dword [ebp + 8], 1
mov edi, eax
mov dword [ebp - 0x5c], edi
jne 0x40308a
cmp byte [edi + 0x11], 0
je 0x403117
cmp dword [edi + 0x14], 5
jge 0x403117
push 0x400
lea esi, [ebp - 8]
call fcn.00404ce9
push 0x60
push 1
call fcn.0040476b
mov esi, eax
xor ebx, ebx
pop ecx
pop ecx
cmp esi, ebx
je 0x402c9a
lea eax, [ebp - 8]
call fcn.004014e1
push eax
lea eax, [ebp - 8]
call fcn.00407b82
push eax
push ebx
call esi
push ebx
lea esi, [ebp - 0x28]
call fcn.00404ce9
cmp dword [edi + 0x14], 3
lea eax, [ebp - 0x38]
jge 0x402cb0
push 8
jmp 0x402cb2
push 0x10
push eax
call fcn.00403969
pop ecx
pop ecx
lea ecx, [ebp - 0x28]
call fcn.004014da
lea edi, [ebp - 0x38]
call fcn.00404d03
push ebx
push ecx
lea eax, [ebp - 0x38]
push 9
push eax
call fcn.00403969
add esp, 0xc
call fcn.00407b82
push eax
mov ebx, 0x80000001
lea edi, [ebp - 0xbc]
call fcn.004068ae
lea edi, [ebp - 0x38]
call fcn.00404d03
lea eax, [ebp - 0x28]
call fcn.00407b82
push eax
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0xbc]
push eax
call fcn.00406b40
push 0
lea esi, [ebp - 0x20]
call fcn.00404ce9
xor ebx, ebx
push 0x73
inc ebx
push ebx
call fcn.0040476b
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x402d5f
lea eax, [ebp - 0x20]
call fcn.00407b82
push eax
push 0
lea eax, [ebp - 0x38]
push 0x2d
push eax
call fcn.00403969
pop ecx
pop ecx
call fcn.00407b82
push eax
lea eax, [ebp - 0x50]
call fcn.00407b82
push eax
call esi
lea edi, [ebp - 0x38]
call fcn.00404d03
mov edi, 0x400
push edi
lea esi, [ebp - 0x58]
call fcn.00404ce9
push edi
lea esi, [ebp - 0x60]
call fcn.00404ce9
push 0x69
push ebx
call fcn.0040476b
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x402da3
lea eax, [ebp - 0x58]
call fcn.004014e1
push eax
lea eax, [ebp - 0x58]
call fcn.00407b82
push eax
lea eax, [ebp - 8]
call fcn.00407b82
push eax
call esi
push 0x69
push ebx
call fcn.0040476b
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x402dd0
lea eax, [ebp - 0x60]
call fcn.004014e1
push eax
lea eax, [ebp - 0x60]
call fcn.00407b82
push eax
lea eax, [ebp - 0x20]
call fcn.00407b82
push eax
call esi
push 0x37
push ebx
call fcn.0040476b
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x402deb
lea eax, [ebp - 0x20]
call fcn.00407b82
push eax
call esi
lea eax, [ebp - 0x58]
lea ecx, [ebp - 8]
call fcn.004014da
lea eax, [ebp - 0x60]
lea ecx, [ebp - 0x20]
call fcn.004014da
lea eax, [ebp - 0x68]
push 0x2f
push eax
call fcn.00403969
pop ecx
pop ecx
call fcn.00407b82
mov esi, eax
lea eax, [ebp - 0x70]
push 0x2e
push eax
call fcn.00403969
pop ecx
pop ecx
call fcn.00407b82
lea ebx, [ebp - 0x30]
lea ecx, [ebp - 0x20]
call fcn.00404f3e
mov ecx, eax
mov eax, esi
lea ebx, [ebp - 0x38]
call fcn.00404d1e
lea ecx, [ebp - 0x20]
call fcn.004014da
mov edi, ebx
call fcn.00404d03
lea edi, [ebp - 0x30]
call fcn.00404d03
lea edi, [ebp - 0x70]
call fcn.00404d03
lea edi, [ebp - 0x68]
call fcn.00404d03
lea edi, [ebp - 0x60]
call fcn.00404d03
lea edi, [ebp - 0x58]
call fcn.00404d03
xor edi, edi
lea esi, [ebp - 0x48]
call fcn.00405d98
push edi
lea eax, [ebp - 8]
call fcn.00407b82
push eax
lea eax, [ebp - 0x80]
call fcn.004062eb
lea eax, [ebp - 0xd8]
push eax
lea eax, [ebp - 0x80]
call fcn.004064f0
mov edi, eax
mov ebx, esi
call fcn.00405e17
lea edi, [ebp - 0xd8]
call fcn.00405c51
lea eax, [ebp - 0x80]
call fcn.00401000
mov eax, esi
call fcn.00406819
mov esi, eax
push esi
push 3
lea eax, [ebp - 0x20]
call fcn.00407b82
push eax
lea eax, [ebp - 0x18]
call fcn.00406690
lea ecx, [ebp - 0x18]
call fcn.00402195
test al, al
je 0x402ef2
lea eax, [ebp - 0x18]
call fcn.0040217c
jmp 0x402fff
add esi, 0xfffffff6
push esi
push 0xa
pop edi
push edi
lea ecx, [ebp - 0x48]
call fcn.00405c6b
push eax
lea eax, [ebp - 0x18]
call fcn.00402191
lea esi, [edi + eax]
call fcn.00405b4b
pop ecx
pop ecx
lea eax, [ebp - 0x18]
call fcn.0040217c
push edi
push 2
lea eax, [ebp - 0x20]
call fcn.00407b82
push eax
lea eax, [ebp - 0x18]
call fcn.00406690
lea ecx, [ebp - 0x18]
call fcn.00402195
test al, al
lea eax, [ebp - 0x18]
jne 0x402ee8
call fcn.00402191
push edi
push 0
lea ecx, [ebp - 0x48]
mov esi, eax
call fcn.00405c6b
push eax
call fcn.00405b4b
pop ecx
pop ecx
mov eax, esi
call fcn.004021a6
mov dword [eax + 8], 0x509e28f7
lea eax, [ebp - 0x18]
call fcn.0040217c
push 4
lea eax, [ebp - 0x20]
call fcn.00407b82
push eax
lea eax, [ebp - 0x80]
call fcn.004062eb
push 0x10
lea esi, [ebp - 0x18]
call fcn.00405b05
pop ecx
push 0xb
pop eax
mov word [ebp - 0x16], ax
push 0xd
mov eax, 0x7dc
mov word [ebp - 0x18], ax
pop eax
push 0xe
mov word [ebp - 0x10], ax
pop eax
push 0xf
mov word [ebp - 0xe], ax
pop eax
push 0xac
push 1
mov word [ebp - 0x12], di
mov word [ebp - 0xc], ax
call fcn.0040476b
pop ecx
pop ecx
test eax, eax
je 0x402fd2
lea ecx, [ebp - 0x30]
push ecx
mov ecx, esi
push ecx
call eax
push 0xa6
push 1
call fcn.0040476b
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x402ff7
lea eax, [ebp - 0x30]
push eax
push eax
push eax
lea eax, [ebp - 0x80]
call fcn.00402174
push eax
call esi
lea eax, [ebp - 0x80]
call fcn.00401000
lea eax, [ebp - 0x20]
push eax
lea edi, [ebp - 0x128]
call fcn.0040574d
lea eax, [ebp - 8]
call fcn.00407b82
push eax
mov ebx, edi
call fcn.00405899
push 0x24
push 1
call fcn.0040476b
pop ecx
pop ecx
xor ecx, ecx
cmp eax, ecx
je 0x40303b
push ecx
push ecx
push ecx
push 0x402be7
push ecx
push ecx
call eax
lea eax, [ebp - 0x128]
push eax
call fcn.00403f31
pop ecx
test al, al
je 0x40303b
lea eax, [ebp - 0x128]
call fcn.004057f3
lea edi, [ebp - 0x48]
call fcn.00405c51
lea edi, [ebp - 0x20]
call fcn.00404d03
lea edi, [ebp - 0x50]
call fcn.00404d03
lea eax, [ebp - 0xbc]
call fcn.00401016
lea edi, [ebp - 0x28]
call fcn.00404d03
lea edi, [ebp - 8]
jmp 0x4038e2
jle 0x403117
mov ebx, dword [ebp + 0xc]
mov edi, dword [ebx + 4]
push 0x80
push 0
push 0
lea esi, [ebp - 0x48]
call fcn.00406320
mov eax, esi
call fcn.004015a0
test al, al
je 0x40310f
mov eax, esi
call fcn.00401568
xor esi, esi
push 0xa4
push 1
call fcn.0040476b
pop ecx
pop ecx
test eax, eax
je 0x4030f3
push 0x80
push dword [ebx + 4]
call eax
test eax, eax
je 0x4030f3
push 0x38
push 1
call fcn.0040476b
pop ecx
pop ecx
test eax, eax
je 0x4030f3
push dword [ebx + 4]
call eax
test eax, eax
jne 0x40310f
push 0xaa
push 1
call fcn.0040476b
pop ecx
pop ecx
test eax, eax
je 0x403109
push 0x64
call eax
inc esi
cmp esi, 0x64
jl 0x4030bb
lea eax, [ebp - 0x48]
call fcn.00401000
call fcn.004011a5
call fcn.00401369
push 0
lea esi, [ebp - 0x98]
call fcn.00404ce9
lea edi, [ebp - 0xec]
call fcn.004057db
push 0
call fcn.0040462c
pop ecx
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.0040243f
pop ecx
pop ecx
lea eax, [ebp - 0x48]
call fcn.00406819
mov edx, eax
test edx, edx
je 0x4038c9
push 0
lea ecx, [ebp - 0x48]
call fcn.00405c6b
mov edi, eax
mov eax, edx
lea ecx, [ebp - 0x30]
call fcn.00404cb8
push 0x22
push ecx
lea eax, [ebp - 0x50]
push 0xa
push eax
call fcn.00403969
add esp, 0xc
call fcn.00407b82
lea ecx, [ebp - 0x70]
mov ebx, eax
push ecx
lea eax, [ebp - 0x30]
call fcn.00404fa2
lea ebx, [ebp - 0x68]
mov edi, eax
call fcn.00404f73
call fcn.00407b82
call fcn.0040534b
mov edi, ebx
mov dword [ebp - 0x54], eax
call fcn.00404d03
lea edi, [ebp - 0x70]
call fcn.00404d03
lea edi, [ebp - 0x50]
call fcn.00404d03
lea eax, [ebp - 0x20]
push 0xc
push eax
call fcn.00403969
pop ecx
pop ecx
call fcn.00407b82
mov esi, eax
lea eax, [ebp - 8]
push 0xb
push eax
call fcn.00403969
pop ecx
pop ecx
call fcn.00407b82
lea ecx, [ebp - 0x28]
mov ebx, eax
push ecx
lea eax, [ebp - 0x30]
call fcn.00404fa2
mov ecx, eax
mov eax, esi
lea ebx, [ebp - 0x38]
call fcn.00404f3e
lea ecx, [ebp - 0x98]
call fcn.004014da
mov edi, ebx
call fcn.00404d03
lea edi, [ebp - 0x28]
call fcn.00404d03
lea edi, [ebp - 8]
call fcn.00404d03
lea edi, [ebp - 0x20]
call fcn.00404d03
lea eax, [ebp - 0xbc]
push eax
lea eax, [ebp - 0x98]
call fcn.00405105
mov esi, eax
call fcn.004059f2
mov ebx, eax
lea edi, [ebp - 0xec]
call fcn.00405807
lea eax, [ebp - 0xbc]
call fcn.004057f3
lea edi, [ebp - 0x30]
call fcn.00404d03
lea edi, [ebp - 0x48]
call fcn.00405c51
xor edi, edi
lea esi, [ebp - 0x48]
call fcn.00405d98
push edi
lea esi, [ebp - 0x88]
call fcn.00404ce9
push dword [ebp - 0x54]
lea eax, [ebp - 0x38]
push eax
mov eax, dword [ebp - 0x5c]
call fcn.00402631
and dword [ebp + 8], edi
pop ecx
pop ecx
push 0xaa
push 1
call fcn.0040476b
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x4032da
cmp dword [ebp + 8], 0
je 0x4032d2
lea eax, [ebp - 0xec]
call fcn.004014e1
mov ecx, eax
mov eax, dword [ebp + 8]
cdq
idiv ecx
mov eax, 0x493e0
test edx, edx
je 0x4032d7
mov eax, 0x3e8
push eax
call esi
lea eax, [ebp - 0xec]
call fcn.004014e1
mov ecx, eax
mov eax, dword [ebp + 8]
cdq
idiv ecx
lea esi, [ebp - 0xc8]
mov edi, edx
call fcn.00407067
mov ecx, edi
lea eax, [ebp - 0xec]
call fcn.0040591c
push eax
mov eax, esi
call fcn.0040713e
test al, al
mov eax, esi
je 0x4033b3
push eax
lea eax, [ebp - 0x190]
push eax
call fcn.004015a8
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x190]
call fcn.004020d9
lea esi, [ebp - 0x190]
call fcn.004018ad
test al, al
je 0x4033a2
mov eax, esi
call fcn.004014e1
mov esi, eax
call fcn.0040219e
cmp dword [eax], 0xc8
jne 0x4033a2
mov eax, esi
call fcn.004021a2
mov ebx, eax
lea edi, [ebp - 0x18]
call fcn.00405db3
lea eax, [ebp - 0x88]
push eax
lea eax, [ebp - 0x48]
push eax
mov ecx, edi
call fcn.00402a15
pop ecx
pop ecx
lea ecx, [ebp - 0x48]
call fcn.00405c7a
test al, al
jne 0x40339a
lea eax, [ebp - 0x88]
call fcn.00404e4b
test al, al
je 0x4033c0
lea edi, [ebp - 0x18]
call fcn.00405c51
lea ecx, [ebp - 0x190]
call fcn.004017eb
lea eax, [ebp - 0xc8]
call fcn.0040708a
inc dword [ebp + 8]
jmp 0x40329c
lea edi, [ebp - 0x18]
call fcn.00405c51
lea ecx, [ebp - 0x190]
call fcn.004017eb
lea eax, [ebp - 0xc8]
call fcn.0040708a
push 0x400
lea esi, [ebp - 0x30]
call fcn.004055f7
push 0x2800
lea esi, [ebp - 0x28]
call fcn.004055f7
push 0
lea esi, [ebp - 8]
call fcn.004055f7
push 0x61
push 1
call fcn.0040476b
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x403430
lea eax, [ebp - 0x28]
call fcn.004014e1
push eax
lea eax, [ebp - 0x28]
call fcn.00407b82
push eax
push 0
call fcn.0040462c
pop ecx
push eax
call esi
lea ebx, [ebp - 0x20]
lea edi, [ebp - 0x28]
call fcn.004056ca
lea ecx, [ebp - 8]
call fcn.0040395c
mov edi, ebx
call fcn.00405611
push 0x74
push 1
call fcn.0040476b
mov esi, eax
xor ebx, ebx
pop ecx
pop ecx
cmp esi, ebx
je 0x403477
lea eax, [ebp - 0x30]
call fcn.00407b82
push eax
push ebx
push 0x408084
lea eax, [ebp - 8]
call fcn.00407b82
push eax
call esi
lea edi, [ebp - 8]
call fcn.00405611
lea edi, [ebp - 0x28]
call fcn.00405611
lea eax, [ebp - 0x48]
call fcn.00406819
mov esi, eax
lea eax, [ebp - 0x30]
call fcn.00407b82
push esi
mov edi, eax
push 3
lea eax, [ebp - 0x18]
call fcn.004066be
lea ecx, [ebp - 0x18]
call fcn.00402195
test al, al
jne 0x4034d3
add esi, 0xffffff9c
push esi
push 0x64
lea ecx, [ebp - 0x48]
call fcn.00405c6b
push eax
lea eax, [ebp - 0x18]
call fcn.00402191
lea esi, [eax + 0x64]
call fcn.00405b4b
pop ecx
pop ecx
lea eax, [ebp - 0x18]
call fcn.0040217c
push 0x64
push 2
lea eax, [ebp - 0x18]
call fcn.004066be
lea ecx, [ebp - 0x18]
call fcn.00402195
test al, al
jne 0x403510
push 0x64
push ebx
lea ecx, [ebp - 0x48]
call fcn.00405c6b
push eax
lea eax, [ebp - 0x18]
call fcn.00402191
mov esi, eax
call fcn.00405b4b
pop ecx
pop ecx
lea eax, [ebp - 0x18]
call fcn.0040217c
lea eax, [ebp - 0x90]
push 0x11
push eax
call fcn.00403969
mov eax, dword [ebp + 0xc]
pop ecx
pop ecx
push dword [eax]
lea eax, [ebp - 0x88]
call fcn.00407b82
push eax
push dword [ebp - 0x54]
lea eax, [ebp - 0x90]
call fcn.00407b82
push eax
push ebx
lea esi, [ebp - 8]
call fcn.00404ce9
call fcn.00404e00
add esp, 0x10
lea ecx, [ebp - 0x28]
call fcn.00404ccb
mov edi, esi
call fcn.00404d03
lea eax, [ebp - 0x28]
call fcn.0040214a
mov ebx, eax
push 0
lea eax, [ebp - 0x28]
call fcn.0040213e
push eax
lea edi, [ebp - 0x80]
call fcn.00405de7
push 0
lea esi, [ebp - 0xa0]
call fcn.00404ce9
lea eax, [ebp - 0x68]
push 0x13
push eax
call fcn.004021c8
pop ecx
pop ecx
lea esi, [ebp - 8]
mov ecx, eax
call fcn.00404e5d
lea edi, [ebp - 0x68]
call fcn.00404d03
xor edi, edi
lea esi, [ebp - 0xd8]
call fcn.00405d98
lea eax, [ebp - 8]
call fcn.00407b82
push eax
mov eax, esi
call fcn.004061a3
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 8]
push eax
push 0xc
pop eax
push 0x14
pop ecx
call fcn.00404ea8
call fcn.00407b82
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 8]
push eax
push 4
pop eax
push 0x10
pop ecx
call fcn.00404ea8
call fcn.00407b82
mov dword [ebp - 0x54], eax
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 8]
push eax
push 4
pop eax
push 0xc
pop ecx
call fcn.00404ea8
call fcn.00407b82
lea ecx, [ebp - 0x70]
push ecx
lea ecx, [ebp - 8]
push ecx
push 4
mov dword [ebp - 0x5c], eax
pop eax
push 8
pop ecx
call fcn.00404ea8
call fcn.00407b82
lea ecx, [ebp - 0x68]
push ecx
lea ecx, [ebp - 8]
push ecx
push 8
mov dword [ebp + 8], eax
pop eax
xor ecx, ecx
call fcn.00404ea8
call fcn.00407b82
mov bl, 0x7b
lea esi, [ebp - 0xa0]
mov edi, eax
call fcn.00404dd6
mov esi, eax
call fcn.00404d9d
add bl, 0xb2
mov esi, eax
call fcn.00404dd6
mov edi, dword [ebp + 8]
mov esi, eax
call fcn.00404d9d
mov esi, eax
call fcn.00404dd6
mov edi, dword [ebp - 0x5c]
mov esi, eax
call fcn.00404d9d
mov esi, eax
call fcn.00404dd6
mov edi, dword [ebp - 0x54]
mov esi, eax
call fcn.00404d9d
mov esi, eax
call fcn.00404dd6
mov edi, dword [ebp - 0x1c]
mov esi, eax
call fcn.00404d9d
mov bl, 0x7d
mov esi, eax
call fcn.00404dd6
lea edi, [ebp - 0x68]
call fcn.00404d03
lea edi, [ebp - 0x70]
call fcn.00404d03
lea edi, [ebp - 0x50]
call fcn.00404d03
lea edi, [ebp - 0xa8]
call fcn.00404d03
lea edi, [ebp - 0x10]
call fcn.00404d03
lea eax, [ebp - 0x10]
push 0x12
push eax
call fcn.00403969
pop ecx
pop ecx
lea ecx, [ebp - 0x90]
call fcn.004014da
lea edi, [ebp - 0x10]
call fcn.00404d03
lea eax, [ebp - 0xa0]
call fcn.00407b82
push eax
lea eax, [ebp - 0x90]
call fcn.00407b82
push eax
lea eax, [ebp - 8]
call fcn.00404e00
pop ecx
pop ecx
push 2
lea eax, [ebp - 8]
call fcn.00407b82
push eax
mov ebx, 0x80000001
lea edi, [ebp - 0x114]
call fcn.004068ae
lea eax, [ebp - 0x100]
push eax
mov eax, edi
push eax
call fcn.00406d80
lea eax, [ebp - 0x100]
xor ebx, ebx
xor esi, esi
call fcn.004014e1
test eax, eax
jle 0x403793
mov ecx, esi
lea eax, [ebp - 0x100]
call fcn.0040591c
call fcn.00407b82
push eax
lea eax, [ebp - 0x114]
push eax
call fcn.00406ce5
lea eax, [ebp - 0x100]
inc esi
call fcn.004014e1
cmp esi, eax
jl 0x403764
lea ecx, [ebp - 0xd8]
lea edi, [ebp - 0x80]
call fcn.0040621a
mov eax, edi
push eax
lea eax, [ebp - 0x114]
push eax
call fcn.00406c97
lea eax, [ebp - 0x30]
call fcn.00407b82
push eax
push ecx
lea eax, [ebp - 0xa8]
push 0xd
push eax
call fcn.00403969
add esp, 0xc
call fcn.00407b82
push eax
push ebx
lea esi, [ebp - 0x10]
call fcn.00404ce9
call fcn.00404e00
pop ecx
pop ecx
call fcn.00407b82
push eax
lea esi, [ebp - 0x50]
call fcn.004055ab
lea edi, [ebp - 0x10]
call fcn.00404d03
lea edi, [ebp - 0xa8]
call fcn.00404d03
push 0x44
pop edi
push edi
lea esi, [ebp - 0x1d8]
call fcn.00405b05
pop ecx
push 0x10
lea esi, [ebp - 0x138]
mov dword [ebp - 0x1d8], edi
call fcn.00405b05
pop ecx
push 0x22
push 1
call fcn.0040476b
mov esi, eax
pop ecx
pop ecx
cmp esi, ebx
je 0x403857
lea eax, [ebp - 0x138]
push eax
lea eax, [ebp - 0x1d8]
push eax
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
lea eax, [ebp - 0x50]
call fcn.00407b82
push eax
push ebx
call esi
lea edi, [ebp - 0x50]
call fcn.00405611
lea eax, [ebp - 0x100]
call fcn.004057f3
lea eax, [ebp - 0x114]
call fcn.00401016
lea edi, [ebp - 0xd8]
call fcn.00405c51
lea edi, [ebp - 8]
call fcn.00404d03
lea edi, [ebp - 0xa0]
call fcn.00404d03
lea edi, [ebp - 0x80]
call fcn.00405c51
lea edi, [ebp - 0x28]
call fcn.00404d03
lea edi, [ebp - 0x90]
call fcn.00404d03
lea edi, [ebp - 0x30]
call fcn.00405611
lea edi, [ebp - 0x38]
call fcn.00404d03
lea edi, [ebp - 0x88]
call fcn.00404d03
lea edi, [ebp - 0x48]
call fcn.00405c51
lea eax, [ebp - 0xec]
call fcn.004057f3
lea edi, [ebp - 0x98]
call fcn.00404d03
pop edi
pop esi
xor eax, eax
pop ebx
leave
ret