Function at 0x4038d0
Capabilities:
Download url
Receive data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x40af93
mov eax, dword fs:[0]
push eax
sub esp, 0x30c
mov eax, dword [0x410018]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 0x5c]
mov dword [ebp - 0x26c], eax
lea ecx, [ebp + 8]
push ecx
lea edx, [ebp + 0x40]
push edx
lea eax, [ebp - 0x25c]
push eax
mov dword [ebp - 4], 2
call fcn.00408a20
add esp, 0xc
mov ecx, eax
lea eax, [ebp + 0x24]
lea ebx, [ebp - 0x240]
mov byte [ebp - 4], 3
call fcn.00408ae0
mov byte [ebp - 4], 5
cmp dword [ebp - 0x248], 0x10
mov esi, dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
jb 0x403958
mov ecx, dword [ebp - 0x25c]
push ecx
call esi
add esp, 4
mov eax, dword [ebp - 0x240]
xor edi, edi
cmp dword [ebp - 0x22c], 0x10
mov ebx, 0xf
mov dword [ebp - 0x248], ebx
mov dword [ebp - 0x24c], edi
mov byte [ebp - 0x25c], 0
jae 0x403987
lea eax, [ebp - 0x240]
push edi
push edi
lea edx, [ebp - 0x264]
push edx
push eax
push edi
call dword [sym.imp.urlmon.dll_URLOpenBlockingStreamA]
cmp eax, edi
je 0x403a0b
cmp dword [ebp - 0x22c], 0x10
jb 0x4039b1
mov eax, dword [ebp - 0x240]
push eax
call esi
add esp, 4
cmp dword [ebp + 0x1c], 0x10
mov dword [ebp - 0x22c], ebx
mov dword [ebp - 0x230], edi
mov byte [ebp - 0x240], 0
jb 0x4039d3
mov ecx, dword [ebp + 8]
push ecx
call esi
add esp, 4
cmp dword [ebp + 0x38], 0x10
mov dword [ebp + 0x1c], ebx
mov dword [ebp + 0x18], edi
mov byte [ebp + 8], 0
jb 0x4039ec
mov edx, dword [ebp + 0x24]
push edx
call esi
add esp, 4
cmp dword [ebp + 0x54], 0x10
mov dword [ebp + 0x38], ebx
mov dword [ebp + 0x34], edi
mov byte [ebp + 0x24], 0
jb 0x403c86
mov eax, dword [ebp + 0x40]
push eax
call esi
jmp 0x403c83
lea ecx, [ebp - 0x318]
push ecx
call fcn.00407340
lea ecx, [ebp - 0x268]
push ecx
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x264]
mov edx, dword [eax]
mov edx, dword [edx + 0xc]
push 0x64
lea ecx, [ebp - 0x208]
push ecx
push eax
call edx
mov eax, dword [ebp - 0x268]
cmp eax, edi
jbe 0x403a80
push edi
push eax
lea eax, [ebp - 0x208]
push eax
lea ecx, [ebp - 0x308]
call dword [sym.imp.MSVCP100.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::write_char_const___long_long___int64__]
mov eax, dword [ebp - 0x264]
mov ecx, dword [eax]
lea edx, [ebp - 0x268]
push edx
push 0x64
lea edx, [ebp - 0x208]
push edx
push eax
mov eax, dword [ecx + 0xc]
call eax
mov eax, dword [ebp - 0x268]
cmp eax, edi
ja 0x403a43
mov eax, dword [ebp - 0x264]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea ecx, [ebp - 0x224]
lea eax, [ebp - 0x318]
call fcn.004073e0
mov byte [ebp - 4], 7
mov edi, dword [ebp - 0x210]
mov ebx, dword [ebp - 0x224]
mov eax, ebx
cmp edi, 0x10
jae 0x403abc
lea eax, [ebp - 0x224]
mov ecx, dword [ebp - 0x214]
lea edx, [ecx + eax]
mov eax, ebx
cmp edi, 0x10
jae 0x403ad2
lea eax, [ebp - 0x224]
cmp eax, edx
je 0x403ae8
cmp byte [eax], 0xa
je 0x403ae4
inc eax
cmp eax, edx
jne 0x403ad6
mov esi, eax
jmp 0x403b0e
cmp eax, edx
jne 0x403aec
mov esi, eax
jmp 0x403b0e
mov esi, eax
inc eax
cmp eax, edx
je 0x403b0e
mov cl, byte [eax]
cmp cl, 0xa
je 0x403afd
mov byte [esi], cl
inc esi
inc eax
cmp eax, edx
jne 0x403af3
mov edi, dword [ebp - 0x210]
mov ebx, dword [ebp - 0x224]
mov ecx, ebx
cmp edi, 0x10
jae 0x403b1b
lea ecx, [ebp - 0x224]
mov edx, dword [ebp - 0x214]
add edx, ecx
mov eax, ebx
cmp edi, 0x10
jae 0x403b30
lea eax, [ebp - 0x224]
test esi, esi
jne 0x403b38
xor ecx, ecx
jmp 0x403b3c
mov ecx, esi
sub ecx, eax
test edx, edx
jne 0x403b44
xor eax, eax
jmp 0x403b48
sub edx, esi
mov eax, edx
lea esi, [ebp - 0x224]
call fcn.00405ef0
mov eax, dword [ebp - 0x224]
mov esi, 0x10
mov word [ebp - 0x260], 0x7325
mov byte [ebp - 0x25e], 0
cmp dword [ebp - 0x210], esi
jae 0x403b7c
lea eax, [ebp - 0x224]
mov ecx, dword [ebp - 0x26c]
push eax
lea eax, [ebp - 0x260]
push eax
push ecx
call dword [sym.imp.MSVCR100.dll_sprintf]
mov ebx, dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 0xc
cmp dword [ebp - 0x210], esi
jb 0x403bae
mov edx, dword [ebp - 0x224]
push edx
call ebx
add esp, 4
mov ecx, dword [ebp - 0x318]
mov edi, 0xf
mov dword [ebp - 0x210], edi
mov dword [ebp - 0x214], 0
mov byte [ebp - 0x224], 0
mov edx, dword [ecx + 4]
lea eax, [ebp - 0x2b8]
mov dword [ebp - 0x26c], eax
mov dword [ebp + edx - method.std::basic_stringstream_char__struct_std::char_traits_char___class_std::allocator_char__.virtual_0], vtable.std::basic_stringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
lea ecx, [ebp - 0x300]
mov byte [ebp - 4], 8
call fcn.00405fa0
lea ecx, [ebp - 0x300]
mov byte [ebp - 4], 5
call dword [sym.imp.MSVCP100.dll_public_virtual:_void___thiscall_std::basic_iostream_char__struct_std::char_traits_char__::destructor_void_]
lea ecx, [ebp - 0x2b8]
call dword [sym.imp.MSVCP100.dll_public_virtual:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::destructor_void_]
cmp dword [ebp - 0x22c], esi
jb 0x403c29
mov eax, dword [ebp - 0x240]
push eax
call ebx
add esp, 4
mov dword [ebp - 0x22c], edi
mov dword [ebp - 0x230], 0
mov byte [ebp - 0x240], 0
cmp dword [ebp + 0x1c], esi
jb 0x403c4e
mov ecx, dword [ebp + 8]
push ecx
call ebx
add esp, 4
mov dword [ebp + 0x1c], edi
mov dword [ebp + 0x18], 0
mov byte [ebp + 8], 0
cmp dword [ebp + 0x38], esi
jb 0x403c6a
mov edx, dword [ebp + 0x24]
push edx
call ebx
add esp, 4
mov dword [ebp + 0x38], edi
mov dword [ebp + 0x34], 0
mov byte [ebp + 0x24], 0
cmp dword [ebp + 0x54], esi
jb 0x403c86
mov eax, dword [ebp + 0x40]
push eax
call ebx
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00409fb6
mov esp, ebp
pop ebp
ret