Function at 0x4045d0
Capabilities:
Check http status code

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x9c4
push ebx
push esi
push edi
push 0x4201f1
lea ecx, [ebp - 0x58]
call fcn.0040f970
sub esp, 0xc
lea eax, [ebp + 0x28]
mov ecx, esp
push eax
call fcn.0040f9b0
lea ecx, [ebp - 0xf4]
push ecx
call fcn.00403d70
mov edx, dword [ebp + 0x44]
push edx
mov esi, eax
mov eax, dword [ebp + 0x40]
mov ecx, 0xf
lea edi, [ebp - 0xb8]
rep movsd dword es:[edi], dword [esi]
push eax
lea ecx, [ebp - 0x20]
xor ebx, ebx
push ecx
lea edx, [ebp - 0x34]
push edx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x68], ebx
mov dword [ebp - 0x30], ebx
call fcn.00410f50
add esp, 0x20
lea ecx, [ebp + 0x34]
call fcn.0040fbb0
push eax
call dword [0xb39a84]
push eax
lea ecx, [ebp + 0x34]
call fcn.0040fbb0
push eax
lea eax, [ebp - 0x68]
push eax
lea ecx, [ebp - 0x30]
push ecx
call fcn.00410f50
add esp, 0x10
push 0x4201f1
lea ecx, [ebp - 0x2c]
call fcn.0040f970
push 0x4201f1
lea ecx, [ebp - 0xc]
call fcn.0040f970
push 0x4201f1
lea ecx, [ebp - 0x40]
call fcn.0040f970
push 0x4201f1
lea ecx, [ebp - 0x4c]
call fcn.0040f970
mov edx, dword [0xb28d74]
mov eax, dword [ebp - 0xb4]
push edx
push eax
mov dword [ebp - 0x1c], ebx
call dword [0xb39ba0]
test eax, eax
jne 0x4046b7
mov dword [ebp - 0x1c], 1
mov esi, dword [ebp + 0xc]
cmp esi, ebx
jne 0x4046dc
push ebx
push ebx
push ebx
push 1
lea ecx, [ebp + 0x1c]
call fcn.0040fbb0
push eax
call dword [0xb39ac4]
mov esi, eax
cmp esi, ebx
je 0x404ded
lea ecx, [ebp - 0x64]
push 0x14
push ecx
call fcn.00410ce0
add esp, 8
push eax
lea edx, [ebp - 0x7c]
push edx
lea ecx, [ebp - 0x2c]
call fcn.0040faa0
push eax
lea ecx, [ebp - 0x2c]
call fcn.0040fa50
lea ecx, [ebp - 0x7c]
call fcn.0040f9f0
lea ecx, [ebp - 0x64]
call fcn.0040f9f0
push str.___r_n
lea eax, [ebp - 0x64]
push eax
lea ecx, [ebp - 0x2c]
push ecx
lea edx, [ebp - 0x7c]
push edx
push str._r_n______
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x40]
call fcn.0040fb00
mov ecx, eax
call fcn.0040faa0
mov ecx, eax
call fcn.0040fb00
push eax
lea ecx, [ebp - 0x40]
call fcn.0040fa50
lea ecx, [ebp - 0x64]
call fcn.0040f9f0
lea ecx, [ebp - 0x7c]
call fcn.0040f9f0
lea ecx, [ebp - 0x18]
call fcn.0040f9f0
mov eax, dword [0xb28a2c]
lea ecx, [ebp - 0x2c]
push ecx
lea edx, [ebp - 0x18]
push edx
push eax
lea ecx, [ebp - 0x64]
push ecx
lea ecx, [ebp - 0x4c]
call fcn.0040fb00
mov ecx, eax
call fcn.0040faa0
push eax
lea ecx, [ebp - 0x4c]
call fcn.0040fa50
lea ecx, [ebp - 0x18]
call fcn.0040f9f0
lea ecx, [ebp - 0x64]
call fcn.0040f9f0
mov edx, dword [ebp - 0xa0]
mov eax, dword [ebp - 0xa8]
push ebx
push ebx
push 3
push ebx
push ebx
push edx
push eax
push esi
call dword [0xb39bc4]
mov esi, eax
mov dword [ebp - 0x70], esi
cmp esi, ebx
je 0x404ded
mov eax, dword [ebp - 0x1c]
mov ecx, dword [0xb28bc0]
mov edx, dword [ebp - 0x8c]
neg eax
sbb eax, eax
push ebx
and eax, 0x800000
add eax, 0x400100
push eax
mov eax, dword [0xb28d94]
push ebx
push ebx
push ecx
push edx
push eax
push esi
call dword [0xb39c04]
mov edi, eax
cmp edi, ebx
je 0x404de6
cmp dword [ebp - 0x1c], ebx
je 0x404818
or dword [ebp - 0x1c], 0x10300
push 4
lea ecx, [ebp - 0x1c]
push ecx
push 0x1f
push edi
call dword [0xb399bc]
push str.______
lea edx, [ebp - 0x18]
push edx
lea ecx, [ebp - 0xc]
call fcn.0040fb00
push eax
lea ecx, [ebp - 0xc]
call fcn.0040fa50
lea ecx, [ebp - 0x18]
call fcn.0040f9f0
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x18]
push ecx
lea ecx, [ebp - 0xc]
call fcn.0040faa0
push eax
lea ecx, [ebp - 0xc]
call fcn.0040fa50
lea ecx, [ebp - 0x18]
call fcn.0040f9f0
push 0x423348
lea edx, [ebp - 0x18]
push edx
lea ecx, [ebp - 0xc]
call fcn.0040fb00
push eax
lea ecx, [ebp - 0xc]
call fcn.0040fa50
lea ecx, [ebp - 0x18]
call fcn.0040f9f0
mov eax, dword [0xb28bf4]
push eax
lea ecx, [ebp - 0x18]
push ecx
lea ecx, [ebp - 0xc]
call fcn.0040fb00
push eax
lea ecx, [ebp - 0xc]
call fcn.0040fa50
lea ecx, [ebp - 0x18]
call fcn.0040f9f0
mov edx, dword [0xb28d68]
push edx
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0xc]
call fcn.0040fb00
push eax
lea ecx, [ebp - 0xc]
call fcn.0040fa50
lea ecx, [ebp - 0x18]
call fcn.0040f9f0
push str.__r_n_r_n
lea ecx, [ebp - 0x18]
push ecx
lea ecx, [ebp - 0xc]
call fcn.0040fb00
push eax
lea ecx, [ebp - 0xc]
call fcn.0040fa50
lea ecx, [ebp - 0x18]
call fcn.0040f9f0
lea edx, [ebp + 0x10]
push edx
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0xc]
call fcn.0040faa0
push eax
lea ecx, [ebp - 0xc]
call fcn.0040fa50
lea ecx, [ebp - 0x18]
call fcn.0040f9f0
push 0x423348
lea ecx, [ebp - 0x18]
push ecx
lea ecx, [ebp - 0xc]
call fcn.0040fb00
push eax
lea ecx, [ebp - 0xc]
call fcn.0040fa50
lea ecx, [ebp - 0x18]
call fcn.0040f9f0
push str.______
lea edx, [ebp - 0x18]
push edx
lea ecx, [ebp - 0xc]
call fcn.0040fb00
push eax
lea ecx, [ebp - 0xc]
call fcn.0040fa50
lea ecx, [ebp - 0x18]
call fcn.0040f9f0
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x18]
push ecx
lea ecx, [ebp - 0xc]
call fcn.0040faa0
push eax
lea ecx, [ebp - 0xc]
call fcn.0040fa50
lea ecx, [ebp - 0x18]
call fcn.0040f9f0
push 0x423348
lea edx, [ebp - 0x18]
push edx
lea ecx, [ebp - 0xc]
call fcn.0040fb00
push eax
lea ecx, [ebp - 0xc]
call fcn.0040fa50
lea ecx, [ebp - 0x18]
call fcn.0040f9f0
mov eax, dword [0xb28bf4]
push eax
lea ecx, [ebp - 0x18]
push ecx
lea ecx, [ebp - 0xc]
call fcn.0040fb00
push eax
lea ecx, [ebp - 0xc]
call fcn.0040fa50
lea ecx, [ebp - 0x18]
call fcn.0040f9f0
push str.build_id
lea edx, [ebp - 0x18]
push edx
lea ecx, [ebp - 0xc]
call fcn.0040fb00
push eax
lea ecx, [ebp - 0xc]
call fcn.0040fa50
lea ecx, [ebp - 0x18]
call fcn.0040f9f0
push str.__r_n_r_n
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0xc]
call fcn.0040fb00
push eax
lea ecx, [ebp - 0xc]
call fcn.0040fa50
lea ecx, [ebp - 0x18]
call fcn.0040f9f0
call fcn.00401ed0
push eax
lea ecx, [ebp - 0x18]
push ecx
lea ecx, [ebp - 0xc]
call fcn.0040fb00
push eax
lea ecx, [ebp - 0xc]
call fcn.0040fa50
lea ecx, [ebp - 0x18]
call fcn.0040f9f0
push 0x423348
lea edx, [ebp - 0x18]
push edx
lea ecx, [ebp - 0xc]
call fcn.0040fb00
push eax
lea ecx, [ebp - 0xc]
call fcn.0040fa50
lea ecx, [ebp - 0x18]
call fcn.0040f9f0
push str.______
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0xc]
call fcn.0040fb00
push eax
lea ecx, [ebp - 0xc]
call fcn.0040fa50
lea ecx, [ebp - 0x18]
call fcn.0040f9f0
lea ecx, [ebp - 0x2c]
push ecx
lea edx, [ebp - 0x18]
push edx
lea ecx, [ebp - 0xc]
call fcn.0040faa0
push eax
lea ecx, [ebp - 0xc]
call fcn.0040fa50
lea ecx, [ebp - 0x18]
call fcn.0040f9f0
push 0x423348
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0xc]
call fcn.0040fb00
push eax
lea ecx, [ebp - 0xc]
call fcn.0040fa50
lea ecx, [ebp - 0x18]
call fcn.0040f9f0
mov ecx, dword [0xb28bf4]
push ecx
lea edx, [ebp - 0x18]
push edx
lea ecx, [ebp - 0xc]
call fcn.0040fb00
push eax
lea ecx, [ebp - 0xc]
call fcn.0040fa50
lea ecx, [ebp - 0x18]
call fcn.0040f9f0
mov eax, dword [0xb28cf0]
push eax
lea ecx, [ebp - 0x18]
push ecx
lea ecx, [ebp - 0xc]
call fcn.0040fb00
push eax
lea ecx, [ebp - 0xc]
call fcn.0040fa50
lea ecx, [ebp - 0x18]
call fcn.0040f9f0
push str.__r_n_r_n
lea edx, [ebp - 0x18]
push edx
lea ecx, [ebp - 0xc]
call fcn.0040fb00
push eax
lea ecx, [ebp - 0xc]
call fcn.0040fa50
lea ecx, [ebp - 0x18]
call fcn.0040f9f0
mov eax, dword [ebp - 0x30]
push eax
lea ecx, [ebp - 0x18]
push ecx
lea ecx, [ebp - 0xc]
call fcn.0040fb00
push eax
lea ecx, [ebp - 0xc]
call fcn.0040fa50
lea ecx, [ebp - 0x18]
call fcn.0040f9f0
push 0x423348
lea edx, [ebp - 0x18]
push edx
lea ecx, [ebp - 0xc]
call fcn.0040fb00
push eax
lea ecx, [ebp - 0xc]
call fcn.0040fa50
lea ecx, [ebp - 0x18]
call fcn.0040f9f0
push str.______
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0xc]
call fcn.0040fb00
push eax
lea ecx, [ebp - 0xc]
call fcn.0040fa50
lea ecx, [ebp - 0x18]
call fcn.0040f9f0
lea ecx, [ebp - 0x2c]
push ecx
lea edx, [ebp - 0x18]
push edx
lea ecx, [ebp - 0xc]
call fcn.0040faa0
push eax
lea ecx, [ebp - 0xc]
call fcn.0040fa50
lea ecx, [ebp - 0x18]
call fcn.0040f9f0
push 0x423348
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0xc]
call fcn.0040fb00
push eax
lea ecx, [ebp - 0xc]
call fcn.0040fa50
lea ecx, [ebp - 0x18]
call fcn.0040f9f0
mov ecx, dword [0xb28bf4]
push ecx
lea edx, [ebp - 0x18]
push edx
lea ecx, [ebp - 0xc]
call fcn.0040fb00
push eax
lea ecx, [ebp - 0xc]
call fcn.0040fa50
lea ecx, [ebp - 0x18]
call fcn.0040f9f0
push str.file_data
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0xc]
call fcn.0040fb00
push eax
lea ecx, [ebp - 0xc]
call fcn.0040fa50
lea ecx, [ebp - 0x18]
call fcn.0040f9f0
push str.__r_n_r_n
lea ecx, [ebp - 0x18]
push ecx
lea ecx, [ebp - 0xc]
call fcn.0040fb00
push eax
lea ecx, [ebp - 0xc]
call fcn.0040fa50
lea ecx, [ebp - 0x18]
call fcn.0040f9f0
lea ecx, [ebp - 0x40]
call fcn.0040fbb0
push eax
call dword [0xb39a84]
lea ecx, [ebp - 0xc]
mov dword [ebp - 0x1c], eax
call fcn.0040fbb0
push eax
call dword [0xb39a84]
mov esi, eax
mov eax, dword [ebp - 0x1c]
add eax, dword [ebp - 0x20]
add esi, eax
push esi
push ebx
call dword [0xb39bd0]
push eax
call dword [0xb39b60]
lea ecx, [ebp - 0xc]
mov dword [ebp + 0xc], eax
call fcn.0040fbb0
push eax
call dword [0xb39a84]
push eax
lea ecx, [ebp - 0xc]
call fcn.0040fbb0
mov edx, dword [ebp + 0xc]
push eax
push edx
call sub.msvcrt.dll_memcpy
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x34]
add esp, 0xc
push eax
push ecx
lea ecx, [ebp - 0xc]
call fcn.0040fbb0
push eax
call dword [0xb39a84]
add eax, dword [ebp + 0xc]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
lea ecx, [ebp - 0x40]
call fcn.0040fbb0
push eax
call dword [0xb39a84]
push eax
lea ecx, [ebp - 0x40]
call fcn.0040fbb0
push eax
lea ecx, [ebp - 0xc]
call fcn.0040fbb0
push eax
call dword [0xb39a84]
add eax, dword [ebp + 0xc]
add eax, dword [ebp - 0x20]
push eax
call sub.msvcrt.dll_memcpy
mov edx, dword [ebp + 0xc]
add esp, 0xc
push esi
push edx
lea ecx, [ebp - 0x4c]
call fcn.0040fbb0
push eax
call dword [0xb39a84]
push eax
lea ecx, [ebp - 0x4c]
call fcn.0040fbb0
push eax
push edi
call dword [0xb39b8c]
push 4
lea eax, [ebp + 0xc]
push eax
call fcn.00410c10
push ebx
lea ecx, [ebp - 0x6c]
push ecx
lea edx, [ebp - 0x1f4]
push edx
push 0x13
push edi
mov dword [ebp - 0x6c], 0x100
call dword [0xb39c1c]
test eax, eax
jne 0x404d38
mov esi, dword [ebp + 8]
push str.ERROR
mov ecx, esi
call fcn.0040f970
jmp 0x404e31
lea eax, [ebp - 0x1f4]
push eax
call fcn.00410be0
add esp, 4
cmp eax, 0xc8
jne 0x404d24
lea ecx, [ebp - 0x1c]
push ecx
push 0x7cf
lea edx, [ebp - 0x9c4]
push edx
push edi
call dword [0xb39aec]
test eax, eax
je 0x404dbd
lea esp, [esp]
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
je 0x404dbd
mov byte [ebp + eax - 0x9c4], bl
lea eax, [ebp - 0x9c4]
push eax
lea ecx, [ebp - 0x18]
push ecx
lea ecx, [ebp - 0x58]
call fcn.0040fb00
push eax
lea ecx, [ebp - 0x58]
call fcn.0040fa50
lea ecx, [ebp - 0x18]
call fcn.0040f9f0
lea edx, [ebp - 0x1c]
push edx
push 0x7cf
lea eax, [ebp - 0x9c4]
push eax
push edi
call dword [0xb39aec]
test eax, eax
jne 0x404d70
push str.block
lea ecx, [ebp - 0x58]
call fcn.0040fbb0
push eax
call dword [0xb39ba0]
test eax, eax
jne 0x404ddc
push ebx
call dword [0xb39af0]
push edi
call dword [0xb39ac0]
mov esi, dword [ebp - 0x70]
push esi
call dword [0xb39ac0]
push 4
lea ecx, [ebp - 0x34]
push ecx
call fcn.00410c10
push 4
lea edx, [ebp - 0x30]
push edx
call fcn.00410c10
lea ecx, [ebp - 0x2c]
call fcn.0040fb60
lea ecx, [ebp - 0xc]
call fcn.0040fb60
lea ecx, [ebp - 0x40]
call fcn.0040fb60
lea ecx, [ebp - 0x4c]
call fcn.0040fb60
mov esi, dword [ebp + 8]
lea eax, [ebp - 0x58]
push eax
mov ecx, esi
call fcn.0040f9b0
lea ecx, [ebp - 0x4c]
call fcn.0040f9f0
lea ecx, [ebp - 0x40]
call fcn.0040f9f0
lea ecx, [ebp - 0xc]
call fcn.0040f9f0
lea ecx, [ebp - 0x2c]
call fcn.0040f9f0
lea ecx, [ebp - 0x58]
call fcn.0040f9f0
lea ecx, [ebp + 0x10]
call fcn.0040f9f0
lea ecx, [ebp + 0x1c]
call fcn.0040f9f0
lea ecx, [ebp + 0x28]
call fcn.0040f9f0
lea ecx, [ebp + 0x34]
call fcn.0040f9f0
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret