Function at 0x438300
Capabilities:
Read file on windows

Disassembly:
sub esp, 0x240
mov eax, dword [0x751f00]
xor eax, esp
mov dword [esp + 0x23c], eax
mov eax, dword [esp + 0x244]
push ebx
mov ebx, dword [esp + 0x24c]
push ebp
push esi
mov esi, dword [esp + 0x258]
push edi
xor edi, edi
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x34], edx
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], edi
mov dword [eax], edi
cmp ebx, edi
je 0x4388dc
push 2
lea eax, [esp + 0x3c]
call fcn.0043d440
add esp, 4
test eax, eax
jne 0x438388
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
push eax
push ecx
push str._________________________08x_08x
call fcn.0041e470
mov ebp, eax
add esp, 0xc
mov dword [esp + 0x24], ebp
test ebp, ebp
jne 0x438392
mov eax, 0x1b
jmp 0x4388de
test esi, esi
jne 0x43839b
mov esi, str.Content_Type:_multipart_form_data
push ebp
push esi
push str._s__boundary_s_r_n
lea edx, [esp + 0x20]
push 0
push edx
call fcn.00437ed0
mov esi, eax
add esp, 0x14
test esi, esi
je 0x4383c8
push ebp
call dword [0x75cccc]
add esp, 4
mov eax, esi
jmp 0x4388de
mov eax, dword [esp + 0x14]
mov dword [esp + 0x30], eax
or edi, dword [esp + 0x1c]
je 0x4383fb
push 0x71eb88
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x1c]
push edx
call fcn.00437ed0
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x438878
mov ebp, dword [esp + 0x24]
push ebp
push str.___s_r_n
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x20]
push ecx
call fcn.00437ed0
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x438878
push str.Content_Disposition:_form_data__name_
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x1c]
push eax
call fcn.00437ed0
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x438878
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 4]
cdq
test edx, edx
jl 0x43883c
jg 0x438457
test eax, eax
jb 0x43883c
lea esi, [esp + 0x18]
push esi
push edx
push eax
push ecx
lea ecx, [esp + 0x24]
push 1
push ecx
call fcn.00437d10
mov esi, eax
add esp, 0x18
test esi, esi
jne 0x438878
push 0x72627c
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x1c]
push eax
call fcn.00437ed0
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x438878
cmp dword [ebx + 0x24], eax
je 0x43850b
mov ecx, dword [esp + 0x20]
push ecx
call dword [0x75cccc]
mov ecx, dword [esp + 0x2c]
add esp, 4
push 2
lea eax, [esp + 0x44]
call fcn.0043d440
add esp, 4
test eax, eax
jne 0x438843
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x40]
push edx
push eax
push str._________________________08x_08x
call fcn.0041e470
add esp, 0xc
mov dword [esp + 0x20], eax
test eax, eax
je 0x43884b
push eax
push str._r_nContent_Type:_multipart_mixed__boundary_s_r_n
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x20]
push edx
call fcn.00437ed0
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x438878
mov ebp, ebx
lea ecx, [ecx]
cmp dword [ebx + 0x24], 0
je 0x43854a
mov eax, dword [esp + 0x20]
push eax
push str._r_n___s_r_nContent_Disposition:_attachment
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x20]
push edx
call fcn.00437ed0
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x438878
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x18]
push ecx
mov eax, ebp
jmp 0x438567
mov eax, dword [ebx + 0x28]
test al, 0x51
je 0x438579
cmp dword [ebx + 0x2c], 0
jne 0x43855b
test al, 1
je 0x438571
lea edx, [esp + 0x18]
lea eax, [esp + 0x14]
push edx
push eax
mov eax, ebx
call fcn.00438230
mov esi, eax
add esp, 8
test esi, esi
jne 0x438878
mov eax, dword [ebp + 0x1c]
test eax, eax
je 0x4385a2
push eax
push str._r_nContent_Type:__s
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x20]
push edx
call fcn.00437ed0
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x438878
mov edi, dword [ebp + 0x20]
test edi, edi
je 0x4385dd
lea esp, [esp]
mov eax, dword [edi]
push eax
push str._r_n_s
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x20]
push edx
call fcn.00437ed0
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x438878
mov edi, dword [edi + 4]
test edi, edi
jne 0x4385b0
jmp 0x4385e5
test esi, esi
jne 0x438878
push str._r_n_r_n
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x1c]
push ecx
call fcn.00437ed0
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x438878
mov eax, dword [ebx + 0x28]
test al, 3
jne 0x4386d6
test al, 0x10
je 0x43864c
mov eax, dword [ebx + 0x18]
mov ecx, dword [ebx + 0x14]
cdq
test edx, edx
jl 0x4387bb
jg 0x43862e
test eax, eax
jb 0x4387bb
lea esi, [esp + 0x18]
push esi
push edx
push eax
push ecx
lea edx, [esp + 0x24]
push 2
push edx
call fcn.00437d10
add esp, 0x18
mov esi, eax
jmp 0x4387ed
test al, 0x40
je 0x438693
test al, al
jns 0x43865c
mov eax, dword [ebx + 0x38]
mov edx, dword [ebx + 0x3c]
jmp 0x438660
mov eax, dword [ebx + 0x10]
cdq
mov ecx, dword [ebx + 0x30]
test edx, edx
jl 0x4387bb
jg 0x438675
test eax, eax
jb 0x4387bb
lea esi, [esp + 0x18]
push esi
push edx
push eax
push ecx
lea eax, [esp + 0x24]
push 3
push eax
call fcn.00437d10
add esp, 0x18
mov esi, eax
jmp 0x4387ed
test al, al
jns 0x43869f
mov eax, dword [ebx + 0x38]
mov edx, dword [ebx + 0x3c]
jmp 0x4386a3
mov eax, dword [ebx + 0x10]
cdq
mov ecx, dword [ebx + 0xc]
test edx, edx
jl 0x4387bb
jg 0x4386b8
test eax, eax
jb 0x4387bb
lea esi, [esp + 0x18]
push esi
push edx
push eax
push ecx
lea ecx, [esp + 0x24]
push 2
push ecx
call fcn.00437d10
add esp, 0x18
mov esi, eax
jmp 0x4387ed
mov edi, dword [ebp + 0xc]
mov ecx, edi
mov eax, 0x71f95c
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x438700
test dl, dl
je 0x4386fc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x438700
add eax, 2
add ecx, 2
test dl, dl
jne 0x4386e0
xor eax, eax
jmp 0x438705
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x438710
call fcn.0057504f
jmp 0x43871e
push 0x71f834
push edi
call fcn.00560fdf
add esp, 8
mov edi, eax
test edi, edi
je 0x4387c2
call fcn.0057504f
push edi
cmp edi, eax
je 0x43875d
call fcn.00560bc5
mov eax, dword [ebp + 0xc]
add esp, 4
lea edx, [esp + 0x18]
push edx
push 0
push 0
push eax
lea eax, [esp + 0x24]
push 4
push eax
call fcn.00437d10
add esp, 0x18
mov esi, eax
jmp 0x4387ed
push 0x200
lea ecx, [esp + 0x50]
push 1
push ecx
call fcn.00560efe
add esp, 0x10
test eax, eax
je 0x4387ed
xor ecx, ecx
jl 0x4387bb
jg 0x43877f
test eax, eax
jb 0x4387bb
lea edx, [esp + 0x18]
push edx
push ecx
push eax
lea eax, [esp + 0x54]
push eax
lea ecx, [esp + 0x24]
push 2
push ecx
call fcn.00437d10
mov esi, eax
add esp, 0x18
test esi, esi
jne 0x4387ed
push edi
push 0x200
lea edx, [esp + 0x50]
push 1
push edx
call fcn.00560efe
add esp, 0x10
test eax, eax
jne 0x438775
jmp 0x4387ed
mov esi, 0x2b
jmp 0x4387ed
cmp dword [esp + 0x28], 0
je 0x4387de
mov eax, dword [ebp + 0xc]
push eax
mov eax, dword [esp + 0x2c]
push str.couldnt_open_file___s_
call fcn.0040f9d0
add esp, 8
mov ecx, dword [esp + 0x2c]
mov dword [ecx], 0
mov esi, 0x1a
mov ebp, dword [ebp + 0x24]
test ebp, ebp
je 0x4387fe
test esi, esi
je 0x438510
jmp 0x438878
test esi, esi
jne 0x438878
cmp dword [ebx + 0x24], esi
je 0x438829
mov edx, dword [esp + 0x20]
push edx
push str._r_n___s__
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x20]
push ecx
call fcn.00437ed0
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x438878
mov ebx, dword [ebx]
test ebx, ebx
je 0x438852
mov edi, dword [esp + 0x18]
mov ebp, dword [esp + 0x24]
jmp 0x4383d0
mov esi, 0x2b
jmp 0x438878
mov dword [esp + 0x20], 0
mov esi, 0x1b
jmp 0x438878
test esi, esi
jne 0x438878
mov edx, dword [esp + 0x24]
push edx
push str._r_n___s___r_n
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x20]
push ecx
call fcn.00437ed0
mov esi, eax
add esp, 0x10
test esi, esi
je 0x4388a5
lea edx, [esp + 0x30]
push edx
call fcn.00437f30
mov eax, dword [esp + 0x24]
add esp, 4
push eax
call dword [0x75cccc]
mov ecx, dword [esp + 0x28]
add esp, 4
push ecx
call dword [0x75cccc]
add esp, 4
mov eax, esi
jmp 0x4388de
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [eax], edx
mov edx, dword [esp + 0x20]
push edx
mov dword [eax + 4], ecx
call dword [0x75cccc]
mov eax, dword [esp + 0x28]
add esp, 4
push eax
call dword [0x75cccc]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x30]
add esp, 4
mov dword [edx], ecx
xor eax, eax
mov ecx, dword [esp + 0x24c]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0055e7fd
add esp, 0x240
ret