Function at 0x401c10
Capabilities:
Check http status code
Connect to http server
Create http request
Parse url
Query remote server for available data
Read data from internet
Receive data
Resolve function by parsing pe exports
Send data
Send http request

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x630
mov eax, dword [0x42f00c]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ebp + 0xc]
xor eax, ebp
test ecx, ecx
mov dword [esp + 0x628], eax
je 0x401c3d
mov dword [ecx], 0
mov eax, dword [edx]
mov ecx, dword [eax]
mov dword [esp + 0x10], eax
cmp ecx, eax
je 0x401ce6
mov edx, dword [ecx + 0x20]
xor esi, esi
test edx, edx
je 0x401ec8
mov eax, dword [ecx + 0x24]
lea edi, [ecx + 0x10]
jmp 0x401c70
mov ebx, edi
jmp 0x401c77
cmp eax, 8
jb 0x401c62
mov ebx, dword [edi]
movzx ebx, word [ebx + esi*2]
mov dword [esp + 4], 0
cmp bx, 0x22
je 0x4032ae
add ebx, 0xffffffe0
cmp bx, 0x60
jae 0x4032ae
inc esi
cmp esi, edx
jb 0x401c70
mov edx, dword [ecx + 8]
cmp byte [edx + 0xd], 0
je 0x401cd0
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ecx + 4]
cmp byte [eax + 0xd], 0
jne 0x401cda
cmp ecx, dword [eax + 8]
mov ecx, eax
je 0x401cb0
jmp 0x401cda
mov eax, edx
mov edx, dword [edx]
cmp byte [edx + 0xd], 0
je 0x401cd0
cmp eax, dword [esp + 0x10]
mov ecx, eax
jne 0x401c4d
mov eax, dword [ebp + 8]
lea ebx, [esp + 0x4c0]
lea edi, [esp + 0x2c0]
lea esi, [esp + 0xc0]
mov dword [esp + 0x38], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x2c], 0x3c
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], 0x10
mov dword [esp + 0x3c], edi
mov dword [esp + 0x40], 0x100
mov dword [esp + 0x58], esi
mov dword [esp + 0x5c], 0x100
mov ecx, dword [eax + 0x10]
cmp dword [eax + 0x14], 7
jbe 0x401d75
mov eax, dword [eax]
lea edx, [esp + 0x2c]
push edx
push 0
push ecx
push eax
call dword [sym.imp.WININET.dll_InternetCrackUrlW]
test eax, eax
je 0x401ec8
push str.https
push ebx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscmp]
add esp, 8
test eax, eax
je 0x401dbd
push str.http
push ebx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscmp]
add esp, 8
test eax, eax
jne 0x401ec8
mov ebx, 0x80000
jmp 0x401dc2
mov ebx, 0x880000
push 0
push 0
push 0
push 0
push str.Breakpad_1.0__Windows_
call dword [sym.imp.WININET.dll_InternetOpenW]
test eax, eax
je 0x401ec8
movzx ecx, word [esp + 0x44]
push 0
push 0
push 3
push 0
push 0
push ecx
push edi
mov dword [esp + 0x44], eax
push eax
call dword [sym.imp.WININET.dll_InternetConnectW]
test eax, eax
je 0x401ed5
mov edi, eax
push 0
push ebx
push 0
push 0
push 0
push esi
push str.POST
push eax
call dword [sym.imp.WININET.dll_HttpOpenRequestW]
test eax, eax
je 0x401ee2
mov dword [esp + 8], edi
mov edi, dword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov dword [esp + 0x1c], 0
mov dword [esp + 0xc], eax
mov dword [esp + 0x20], 7
call edi
mov esi, eax
call edi
lea edi, [esp + 0x540]
push eax
push esi
push str.___________________________
push str._s_08X_08X
push 0x2c
push edi
call fcn.00401bb0
add esp, 0x18
mov word [esp + 0x596], 0
mov dword [esp + 0xbc], 7
mov dword [esp + 0xb8], 0
mov word [esp + 0xa8], 0
push edi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcslen]
add esp, 4
mov esi, eax
cmp eax, 7
jbe 0x401eef
sub esp, 0xc
mov al, byte [esp + 0x61c]
lea ecx, [esp + 0xb4]
mov byte [esp + 4], al
lea eax, [esp + 0x54c]
mov dword [esp], esi
mov dword [esp + 8], eax
call section..text
jmp 0x401f16
mov dword [esp + 4], 0
jmp 0x4032ae
mov dword [esp + 4], 0
jmp 0x4032a4
mov dword [esp + 4], 0
jmp 0x40329d
mov eax, esi
mov dword [esp + 0xb8], esi
lea ecx, [esp + 0xa8]
add eax, esi
push eax
push edi
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov word [esp + esi*2 + 0xa8], 0
mov eax, 7
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], eax
mov word [esp + 0x90], 0
sub esp, 0xc
mov al, byte [esp + 0x54c]
lea edi, [esp + 0x9c]
mov ecx, edi
mov byte [esp + 4], al
mov dword [esp + 8], str.Content_Type:_multipart_form_data__boundary
mov dword [esp], 0x2c
call section..text
lea esi, [esp + 0xa8]
mov ecx, edi
push esi
call fcn.004017c0
cmp dword [esp + 0xa4], 7
jbe 0x401f82
mov edi, dword [esp + 0x90]
push 0x20000000
push 0xffffffffffffffff
push edi
push dword [esp + 0x18]
call dword [sym.imp.WININET.dll_HttpAddRequestHeadersW]
lea ecx, [esp + 0x5f8]
mov edx, esi
mov dword [esp + 0x8c], 0xf
mov dword [esp + 0x88], 0
mov byte [esp + 0x78], 0
call fcn.00403b40
cmp dword [esp + 0x608], 0
je 0x402f0a
cmp dword [esp + 0x8c], 0xf
jbe 0x401fdb
mov eax, dword [esp + 0x78]
jmp 0x401fdf
lea eax, [esp + 0x78]
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x88], 0
mov byte [eax], 0
mov eax, dword [ecx]
mov edi, dword [eax]
cmp edi, eax
jne 0x402110
jmp 0x4026c4
lea ecx, [esp + 0x540]
jmp 0x402498
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x403770
add eax, 0x24
mov ecx, edx
mov esi, eax
jmp 0x402216
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x403770
add eax, 0x24
mov ecx, edx
mov esi, eax
jmp 0x402260
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x403770
add eax, 0x24
mov ecx, edx
mov esi, eax
jmp 0x40251c
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x403770
add eax, 0x24
mov ecx, edx
mov esi, eax
jmp 0x402566
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x403770
add eax, 0x24
mov ecx, edx
mov esi, eax
jmp 0x4025b0
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x403770
add eax, 0x24
mov ecx, edx
mov esi, eax
jmp 0x4025fa
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x403770
add eax, 0x24
mov ecx, edx
mov esi, eax
jmp 0x402644
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x403770
add eax, 0x24
mov ecx, edx
mov esi, eax
jmp 0x402670
lea edx, [esp + 0x510]
jmp 0x40237c
lea eax, [esp + 0x5f8]
push eax
push 0x42b1e8
lea esi, [esp + 0x618]
push esi
call fcn.00403840
add esp, 0xc
mov ecx, esi
push 0x42b278
call fcn.00403a20
movsd xmm0, qword [eax + 0x10]
movsd qword [esp + 0x550], xmm0
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
movsd qword [esp + 0x548], xmm1
movsd qword [esp + 0x540], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov eax, dword [esp + 0x550]
cmp dword [esp + 0x554], 0xf
jbe 0x4023b7
mov ecx, dword [esp + 0x540]
mov ebx, dword [esp + 0x8c]
mov edx, dword [esp + 0x88]
mov esi, ebx
sub esi, edx
cmp esi, eax
jb 0x4021cf
lea esi, [edx + eax]
cmp ebx, 0xf
lea ebx, [esp + 0x78]
mov dword [esp + 0x88], esi
jbe 0x4021bc
mov ebx, dword [esp + 0x78]
add edx, ebx
push eax
push ecx
push edx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov byte [ebx + esi], 0
jmp 0x4021f4
sub esp, 0x10
mov dl, byte [esp + 0x538]
mov byte [esp + 4], dl
mov dword [esp + 8], ecx
lea ecx, [esp + 0x88]
mov dword [esp + 0xc], eax
mov dword [esp], eax
call fcn.00404e60
mov eax, dword [esp + 0x554]
cmp eax, 0x10
jb 0x402220
mov ecx, dword [esp + 0x540]
lea esi, [eax + 1]
cmp esi, 0x1000
jae 0x40200d
push esi
push ecx
call fcn.00426ce1
add esp, 8
mov eax, dword [esp + 0x624]
mov dword [esp + 0x550], 0
mov dword [esp + 0x554], 0xf
mov byte [esp + 0x540], 0
cmp eax, 0x10
jb 0x40226a
mov ecx, dword [esp + 0x610]
lea esi, [eax + 1]
cmp esi, 0x1000
jae 0x40202a
push esi
push ecx
call fcn.00426ce1
add esp, 8
lea edx, [edi + 0x28]
lea ecx, [esp + 0x528]
lea ebx, [edi + 0x10]
call fcn.00403b40
lea esi, [esp + 0x4e0]
mov edx, ebx
mov ecx, esi
call fcn.00403b40
push esi
push str.Content_Disposition:_form_data__name_
lea esi, [esp + 0x500]
push esi
call fcn.00403900
add esp, 0xc
mov ecx, esi
push str.__r_n_r_n
call fcn.00403a20
movsd xmm0, qword [eax + 0x10]
movsd qword [esp + 0x520], xmm0
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
movsd qword [esp + 0x518], xmm1
movsd qword [esp + 0x510], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov esi, dword [esp + 0x53c]
mov ecx, dword [esp + 0x538]
mov ebx, dword [esp + 0x524]
mov eax, dword [esp + 0x520]
mov edx, esi
mov dword [esp + 4], ebx
sub ebx, eax
sub edx, ecx
cmp edx, eax
jb 0x402316
cmp ecx, ebx
ja 0x40236a
cmp esi, 0xf
jbe 0x4023c3
mov edx, dword [esp + 0x528]
cmp ecx, ebx
ja 0x4023d2
cmp dword [esp + 4], 0xf
lea ebx, [eax + ecx]
lea esi, [esp + 0x510]
mov dword [esp + 0x520], ebx
jbe 0x40234d
mov esi, dword [esp + 0x510]
add eax, esi
push ecx
push edx
push eax
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov byte [esi + ebx], 0
lea eax, [esp + 0x510]
jmp 0x4023f7
cmp dword [esp + 4], 0xf
jbe 0x4020f5
mov edx, dword [esp + 0x510]
lea ecx, [esp + 0x528]
push eax
push edx
push 0
call fcn.00404fe0
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
movsd qword [esp + 0x610], xmm0
movsd qword [esp + 0x618], xmm1
movsd xmm0, qword [eax + 0x10]
movsd qword [esp + 0x620], xmm0
jmp 0x402420
lea ecx, [esp + 0x540]
jmp 0x40218f
lea edx, [esp + 0x528]
cmp ecx, ebx
jbe 0x40232e
sub esp, 0x10
mov al, byte [esp + 0x550]
mov byte [esp + 4], al
mov dword [esp + 0xc], ecx
mov dword [esp], ecx
lea ecx, [esp + 0x520]
mov dword [esp + 8], edx
call fcn.00404e60
movsd xmm0, qword [eax + 0x10]
movsd qword [esp + 0x620], xmm0
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
movsd qword [esp + 0x618], xmm1
movsd qword [esp + 0x610], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea ecx, [esp + 0x610]
push 0x42b278
call fcn.00403a20
movsd xmm0, qword [eax + 0x10]
movsd qword [esp + 0x550], xmm0
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
movsd qword [esp + 0x548], xmm1
movsd qword [esp + 0x540], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov eax, dword [esp + 0x550]
cmp dword [esp + 0x554], 0xf
jbe 0x402001
mov ecx, dword [esp + 0x540]
mov ebx, dword [esp + 0x8c]
mov edx, dword [esp + 0x88]
mov esi, ebx
sub esi, edx
cmp esi, eax
jb 0x4024d8
lea esi, [edx + eax]
cmp ebx, 0xf
lea ebx, [esp + 0x78]
mov dword [esp + 0x88], esi
jbe 0x4024c5
mov ebx, dword [esp + 0x78]
add edx, ebx
push eax
push ecx
push edx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov byte [ebx + esi], 0
jmp 0x4024fa
sub esp, 0x10
mov dl, byte [esp + 0x78]
mov byte [esp + 4], dl
mov dword [esp + 8], ecx
lea ecx, [esp + 0x88]
mov dword [esp + 0xc], eax
mov dword [esp], eax
call fcn.00404e60
mov eax, dword [esp + 0x554]
cmp eax, 0x10
jb 0x402526
mov ecx, dword [esp + 0x540]
lea esi, [eax + 1]
cmp esi, 0x1000
jae 0x402047
push esi
push ecx
call fcn.00426ce1
add esp, 8
mov eax, dword [esp + 0x624]
mov dword [esp + 0x550], 0
mov dword [esp + 0x554], 0xf
mov byte [esp + 0x540], 0
cmp eax, 0x10
jb 0x402570
mov ecx, dword [esp + 0x610]
lea esi, [eax + 1]
cmp esi, 0x1000
jae 0x402064
push esi
push ecx
call fcn.00426ce1
add esp, 8
mov eax, dword [esp + 0x524]
mov dword [esp + 0x620], 0
mov dword [esp + 0x624], 0xf
mov byte [esp + 0x610], 0
cmp eax, 0x10
jb 0x4025ba
mov ecx, dword [esp + 0x510]
lea esi, [eax + 1]
cmp esi, 0x1000
jae 0x402081
push esi
push ecx
call fcn.00426ce1
add esp, 8
mov eax, dword [esp + 0x50c]
mov dword [esp + 0x520], 0
mov dword [esp + 0x524], 0xf
mov byte [esp + 0x510], 0
cmp eax, 0x10
jb 0x402604
mov ecx, dword [esp + 0x4f8]
lea esi, [eax + 1]
cmp esi, 0x1000
jae 0x40209e
push esi
push ecx
call fcn.00426ce1
add esp, 8
mov eax, dword [esp + 0x4f4]
mov dword [esp + 0x508], 0
mov dword [esp + 0x50c], 0xf
mov byte [esp + 0x4f8], 0
cmp eax, 0x10
jb 0x40264e
mov ecx, dword [esp + 0x4e0]
lea esi, [eax + 1]
cmp esi, 0x1000
jae 0x4020bb
push esi
push ecx
call fcn.00426ce1
add esp, 8
mov eax, dword [esp + 0x53c]
cmp eax, 0x10
jb 0x40267a
mov ecx, dword [esp + 0x528]
lea esi, [eax + 1]
cmp esi, 0x1000
jae 0x4020d8
push esi
push ecx
call fcn.00426ce1
add esp, 8
mov ecx, dword [edi + 8]
mov edx, dword [ebp + 0xc]
cmp byte [ecx + 0xd], 0
je 0x4026b0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [edi + 4]
cmp byte [eax + 0xd], 0
jne 0x4026ba
cmp edi, dword [eax + 8]
mov edi, eax
je 0x402690
jmp 0x4026ba
mov eax, ecx
mov ecx, dword [ecx]
cmp byte [ecx + 0xd], 0
je 0x4026b0
cmp dword [edx], eax
mov edi, eax
jne 0x402110
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
mov ebx, dword [eax]
cmp ebx, eax
je 0x402f15
lea esi, [esp + 0x540]
nop
nop
nop
nop
nop
nop
lea ecx, [esp + 0x5b0]
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
lea edi, [ebx + 0x28]
mov dword [esp + 0x540], 0x429148
call dword [sym.imp.MSVCP140.dll_protected:_void___thiscall_std::ios_base::constructor_void_]
mov dword [esp + 0x5b0], 0x42918c
mov eax, dword [esp + 0x540]
mov eax, dword [eax + 4]
mov dword [esp + eax + 0x540], 0x429144
mov eax, dword [esp + 0x540]
mov eax, dword [eax + 4]
lea ecx, [eax - 0x70]
mov dword [esp + eax + 0x53c], ecx
mov ecx, esi
push 0
push 0
lea esi, [esp + 0x558]
push esi
call dword [sym.imp.MSVCP140.dll_public:_void___thiscall_std::basic_istream_char__struct_std::char_traits_char__::constructor_class_std::basic_streambuf_char__struct_std::char_traits_char_____bool_]
mov eax, dword [esp + 0x540]
mov eax, dword [eax + 4]
mov dword [esp + eax + 0x540], 0x429144
mov eax, dword [esp + 0x540]
mov eax, dword [eax + 4]
lea ecx, [eax - 0x70]
mov dword [esp + eax + 0x53c], ecx
mov ecx, esi
push 0
call fcn.00405270
cmp dword [ebx + 0x3c], 7
mov dword [esp + 4], edi
jbe 0x40279a
mov edi, dword [ebx + 0x28]
lea esi, [esp + 0x540]
mov ecx, esi
push 0x40
push 0x20
push edi
call fcn.00403ab0
cmp dword [esp + 0x59c], 0
je 0x402834
mov ecx, esi
push 2
push 0
push 0
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______thiscall_std::basic_istream_char__struct_std::char_traits_char__::seekg_long_long___int64___int_]
lea eax, [esp + 0x610]
mov ecx, esi
push eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::fpos_struct__Mbstatet____thiscall_std::basic_istream_char__struct_std::char_traits_char__::tellg_void_]
mov edi, dword [esp + 0x618]
mov esi, dword [esp + 0x61c]
add edi, dword [esp + 0x610]
adc esi, dword [esp + 0x614]
jne 0x402845
lea ecx, [esp + 0x68]
push ecx
push edi
call fcn.00401240
mov ecx, edi
mov al, 1
or ecx, esi
mov dword [esp + 0x10], eax
je 0x40284d
lea eax, [esp + 0x540]
mov ecx, eax
push 0
push 0
push 0
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______thiscall_std::basic_istream_char__struct_std::char_traits_char__::seekg_long_long___int64___int_]
lea ecx, [esp + 0x540]
push esi
push edi
push dword [esp + 0x70]
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______thiscall_std::basic_istream_char__struct_std::char_traits_char__::read_char___long_long___int64__]
jmp 0x40284d
mov ecx, esi
call fcn.00403b00
mov edi, 1
jmp 0x402d91
mov dword [esp + 0x10], 0
lea ecx, [esp + 0x550]
call fcn.00403d60
test eax, eax
jne 0x402881
mov eax, dword [esp + 0x540]
mov eax, dword [eax + 4]
lea ecx, [esp + eax + 0x540]
mov eax, dword [esp + eax + 0x54c]
or eax, 2
push 0
push eax
call dword [sym.imp.MSVCP140.dll_public:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::clear_int__bool_]
lea ecx, [esp + 0x540]
call fcn.00403b00
cmp byte [esp + 0x10], 0
mov edi, 1
je 0x402d91
mov edx, dword [esp + 4]
lea ecx, [esp + 0x540]
call fcn.00403b40
cmp dword [esp + 0x550], 0
je 0x402997
lea edx, [ebx + 0x10]
lea ecx, [esp + 0x610]
call fcn.00403b40
cmp dword [esp + 0x620], 0
je 0x4029a1
lea eax, [esp + 0x5f8]
push eax
push 0x42b1e8
lea esi, [esp + 0x518]
push esi
call fcn.00403840
add esp, 0xc
mov ecx, esi
push 0x42b278
call fcn.00403a20
movsd xmm0, qword [eax + 0x10]
movsd qword [esp + 0x538], xmm0
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
movsd qword [esp + 0x530], xmm1
movsd qword [esp + 0x528], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov eax, dword [esp + 0x538]
cmp dword [esp + 0x53c], 0xf
jbe 0x402dfc
mov ecx, dword [esp + 0x528]
mov edi, dword [esp + 0x8c]
mov edx, dword [esp + 0x88]
mov esi, edi
sub esi, edx
cmp esi, eax
jb 0x4029ab
lea esi, [edx + eax]
cmp edi, 0xf
lea edi, [esp + 0x78]
mov dword [esp + 0x88], esi
jbe 0x402984
mov edi, dword [esp + 0x78]
add edx, edi
push eax
push ecx
push edx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov byte [edi + esi], 0
jmp 0x4029d0
mov edi, 1
jmp 0x402d65
mov edi, 1
jmp 0x402d39
sub esp, 0x10
mov dl, byte [esp + 0x508]
mov byte [esp + 4], dl
mov dword [esp + 8], ecx
lea ecx, [esp + 0x88]
mov dword [esp + 0xc], eax
mov dword [esp], eax
call fcn.00404e60
mov eax, dword [esp + 0x53c]
lea edi, [esp + 0x540]
cmp eax, 0x10
jb 0x402a03
mov ecx, dword [esp + 0x528]
lea esi, [eax + 1]
cmp esi, 0x1000
jae 0x402e4e
push esi
push ecx
call fcn.00426ce1
add esp, 8
mov eax, dword [esp + 0x524]
mov dword [esp + 0x538], 0
mov dword [esp + 0x53c], 0xf
mov byte [esp + 0x528], 0
cmp eax, 0x10
jb 0x402a4d
mov ecx, dword [esp + 0x510]
lea esi, [eax + 1]
cmp esi, 0x1000
jae 0x402e72
push esi
push ecx
call fcn.00426ce1
add esp, 8
lea eax, [esp + 0x610]
push eax
push str.Content_Disposition:_form_data__name_
lea esi, [esp + 0x4e8]
push esi
call fcn.00403840
add esp, 0xc
mov ecx, esi
push str.___filename_
call fcn.00403a20
movsd xmm0, qword [eax + 0x10]
movsd qword [esp + 0x508], xmm0
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
movsd qword [esp + 0x500], xmm1
movsd qword [esp + 0x4f8], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
push edi
lea eax, [esp + 0x4fc]
push eax
lea esi, [esp + 0x518]
push esi
call fcn.00403960
add esp, 0xc
mov ecx, esi
push 0x42b271
call fcn.00403a20
movsd xmm0, qword [eax + 0x10]
movsd qword [esp + 0x538], xmm0
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
movsd qword [esp + 0x530], xmm1
movsd qword [esp + 0x528], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov eax, dword [esp + 0x538]
cmp dword [esp + 0x53c], 0xf
jbe 0x402e08
mov ecx, dword [esp + 0x528]
mov edi, dword [esp + 0x8c]
mov edx, dword [esp + 0x88]
mov esi, edi
sub esi, edx
cmp esi, eax
jb 0x402b6b
lea esi, [edx + eax]
cmp edi, 0xf
lea edi, [esp + 0x78]
mov dword [esp + 0x88], esi
jbe 0x402b58
mov edi, dword [esp + 0x78]
add edx, edi
push eax
push ecx
push edx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov byte [edi + esi], 0
jmp 0x402b90
sub esp, 0x10
mov dl, byte [esp + 0x84]
mov byte [esp + 4], dl
mov dword [esp + 8], ecx
lea ecx, [esp + 0x88]
mov dword [esp + 0xc], eax
mov dword [esp], eax
call fcn.00404e60
mov eax, dword [esp + 0x53c]
cmp eax, 0x10
jb 0x402bbc
mov ecx, dword [esp + 0x528]
lea esi, [eax + 1]
cmp esi, 0x1000
jae 0x402e96
push esi
push ecx
call fcn.00426ce1
add esp, 8
mov eax, dword [esp + 0x524]
mov dword [esp + 0x538], 0
mov dword [esp + 0x53c], 0xf
mov byte [esp + 0x528], 0
cmp eax, 0x10
jb 0x402c06
mov ecx, dword [esp + 0x510]
lea esi, [eax + 1]
cmp esi, 0x1000
jae 0x402eb3
push esi
push ecx
call fcn.00426ce1
add esp, 8
mov eax, dword [esp + 0x50c]
mov dword [esp + 0x520], 0
mov dword [esp + 0x524], 0xf
mov byte [esp + 0x510], 0
cmp eax, 0x10
jb 0x402c50
mov ecx, dword [esp + 0x4f8]
lea esi, [eax + 1]
cmp esi, 0x1000
jae 0x402ed0
push esi
push ecx
call fcn.00426ce1
add esp, 8
mov eax, dword [esp + 0x4f4]
mov dword [esp + 0x508], 0
mov dword [esp + 0x50c], 0xf
mov byte [esp + 0x4f8], 0
cmp eax, 0x10
jb 0x402c9a
mov ecx, dword [esp + 0x4e0]
lea esi, [eax + 1]
cmp esi, 0x1000
jae 0x402eed
push esi
push ecx
call fcn.00426ce1
add esp, 8
lea esi, [esp + 0x78]
mov ecx, esi
push str.Content_Type:_application_octet_stream_r_n
call fcn.00403a20
mov ecx, esi
push 0x42b278
call fcn.00403a20
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
cmp eax, ecx
je 0x402d29
mov edi, dword [esp + 0x8c]
mov edx, dword [esp + 0x88]
sub ecx, eax
mov esi, edi
sub esi, edx
cmp esi, ecx
jb 0x402d04
lea esi, [edx + ecx]
cmp edi, 0xf
lea edi, [esp + 0x78]
mov dword [esp + 0x88], esi
jbe 0x402cf1
mov edi, dword [esp + 0x78]
add edx, edi
push ecx
push eax
push edx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov byte [edi + esi], 0
jmp 0x402d29
sub esp, 0x10
mov dl, byte [esp + 0x538]
mov byte [esp + 4], dl
mov dword [esp + 0xc], ecx
mov dword [esp], ecx
lea ecx, [esp + 0x88]
mov dword [esp + 8], eax
call fcn.00404e60
lea ecx, [esp + 0x78]
push 0x42b278
call fcn.00403a20
xor edi, edi
mov eax, dword [esp + 0x624]
cmp eax, 0x10
jb 0x402d65
mov ecx, dword [esp + 0x610]
lea esi, [eax + 1]
cmp esi, 0x1000
jae 0x402e31
push esi
push ecx
call fcn.00426ce1
add esp, 8
mov eax, dword [esp + 0x554]
cmp eax, 0x10
jb 0x402d91
mov ecx, dword [esp + 0x540]
lea esi, [eax + 1]
cmp esi, 0x1000
jae 0x402e14
push esi
push ecx
call fcn.00426ce1
add esp, 8
lea ecx, [esp + 0x68]
call fcn.004013b0
test edi, edi
jne 0x402f0a
mov ecx, dword [ebx + 8]
lea esi, [esp + 0x540]
cmp byte [ecx + 0xd], 0
je 0x402de0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebx + 4]
cmp byte [eax + 0xd], 0
jne 0x402dea
cmp ebx, dword [eax + 8]
mov ebx, eax
je 0x402dc0
jmp 0x402dea
mov eax, ecx
mov ecx, dword [ecx]
cmp byte [ecx + 0xd], 0
je 0x402de0
mov ecx, dword [ebp + 0x10]
mov ebx, eax
cmp dword [ecx], eax
jne 0x4026e0
jmp 0x402f15
lea ecx, [esp + 0x528]
jmp 0x402957
lea ecx, [esp + 0x528]
jmp 0x402b2b
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x403770
add eax, 0x24
mov ecx, edx
mov esi, eax
jmp 0x402d87
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x403770
add eax, 0x24
mov ecx, edx
mov esi, eax
jmp 0x402d5b
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x403770
add eax, 0x24
mov ecx, edx
lea edi, [esp + 0x540]
mov esi, eax
jmp 0x4029f9
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x403770
add eax, 0x24
mov ecx, edx
lea edi, [esp + 0x540]
mov esi, eax
jmp 0x402a43
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x403770
add eax, 0x24
mov ecx, edx
mov esi, eax
jmp 0x402bb2
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x403770
add eax, 0x24
mov ecx, edx
mov esi, eax
jmp 0x402bfc
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x403770
add eax, 0x24
mov ecx, edx
mov esi, eax
jmp 0x402c46
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x403770
add eax, 0x24
mov ecx, edx
mov esi, eax
jmp 0x402c90
mov edi, dword [esp + 8]
xor ebx, ebx
jmp 0x403077
lea eax, [esp + 0x5f8]
lea esi, [esp + 0x610]
push eax
push 0x42b1e8
push esi
call fcn.00403840
add esp, 0xc
mov ecx, esi
push str.___r_n
call fcn.00403a20
movsd xmm0, qword [eax + 0x10]
movsd qword [esp + 0x550], xmm0
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
movsd qword [esp + 0x548], xmm1
movsd qword [esp + 0x540], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov eax, dword [esp + 0x550]
cmp dword [esp + 0x554], 0xf
jbe 0x40364a
mov ecx, dword [esp + 0x540]
mov edi, dword [esp + 0x8c]
mov edx, dword [esp + 0x88]
mov esi, edi
sub esi, edx
cmp esi, eax
jb 0x402fbf
lea esi, [edx + eax]
cmp edi, 0xf
mov dword [esp + 0x88], esi
jbe 0x402fe6
mov edi, dword [esp + 0x78]
jmp 0x402fea
sub esp, 0x10
mov dl, byte [esp + 0x538]
mov byte [esp + 4], dl
mov dword [esp + 8], ecx
lea ecx, [esp + 0x88]
mov dword [esp + 0xc], eax
mov dword [esp], eax
call fcn.00404e60
jmp 0x402ffb
lea edi, [esp + 0x78]
add edx, edi
push eax
push ecx
push edx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov byte [edi + esi], 0
mov eax, dword [esp + 0x554]
mov edi, dword [esp + 8]
cmp eax, 0x10
jb 0x40302b
mov ecx, dword [esp + 0x540]
lea esi, [eax + 1]
cmp esi, 0x1000
jae 0x4036de
push esi
push ecx
call fcn.00426ce1
add esp, 8
mov eax, dword [esp + 0x624]
mov dword [esp + 0x550], 0
mov dword [esp + 0x554], 0xf
mov byte [esp + 0x540], 0
cmp eax, 0x10
jb 0x403075
mov ecx, dword [esp + 0x610]
lea esi, [eax + 1]
cmp esi, 0x1000
jae 0x4036ff
push esi
push ecx
call fcn.00426ce1
add esp, 8
mov bl, 1
mov eax, dword [esp + 0x60c]
cmp eax, 0x10
jb 0x4030a3
mov ecx, dword [esp + 0x5f8]
lea esi, [eax + 1]
cmp esi, 0x1000
jae 0x40369c
push esi
push ecx
call fcn.00426ce1
add esp, 8
test bl, bl
je 0x403208
mov esi, dword [ebp + 0x14]
test esi, esi
je 0x403108
push 4
push esi
push 5
mov ebx, dword [esp + 0x18]
push ebx
call dword [sym.imp.WININET.dll_InternetSetOptionW]
test eax, eax
jne 0x4030df
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push str.Could_not_unset_send_timeout__continuing..._n
push eax
call fcn.00403780
add esp, 8
push 4
push esi
push 6
push ebx
call dword [sym.imp.WININET.dll_InternetSetOptionW]
test eax, eax
jne 0x403108
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push 0x42b71c
push eax
call fcn.00403780
add esp, 8
mov eax, dword [esp + 0x88]
cmp dword [esp + 0x8c], 0xf
jbe 0x403641
mov ecx, dword [esp + 0x78]
push eax
push ecx
push 0
push 0
mov ebx, dword [esp + 0x1c]
push ebx
call dword [sym.imp.WININET.dll_HttpSendRequestW]
test eax, eax
je 0x403208
lea esi, [esp + 0x510]
mov dword [esp + 0x68], 8
lea eax, [esp + 0x68]
push 0
push eax
push esi
push 0x13
push ebx
call dword [sym.imp.WININET.dll_HttpQueryInfoW]
test eax, eax
je 0x403208
push 0xa
push 0
push esi
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_wcstol]
add esp, 0xc
mov ecx, dword [ebp + 0x1c]
test ecx, ecx
je 0x403179
mov dword [ecx], eax
cmp eax, 0xc8
mov dword [esp + 4], 0
jne 0x403210
mov eax, 0xf
lea esi, [esp + 0x540]
mov dword [esp + 0x4f8], 0x40
mov dword [esp + 0x608], 0
mov dword [esp + 0x60c], eax
mov byte [esp + 0x5f8], 0
lea eax, [esp + 0x4f8]
push 0
push eax
push esi
push 5
push dword [esp + 0x1c]
call dword [sym.imp.WININET.dll_HttpQueryInfoW]
test eax, eax
je 0x4032c8
push 0xa
push 0
push esi
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_wcstol]
add esp, 0xc
lea ecx, [esp + 0x5f8]
mov dword [esp + 0x14], eax
push eax
call fcn.004037d0
mov dword [esp + 4], 0
jmp 0x4032d6
mov dword [esp + 4], 0
mov eax, dword [esp + 0x8c]
cmp eax, 0x10
jb 0x403239
mov ecx, dword [esp + 0x78]
lea esi, [eax + 1]
cmp esi, 0x1000
jae 0x4036bd
push esi
push ecx
call fcn.00426ce1
add esp, 8
mov ecx, dword [esp + 0xa4]
cmp ecx, 8
jb 0x403266
mov eax, dword [esp + 0x90]
lea edx, [ecx + ecx + 2]
cmp edx, 0x1000
jae 0x403656
push edx
push eax
call fcn.00426ce1
add esp, 8
mov ecx, dword [esp + 0xbc]
cmp ecx, 8
jb 0x403293
mov eax, dword [esp + 0xa8]
lea edx, [ecx + ecx + 2]
cmp edx, 0x1000
jae 0x403679
push edx
push eax
call fcn.00426ce1
add esp, 8
push dword [esp + 0xc]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
push edi
call dword [sym.imp.WININET.dll_InternetCloseHandle]
push dword [esp + 0x28]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov ecx, dword [esp + 0x628]
xor ecx, ebp
call fcn.00427650
mov eax, dword [esp + 4]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov al, 1
mov dword [esp + 0x14], 0
mov dword [esp + 4], eax
mov dword [esp + 0x18], 0
push 0
push 0
lea eax, [esp + 0x4e8]
push eax
push dword [esp + 0x18]
call dword [sym.imp.WININET.dll_InternetQueryDataAvailable]
mov edi, eax
test eax, eax
je 0x40342f
mov esi, dword [esp + 0x4e0]
test esi, esi
je 0x40342f
mov dword [esp + 0x610], 0
mov dword [esp + 0x614], 0
mov dword [esp + 0x618], 0
lea ecx, [esp + 0x610]
push esi
call fcn.00404df0
test al, al
je 0x40335c
mov eax, dword [esp + 0x610]
lea edi, [eax + esi]
push esi
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [esp + 0x614], edi
lea eax, [esp + 0x528]
push eax
push dword [esp + 0x4e4]
push dword [esp + 0x618]
push dword [esp + 0x18]
call dword [sym.imp.WININET.dll_InternetReadFile]
mov edi, eax
test eax, eax
je 0x4033eb
mov esi, dword [esp + 0x528]
test esi, esi
je 0x4033eb
mov edx, dword [esp + 0x60c]
mov ecx, dword [esp + 0x608]
mov eax, dword [esp + 0x610]
mov ebx, edx
sub ebx, ecx
cmp ebx, esi
jb 0x4033ef
mov dword [esp + 0x24], eax
lea eax, [ecx + esi]
cmp edx, 0xf
mov ebx, eax
lea ebx, [esp + 0x5f8]
mov dword [esp + 0x10], eax
mov dword [esp + 0x608], eax
jbe 0x4033d1
mov ebx, dword [esp + 0x5f8]
add ecx, ebx
push esi
push dword [esp + 0x28]
push ecx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov eax, dword [esp + 0x10]
mov byte [ebx + eax], 0
jmp 0x403415
xor ebx, ebx
jmp 0x40341b
sub esp, 0x10
movzx ecx, byte [esp + 0x84]
mov byte [esp + 4], cl
lea ecx, [esp + 0x608]
mov dword [esp + 0xc], esi
mov dword [esp + 8], eax
mov dword [esp], esi
call fcn.00404e60
add dword [esp + 0x18], esi
mov bl, 1
lea ecx, [esp + 0x610]
call fcn.004013b0
test bl, bl
jne 0x4032de
mov ecx, dword [esp + 0x18]
test edi, edi
mov edx, dword [esp + 4]
mov edi, dword [esp + 8]
setne al
cmp ecx, dword [esp + 0x14]
sete cl
or dl, cl
and dl, al
mov dword [esp + 4], edx
mov edx, dword [ebp + 0x18]
test edx, edx
je 0x40360c
cmp byte [esp + 4], 0
je 0x40360c
cmp dword [esp + 0x608], 0
je 0x403537
cmp dword [esp + 0x60c], 0xf
jbe 0x40371c
mov eax, dword [esp + 0x5f8]
push 0
push 0
push 0xffffffffffffffff
push eax
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
test eax, eax
je 0x40353b
mov edi, eax
mov ecx, 0xffffffff
add eax, edi
cmovae ecx, eax
push ecx
call fcn.00426d13
add esp, 4
cmp dword [esp + 0x60c], 0xf
mov esi, eax
jbe 0x403728
mov eax, dword [esp + 0x5f8]
push edi
push esi
push 0xffffffffffffffff
push eax
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov eax, 7
mov dword [esp + 0x620], 0
mov dword [esp + 0x624], eax
mov word [esp + 0x610], 0
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcslen]
add esp, 4
mov edi, eax
cmp eax, 7
jbe 0x40353f
sub esp, 0xc
mov al, byte [esp + 0x534]
lea ecx, [esp + 0x61c]
mov byte [esp + 4], al
mov dword [esp + 8], esi
mov dword [esp], edi
call section..text
jmp 0x403566
xor esi, esi
jmp 0x4035b8
xor esi, esi
jmp 0x4035b1
mov eax, edi
mov dword [esp + 0x620], edi
add eax, edi
push eax
push esi
lea eax, [esp + 0x618]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov word [esp + edi*2 + 0x610], 0
push esi
call fcn.00426d1c
add esp, 4
mov eax, dword [esp + 0x624]
movzx esi, word [esp + 0x610]
movsd xmm0, qword [esp + 0x612]
movsd xmm1, qword [esp + 0x618]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x620]
movsd qword [esp + 0x528], xmm0
movsd qword [esp + 0x52e], xmm1
mov dword [esp + 0x1c], eax
mov edi, dword [esp + 8]
mov edx, dword [ebp + 0x18]
mov ecx, dword [edx + 0x14]
cmp ecx, 8
jb 0x4035df
mov eax, dword [edx]
lea edx, [ecx + ecx + 2]
cmp edx, 0x1000
jae 0x403751
push edx
push eax
call fcn.00426ce1
add esp, 8
mov edx, dword [ebp + 0x18]
mov word [edx], si
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
movsd xmm0, qword [esp + 0x528]
movsd xmm1, qword [esp + 0x52e]
movsd qword [edx + 8], xmm1
movsd qword [edx + 2], xmm0
mov dword [edx + 0x14], eax
mov dword [edx + 0x10], ecx
mov eax, dword [esp + 0x60c]
cmp eax, 0x10
jb 0x403210
mov ecx, dword [esp + 0x5f8]
lea esi, [eax + 1]
cmp esi, 0x1000
jae 0x403734
push esi
push ecx
call fcn.00426ce1
add esp, 8
jmp 0x403210
lea ecx, [esp + 0x78]
jmp 0x403121
lea ecx, [esp + 0x540]
jmp 0x402f94
mov edx, eax
mov eax, dword [eax - 4]
add edx, 0xfffffffc
sub edx, eax
cmp edx, 0x20
jae 0x403770
mov edi, dword [esp + 8]
add ecx, ecx
add ecx, 0x25
mov edx, ecx
jmp 0x40325c
mov edx, eax
mov eax, dword [eax - 4]
add edx, 0xfffffffc
sub edx, eax
cmp edx, 0x20
jae 0x403770
mov edi, dword [esp + 8]
add ecx, ecx
add ecx, 0x25
mov edx, ecx
jmp 0x403289
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x403770
mov edi, dword [esp + 8]
add eax, 0x24
mov ecx, edx
mov esi, eax
jmp 0x403099
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x403770
mov edi, dword [esp + 8]
add eax, 0x24
mov ecx, edx
mov esi, eax
jmp 0x40322f
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x403770
mov edi, dword [esp + 8]
add eax, 0x24
mov ecx, edx
mov esi, eax
jmp 0x403021
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x403770
mov edi, dword [esp + 8]
add eax, 0x24
mov ecx, edx
mov esi, eax
jmp 0x40306b
lea eax, [esp + 0x5f8]
jmp 0x403488
lea eax, [esp + 0x5f8]
jmp 0x4034d0
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x403770
mov edi, dword [esp + 8]
add eax, 0x24
mov ecx, edx
mov esi, eax
jmp 0x403632
mov edx, eax
mov eax, dword [eax - 4]
add edx, 0xfffffffc
sub edx, eax
cmp edx, 0x20
jae 0x403770
mov edi, dword [esp + 8]
add ecx, ecx
add ecx, 0x25
mov edx, ecx
jmp 0x4035d2
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3