Function at 0x409a10
Capabilities:
Check http status code

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x49ca0b
mov eax, dword fs:[0]
push eax
sub esp, 0x3e4
mov eax, dword [0x4c20f4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, edx
mov dword [ebp - 0x3bc], ecx
mov edx, dword [edi + 0x10]
mov esi, accept
mov eax, esi
sub eax, edx
cmp eax, 4
jb 0x40a47a
cmp dword [edi + 0x14], 0x10
mov eax, edi
jb 0x409a64
mov eax, dword [edi]
push 4
push str..tmp
push edx
push eax
push edi
push dword [ebp - 0x3b0]
lea ecx, [ebp - 0x40]
call fcn.00408460
push 0xb0
lea eax, [ebp - 0x10c]
mov dword [ebp - 4], 0
push 0
push eax
call fcn.00474010
add esp, 4
lea eax, [ebp - 0x40]
lea ecx, [ebp - 0x10c]
push 0x28
push eax
call fcn.0040fb90
lea eax, [ebp - 0x10c]
mov byte [ebp - 4], 1
push eax
lea ecx, [ebp - 0x3b4]
call fcn.004085d0
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x10c]
mov ecx, dword [eax + 4]
test byte [ebp + ecx - 0x100], 6
jne 0x409b2d
mov ecx, dword [ebp + ecx - 0xd4]
lea edx, [ebp - 0x28]
push 2
push 2
push 0
mov eax, dword [ecx]
push 0
push edx
call dword [eax + 0x28]
mov ecx, dword [ebp - 0x28]
add ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
adc eax, dword [ebp - 0x1c]
and ecx, eax
cmp ecx, 0xffffffff
jne 0x409b2d
mov eax, dword [ebp - 0x10c]
lea ecx, [ebp - 0x10c]
push 0
mov eax, dword [eax + 4]
add ecx, eax
xor eax, eax
cmp dword [ecx + 0x38], eax
sete al
lea eax, [eax*4 + 2]
or eax, dword [ecx + 0xc]
push eax
call fcn.004022b0
mov byte [ebp - 4], 3
call fcn.00470831
test al, al
jne 0x409b45
mov ecx, dword [ebp - 0x3b4]
call fcn.00408740
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x3b4]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
mov ecx, dword [eax + ecx + 0x38]
test ecx, ecx
je 0x409b61
mov eax, dword [ecx]
call dword [eax + 8]
lea eax, [ebp - 0x10c]
mov byte [ebp - 4], 1
push eax
lea ecx, [ebp - 0x3b4]
call fcn.004085d0
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x10c]
mov ecx, dword [eax + 4]
test byte [ebp + ecx - 0x100], 6
jne 0x409bc4
mov ecx, dword [ebp + ecx - 0xd4]
lea edx, [ebp - 0x28]
push 2
push 1
push 0
mov eax, dword [ecx]
push 0
push edx
call dword [eax + 0x28]
mov byte [ebp - 4], 6
call fcn.00470831
test al, al
jne 0x409bbe
mov ecx, dword [ebp - 0x3b4]
call fcn.00408740
mov byte [ebp - 4], 7
jmp 0x409bf5
xorps xmm0, xmm0
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x24], 0xffffffff
movups xmmword [ebp - 0x20], xmm0
mov byte [ebp - 4], 8
call fcn.00470831
test al, al
jne 0x409bf1
mov ecx, dword [ebp - 0x3b4]
call fcn.00408740
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x3b4]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
mov ecx, dword [eax + ecx + 0x38]
test ecx, ecx
je 0x409c0d
mov eax, dword [ecx]
call dword [eax + 8]
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x28]
add eax, dword [ebp - 0x20]
push str.of.tellp:
push 0x4c3a10
mov dword [ebp - 0x3d8], eax
call fcn.00411f30
add esp, 8
mov ecx, eax
push dword [ebp - 0x3d8]
call fcn.0040ffb0
push eax
call fcn.00407680
add esp, 4
lea ecx, [ebp - 0x28]
push dword [ebp - 0x3bc]
call fcn.00405b60
lea eax, [ebp - 0x10]
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x28]
push eax
push ecx
lea ecx, [ebp - 0x5c]
call fcn.004093c0
push fcn.00404840
push 1
push 0x18
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0xe
push eax
call fcn.00471e19
push 0x1c0
lea eax, [ebp - 0x2cc]
push 0
push eax
call fcn.00474010
add esp, 0xc
lea ecx, [ebp - 0x2cc]
call fcn.00417510
lea eax, [ebp - 0x3b5]
mov byte [ebp - 4], 0xf
push eax
lea ecx, [ebp - 0x2cc]
mov byte [ebp - 0x3b5], 0
call fcn.004187b0
lea eax, [ebp - 0x5c]
push eax
lea ecx, [ebp - 0x2cc]
call fcn.00418600
lea eax, [ebp - 0x3b4]
mov dword [ebp - 0x3b4], 0x36ee80
push eax
lea ecx, [ebp - 0x2cc]
mov dword [ebp - 0x3b0], 0
call fcn.00418780
lea ecx, [ebp - 0x2cc]
call fcn.00418080
xor ecx, ecx
mov dword [ebp - 0x3b0], eax
mov dword [ebp - 0x3bc], edx
cmp ecx, edx
jl 0x409f52
jg 0x409d1f
cmp dword [ebp - 0x3d8], eax
jb 0x409f52
lea ecx, [ebp - 0x108]
call fcn.00406390
test eax, eax
jne 0x409d59
mov eax, dword [ebp - 0x10c]
lea ecx, [ebp - 0x10c]
push 0
mov eax, dword [eax + 4]
add ecx, eax
xor eax, eax
cmp dword [ecx + 0x38], eax
sete al
lea eax, [eax*4 + 2]
or eax, dword [ecx + 0xc]
push eax
call fcn.004022b0
mov ecx, dword [ebp - 0x30]
sub esi, ecx
cmp esi, 8
jb 0x40a47f
cmp dword [ebp - 0x2c], 0x10
lea eax, [ebp - 0x40]
push ecx
cmovae eax, dword [ebp - 0x40]
lea ecx, [ebp - 0x3f0]
push eax
push 8
push str.move__Y
lea eax, [ebp - 0x40]
push eax
push dword [ebp - 0x3b0]
call fcn.00408460
mov byte [ebp - 4], 0x10
mov edx, dword [ebp - 0x3dc]
mov eax, edx
mov ecx, dword [ebp - 0x3e0]
sub eax, ecx
cmp eax, 1
jb 0x409dd0
lea eax, [ecx + 1]
cmp edx, 0x10
mov dword [ebp - 0x3e0], eax
lea eax, [ebp - 0x3f0]
cmovae eax, dword [ebp - 0x3f0]
mov word [eax + ecx], 0x20
lea eax, [ebp - 0x3f0]
jmp 0x409df1
push 1
push 0x4bb1bc
mov byte [ebp - 0x3bc], 0
lea ecx, [ebp - 0x3f0]
push dword [ebp - 0x3bc]
push 1
call fcn.00407fc0
mov dword [ebp - 0x3d4], 0
mov dword [ebp - 0x3c4], 0
mov dword [ebp - 0x3c0], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x3d4], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x3c4], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
push edi
lea ecx, [ebp - 0x3d4]
mov byte [ebp - 4], 0x11
call fcn.00405aa0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x28], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x18], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0x10
mov edx, dword [ebp - 0x3c0]
cmp edx, 0x10
jb 0x409ea7
mov ecx, dword [ebp - 0x3d4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x409e9d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40a484
push edx
push ecx
call fcn.00471ddf
add esp, 8
mov byte [ebp - 4], 0xf
mov edx, dword [ebp - 0x3dc]
mov dword [ebp - 0x3c4], 0
mov dword [ebp - 0x3c0], 0xf
mov byte [ebp - 0x3d4], 0
cmp edx, 0x10
jb 0x409f00
mov ecx, dword [ebp - 0x3f0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x409ef6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40a484
push edx
push ecx
call fcn.00471ddf
add esp, 8
cmp dword [ebp - 0x14], 0x10
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push eax
call fcn.0047cf91
mov edx, dword [ebp - 0x14]
add esp, 4
cmp edx, 0x10
jb 0x409f48
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x409f3e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40a489
push edx
push ecx
call fcn.00471ddf
add esp, 8
mov esi, 1
jmp 0x40a362
mov ecx, eax
mov dword [ebp - 0x3c8], 0
sub ecx, 1
mov eax, edx
mov edx, dword [ebp - 0x3d8]
sbb eax, 0
mov dword [ebp - 0x3c4], ecx
mov dword [ebp - 0x3c0], eax
lea ecx, [ebp - 0x2cc]
lea eax, [ebp - 0x3cc]
mov dword [ebp - 0x3cc], edx
push eax
call fcn.00418630
push 0xe0
lea eax, [ebp - 0x3ac]
push 0
push eax
call fcn.00474010
add esp, 0xc
lea eax, [ebp - 0x10c]
lea ecx, [ebp - 0x2cc]
push eax
lea eax, [ebp - 0x3ac]
push eax
call fcn.00417fe0
mov byte [ebp - 4], 0x13
mov eax, dword [ebp - 0x2dc]
add dword [0x4c4a70], eax
mov eax, dword [ebp - 0x2d8]
adc dword [0x4c4a74], eax
push str.response.status_code:
push 0x4c3a10
call fcn.00411f30
add esp, 8
mov ecx, eax
push str.__response.downloaded_bytes:
push dword [ebp - 0x3a4]
call fcn.0040fe40
push eax
call fcn.00411f30
add esp, 8
mov ecx, eax
push dword [ebp - 0x2d8]
push dword [ebp - 0x2dc]
call fcn.0040fcd0
push eax
call fcn.00407680
add esp, 4
cmp dword [ebp - 0x3a4], 0x194
jne 0x40a0f4
lea ecx, [ebp - 0x108]
call fcn.00406390
test eax, eax
jne 0x40a06e
mov eax, dword [ebp - 0x10c]
lea ecx, [ebp - 0x10c]
push 0
mov eax, dword [eax + 4]
add ecx, eax
xor eax, eax
cmp dword [ecx + 0x38], eax
sete al
lea eax, [eax*4 + 2]
or eax, dword [ecx + 0xc]
push eax
call fcn.004022b0
mov ecx, dword [ebp - 0x30]
sub esi, ecx
cmp esi, 4
jb 0x40a48e
cmp dword [ebp - 0x2c], 0x10
lea eax, [ebp - 0x40]
push ecx
cmovae eax, dword [ebp - 0x40]
lea ecx, [ebp - 0x28]
push eax
push 4
push str.del
lea eax, [ebp - 0x40]
push eax
push dword [ebp - 0x3b0]
call fcn.00408460
cmp dword [ebp - 0x14], 0x10
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push eax
call fcn.0047cf91
mov edx, dword [ebp - 0x14]
add esp, 4
cmp edx, 0x10
jb 0x40a0ea
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40a0e0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40a493
push edx
push ecx
call fcn.00471ddf
add esp, 8
mov esi, 2
jmp 0x40a357
mov eax, dword [ebp - 0x3bc]
cmp dword [0x4c4a74], eax
jb 0x40a355
ja 0x40a11a
mov eax, dword [ebp - 0x3b0]
cmp dword [0x4c4a70], eax
jb 0x40a355
xorps xmm0, xmm0
lea ecx, [ebp - 0x108]
movlpd qword [0x4c4a70], xmm0
call fcn.00406390
test eax, eax
jne 0x40a15f
mov eax, dword [ebp - 0x10c]
lea ecx, [ebp - 0x10c]
push 0
mov eax, dword [eax + 4]
add ecx, eax
xor eax, eax
cmp dword [ecx + 0x38], eax
sete al
lea eax, [eax*4 + 2]
or eax, dword [ecx + 0xc]
push eax
call fcn.004022b0
mov ecx, dword [ebp - 0x30]
sub esi, ecx
cmp esi, 8
jb 0x40a498
cmp dword [ebp - 0x2c], 0x10
lea eax, [ebp - 0x40]
push ecx
cmovae eax, dword [ebp - 0x40]
lea ecx, [ebp - 0x3f0]
push eax
push 8
push str.move__Y
lea eax, [ebp - 0x40]
push eax
push dword [ebp - 0x3b0]
call fcn.00408460
mov byte [ebp - 4], 0x15
mov edx, dword [ebp - 0x3dc]
mov eax, edx
mov ecx, dword [ebp - 0x3e0]
sub eax, ecx
cmp eax, 1
jb 0x40a1d6
lea eax, [ecx + 1]
cmp edx, 0x10
mov dword [ebp - 0x3e0], eax
lea eax, [ebp - 0x3f0]
cmovae eax, dword [ebp - 0x3f0]
mov word [eax + ecx], 0x20
lea eax, [ebp - 0x3f0]
jmp 0x40a1f7
push 1
push 0x4bb1bc
mov byte [ebp - 0x3b0], 0
lea ecx, [ebp - 0x3f0]
push dword [ebp - 0x3b0]
push 1
call fcn.00407fc0
mov dword [ebp - 0x3d4], 0
mov dword [ebp - 0x3c4], 0
mov dword [ebp - 0x3c0], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x3d4], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x3c4], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
push edi
lea ecx, [ebp - 0x3d4]
mov byte [ebp - 4], 0x16
call fcn.00405aa0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x28], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x18], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0x15
mov edx, dword [ebp - 0x3c0]
cmp edx, 0x10
jb 0x40a2ad
mov ecx, dword [ebp - 0x3d4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40a2a3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40a49d
push edx
push ecx
call fcn.00471ddf
add esp, 8
mov byte [ebp - 4], 0x13
mov edx, dword [ebp - 0x3dc]
mov dword [ebp - 0x3c4], 0
mov dword [ebp - 0x3c0], 0xf
mov byte [ebp - 0x3d4], 0
cmp edx, 0x10
jb 0x40a306
mov ecx, dword [ebp - 0x3f0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40a2fc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40a49d
push edx
push ecx
call fcn.00471ddf
add esp, 8
cmp dword [ebp - 0x14], 0x10
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push eax
call fcn.0047cf91
mov edx, dword [ebp - 0x14]
add esp, 4
cmp edx, 0x10
jb 0x40a34e
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40a344
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40a4a2
push edx
push ecx
call fcn.00471ddf
add esp, 8
mov esi, 1
jmp 0x40a357
xor esi, esi
lea ecx, [ebp - 0x3ac]
call fcn.0040a800
lea ecx, [ebp - 0x2cc]
call fcn.0040a4b0
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0x44]
cmp edx, 0x10
jb 0x40a3a5
mov ecx, dword [ebp - 0x58]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40a39b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40a4a7
push edx
push ecx
call fcn.00471ddf
add esp, 8
mov eax, dword [ebp - 0x10c]
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0xf
mov byte [ebp - 0x58], 0
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ofstream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x10c]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x110], eax
lea ecx, [ebp - 0x108]
call fcn.004054f0
mov eax, dword [ebp - 0x10c]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ostream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x10c]
mov ecx, dword [eax + 4]
lea eax, [ecx - 8]
mov dword [ebp + ecx - 0x110], eax
lea eax, [ebp - 0xa4]
mov byte [ebp - 4], 0x18
push eax
mov dword [ebp - 0xa4], vtable.std::ios_base.0
call fcn.004708bb
mov edx, dword [ebp - 0x2c]
add esp, 4
cmp edx, 0x10
jb 0x40a45d
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40a453
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40a4a7
push edx
push ecx
call fcn.00471ddf
add esp, 8
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00471b4b
mov esp, ebp
pop ebp
ret
call fcn.004019d0
call fcn.004019d0
call fcn.0047caa2
call fcn.0047caa2
call fcn.004019d0
call fcn.0047caa2
call fcn.004019d0
call fcn.0047caa2
call fcn.0047caa2
call fcn.0047caa2
int3