Function at 0x40de90
Capabilities:
Check http status code

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x45419f
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x588
mov eax, dword [0x46c150]
push ebx
push esi
push edi
lea ecx, [ebp - 0x54c]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], esp
call dword [0x458b18]
xor edi, edi
lea ecx, [ebp - 0x544]
mov dword [ebp - 4], edi
call dword [0x458b18]
mov esi, dword [ebp + 8]
lea eax, [ebp - 0x570]
push eax
lea ecx, [ebp - 0x544]
push ecx
lea edx, [ebp - 0x54c]
push edx
lea eax, [ebp - 0x574]
push eax
push esi
mov byte [ebp - 4], 1
call fcn.00452106
test eax, eax
jne 0x40df1e
mov ecx, dword [ebp + 0x14]
push esi
push 0x10e3
push ecx
call dword [0x4582ec]
add esp, 0xc
jmp 0x40e69e
mov edx, dword [ebp + 0xc]
push edx
lea ecx, [ebp - 0x550]
call dword [0x458230]
lea ecx, [ebp - 0x550]
mov byte [ebp - 4], 2
call dword [0x458980]
test al, al
jne 0x40df7c
push edi
push 0x3f
lea ecx, [ebp - 0x544]
call dword [0x4584a4]
inc eax
neg eax
sbb eax, eax
and eax, 0xffffffe7
add eax, 0x3f
push eax
lea ecx, [ebp - 0x544]
call dword [0x45860c]
lea eax, [ebp - 0x550]
push eax
lea ecx, [ebp - 0x544]
call dword [0x458228]
mov eax, dword [ebp - 0x574]
cmp eax, 3
je 0x40dfa6
cmp eax, 0x100b
je 0x40dfa6
mov ecx, dword [ebp + 0x14]
push esi
push 0x10e3
push ecx
call dword [0x4582ec]
add esp, 0xc
jmp 0x40e692
mov edx, dword [ebp + 0x10]
push edx
lea ecx, [ebp - 0x548]
call dword [0x458230]
lea ecx, [ebp - 0x548]
mov byte [ebp - 4], 3
call dword [0x458980]
test al, al
je 0x40dfdb
push str.HTTP_request
lea ecx, [ebp - 0x548]
call dword [0x4582cc]
lea ecx, [ebp - 0x554]
call dword [0x458b18]
push 0xe000
lea ecx, [ebp - 0x554]
mov byte [ebp - 4], 4
call dword [0x4582d8]
lea ecx, [ebp - 0x58c]
call fcn.00452112
push 0x14
mov byte [ebp - 4], 6
call fcn.00451ec0
mov esi, eax
add esp, 4
mov dword [ebp - 0x55c], esi
cmp esi, edi
mov byte [ebp - 4], 7
je 0x40e041
push edi
push edi
push edi
push edi
push 1
lea ecx, [ebp - 0x554]
call dword [0x4589bc]
push eax
mov ecx, esi
call fcn.0045210c
mov edi, eax
mov esi, 4
mov dword [ebp - 0x558], edi
mov dword [ebp - 0x564], edi
mov dword [ebp - 4], esi
call fcn.004520f4
lea ecx, [ebp - 0x57c]
call fcn.00452112
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ebp - 0x570]
push eax
push ecx
push edx
lea ecx, [ebp - 0x54c]
mov byte [ebp - 4], 0xa
call dword [0x4589bc]
push eax
mov ecx, edi
call fcn.00452118
mov ebx, eax
mov dword [ebp - 0x560], ebx
mov dword [ebp - 4], esi
call fcn.004520f4
mov edi, dword [ebp - 0x574]
xor eax, eax
cmp edi, 0x100b
setne al
lea ecx, [ebp - 0x584]
dec eax
and eax, 0x800000
add eax, 0x80400000
mov edi, eax
call fcn.00452112
push edi
push 0
push 0
push 1
push 0
lea ecx, [ebp - 0x544]
mov byte [ebp - 4], 0xd
call dword [0x4589bc]
push eax
push 1
mov ecx, ebx
call fcn.0045211e
mov edi, eax
mov dword [ebp - 0x55c], edi
mov dword [ebp - 4], esi
call fcn.004520f4
lea ecx, [ebp - 0x594]
call fcn.00452112
push 0
push 0
push 0
push 0
mov ecx, edi
mov byte [ebp - 4], 0x10
call fcn.00452130
mov dword [ebp - 4], esi
call fcn.004520f4
mov esi, dword [ebp + 0x18]
push esi
mov ecx, edi
mov dword [esi], 0x1f4
call fcn.0045212a
cmp dword [esi], 0x130
jne 0x40e144
mov esi, dword [ebp + 0x14]
mov ecx, esi
call dword [0x458284]
jmp 0x40e1ba
lea ecx, [ebp - 0x56c]
call fcn.00452112
mov esi, dword [ebp + 0x14]
mov byte [ebp - 4], 0x13
jmp 0x40e160
mov edx, dword [edi]
push 0x3ff
lea eax, [ebp - 0x540]
push eax
mov ecx, edi
call dword [edx + 0x3c]
test eax, eax
jbe 0x40e1ae
lea ecx, [ebp - 0x540]
push ecx
lea ecx, [ebp + 8]
mov byte [ebp + eax - 0x540], 0
call dword [0x4584dc]
lea edx, [ebp + 8]
push edx
mov ecx, esi
mov byte [ebp - 4], 0x14
call dword [0x458228]
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0x13
call dword [0x458b24]
jmp 0x40e160
mov dword [ebp - 4], 4
call fcn.004520f4
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x54]
mov edx, dword [ebx]
mov ecx, ebx
call dword [edx + 0x14]
mov eax, dword [edi]
push 1
mov ecx, edi
call dword [eax + 4]
mov edx, dword [ebx]
push 1
mov ecx, ebx
call dword [edx + 4]
mov ecx, dword [ebp - 0x564]
test ecx, ecx
je 0x40e1eb
mov eax, dword [ecx]
push 1
call dword [eax + 4]
mov ecx, dword [ebp + 0x18]
mov eax, dword [ecx]
cmp eax, 0xc8
jb 0x40e244
cmp eax, 0x130
ja 0x40e244
lea ecx, [ebp - 0x554]
call dword [0x458b24]
lea ecx, [ebp - 0x548]
call dword [0x458b24]
lea ecx, [ebp - 0x550]
call dword [0x458b24]
lea ecx, [ebp - 0x544]
call dword [0x458b24]
lea ecx, [ebp - 0x54c]
call dword [0x458b24]
mov eax, 1
jmp 0x40e6b8
lea ecx, [ebp + 0x18]
call dword [0x458b18]
lea ecx, [ebp + 0x14]
call dword [0x458b18]
lea ecx, [ebp + 8]
call dword [0x458b18]
push 0
push str._ErrorCode_
mov ecx, esi
mov byte [ebp - 4], 0x18
call dword [0x4584c4]
mov ebx, eax
lea edi, [ebx + 0xb]
push edi
push str.__ErrorCode_
mov ecx, esi
call dword [0x4584c4]
cmp ebx, 0xffffffff
je 0x40e2ba
cmp eax, 0xffffffff
je 0x40e2ba
sub eax, edi
push eax
push edi
lea edx, [ebp + 0xc]
push edx
mov ecx, esi
call dword [0x45838c]
push eax
lea ecx, [ebp + 0x18]
mov byte [ebp - 4], 0x19
call dword [0x4589a4]
lea ecx, [ebp + 0xc]
mov byte [ebp - 4], 0x18
call dword [0x458b24]
push 0
push str._ErrorMessage_
mov ecx, esi
call dword [0x4584c4]
mov ebx, eax
lea edi, [ebx + 0xe]
push edi
push str.__ErrorMessage_
mov ecx, esi
call dword [0x4584c4]
cmp ebx, 0xffffffff
je 0x40e311
cmp eax, 0xffffffff
je 0x40e311
sub eax, edi
push eax
push edi
lea eax, [ebp + 0xc]
push eax
mov ecx, esi
call dword [0x45838c]
push eax
lea ecx, [ebp + 0x14]
mov byte [ebp - 4], 0x1a
call dword [0x4589a4]
lea ecx, [ebp + 0xc]
mov byte [ebp - 4], 0x18
call dword [0x458b24]
push 0
push str._ErrorDetails_
mov ecx, esi
call dword [0x4584c4]
mov ebx, eax
lea edi, [ebx + 0xe]
push edi
push str.__ErrorDetails_
mov ecx, esi
call dword [0x4584c4]
cmp ebx, 0xffffffff
je 0x40e368
cmp eax, 0xffffffff
je 0x40e368
sub eax, edi
push eax
push edi
lea ecx, [ebp + 0xc]
push ecx
mov ecx, esi
call dword [0x45838c]
push eax
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0x1b
call dword [0x4589a4]
lea ecx, [ebp + 0xc]
mov byte [ebp - 4], 0x18
call dword [0x458b24]
lea ecx, [ebp + 0x18]
call dword [0x458980]
test al, al
jne 0x40e3e3
lea ecx, [ebp + 0x14]
call dword [0x458980]
test al, al
jne 0x40e3e3
lea ecx, [ebp + 8]
call dword [0x458980]
test al, al
jne 0x40e3be
lea ecx, [ebp + 8]
call dword [0x4589bc]
push eax
lea ecx, [ebp + 0x14]
call dword [0x4589bc]
push eax
lea ecx, [ebp + 0x18]
call dword [0x4589bc]
push eax
push str.Error__s:__s___s_.
push esi
call dword [0x4582dc]
add esp, 0x14
jmp 0x40e404
lea ecx, [ebp + 0x14]
call dword [0x4589bc]
push eax
lea ecx, [ebp + 0x18]
call dword [0x4589bc]
push eax
push str.Error__s:__s.
push esi
call dword [0x4582dc]
add esp, 0x10
jmp 0x40e404
push 0
push str.NotImplemented
mov ecx, esi
call dword [0x4584c4]
cmp eax, 0xffffffff
je 0x40e404
push 0x10e9
mov ecx, esi
call dword [0x4582d8]
lea ecx, [ebp + 8]
call dword [0x458b24]
lea ecx, [ebp + 0x14]
call dword [0x458b24]
lea ecx, [ebp + 0x18]
call dword [0x458b24]
jmp 0x40e67a
lea ecx, [ebp - 0x554]
call dword [0x458b24]
lea ecx, [ebp - 0x548]
call dword [0x458b24]
lea ecx, [ebp - 0x550]
call dword [0x458b24]
lea ecx, [ebp - 0x544]
call dword [0x458b24]
lea ecx, [ebp - 0x54c]
call dword [0x458b24]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x14]
call fcn.00452a31
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c