Function at 0x4039f8
Capabilities:
Get file size
Read file on windows

Disassembly:
push ebp
lea ebp, [esp - 0x403c]
mov eax, 0x403c
call fcn.00405e60
push 0xffffffffffffffff
push 0x41316d
mov eax, dword fs:[0]
push eax
sub esp, 0x14
mov eax, dword [0x4181fc]
xor eax, ebp
mov dword [ebp + 0x4038], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 0x4044]
mov edi, dword [ebp + 0x404c]
mov esi, dword [ebp + 0x4050]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 0x4048]
push str.Content_Disposition:_form_data__name_message_
lea ecx, [ebp + 0x1c]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x1c], edi
call fcn.004038ba
xor ebx, ebx
push 0x4148c0
mov ecx, esi
mov dword [ebp - 4], ebx
call fcn.00401960
push 0xffffffffffffffff
push ebx
push edi
mov ecx, esi
call fcn.00401670
mov edi, 0x4148bc
push edi
mov ecx, esi
call fcn.00401960
push 0xffffffffffffffff
push ebx
lea eax, [ebp + 0x1c]
push eax
mov ecx, esi
call fcn.00401670
push str._r_n_r_n
mov ecx, esi
call fcn.00401960
push 0xffffffffffffffff
push ebx
push dword [ebp - 0x14]
mov ecx, esi
call fcn.00401670
push edi
mov ecx, esi
call fcn.00401960
push str.Content_Disposition:_form_data__name_report___filename_crashreport.zip_
lea ecx, [ebp + 0x1c]
call fcn.00401990
push str.Content_Type:_application_octet_stream
lea ecx, [ebp]
call fcn.004038ba
push 0x4148c0
mov ecx, esi
mov byte [ebp - 4], 1
call fcn.00401960
push 0xffffffffffffffff
push ebx
push dword [ebp - 0x1c]
mov ecx, esi
call fcn.00401670
push edi
mov ecx, esi
call fcn.00401960
push 0xffffffffffffffff
push ebx
lea eax, [ebp + 0x1c]
push eax
mov ecx, esi
call fcn.00401670
push edi
mov ecx, esi
call fcn.00401960
push 0xffffffffffffffff
push ebx
lea eax, [ebp]
push eax
mov ecx, esi
call fcn.00401670
push str._r_n_r_n
mov ecx, esi
call fcn.00401960
mov eax, dword [ebp - 0x10]
cmp dword [eax + 0x18], 0x10
jb 0x403b38
mov eax, dword [eax + 4]
jmp 0x403b3b
add eax, 4
push ebx
push 0x80
push 3
push ebx
xor edi, edi
inc edi
push edi
push 0x80000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0x14], eax
push ebx
cmp eax, 0xffffffff
je 0x403bdc
push eax
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x10], ebx
mov eax, dword [ebp - 0x20]
cmp dword [ebp - 0x10], eax
jge 0x403bad
sub eax, dword [ebp - 0x10]
mov ecx, 0x4000
cmp eax, ecx
jle 0x403b83
mov eax, ecx
push ebx
lea ecx, [ebp - 0x18]
push ecx
push eax
lea eax, [ebp + 0x38]
push eax
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov eax, dword [ebp - 0x18]
add dword [ebp - 0x10], eax
push eax
lea eax, [ebp + 0x38]
push eax
mov ecx, esi
call fcn.00401770
cmp dword [ebp - 0x18], ebx
jg 0x403b6d
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push str._r_n__
mov ecx, esi
call fcn.00401960
push 0xffffffffffffffff
push ebx
push dword [ebp - 0x1c]
mov ecx, esi
call fcn.00401670
push str.___r_n
mov ecx, esi
call fcn.00401960
push ebx
push edi
lea ecx, [ebp]
call fcn.00401280
push ebx
push edi
lea ecx, [ebp + 0x1c]
call fcn.00401280
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x4038]
xor ecx, ebp
call fcn.00405477
add ebp, 0x403c
leave
ret