Function at 0x100442f6
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x280
mov eax, dword [0x1009d350]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x18]
and dword [ebp - 0x260], 0
and dword [eax], 0
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, dword [ebp + 0x14]
push edi
mov edi, dword [ebp + 0x10]
xorps xmm0, xmm0
mov dword [ebp - 0x26c], ebx
mov dword [ebp - 0x274], eax
mov dword [ebp - 0x27c], ecx
movlpd qword [ebp - 0x268], xmm0
test edi, edi
jne 0x1004434d
xor eax, eax
jmp 0x1004480f
push 0x2a
lea eax, [ebp - 0x5c]
push eax
push ebx
call fcn.1004481e
add esp, 0xc
test eax, eax
jne 0x1004480f
lea eax, [ebp - 0x5c]
push eax
mov eax, str.Content_Type:_multipart_form_data
test esi, esi
cmovne eax, esi
push eax
push str._s__boundary_s_r_n
lea eax, [ebp - 0x260]
push 0
push eax
call fcn.10044148
add esp, 0x14
test eax, eax
jne 0x1004480f
mov eax, dword [ebp - 0x260]
mov dword [ebp - 0x278], eax
mov dword [ebp - 0x280], eax
mov eax, dword [ebp - 0x268]
or eax, dword [ebp - 0x264]
je 0x100443d6
push 0x10097160
lea eax, [ebp - 0x268]
push eax
lea eax, [ebp - 0x260]
push eax
call fcn.10044148
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x10044800
lea eax, [ebp - 0x5c]
push eax
push str.___s_r_n
lea eax, [ebp - 0x268]
push eax
lea eax, [ebp - 0x260]
push eax
call fcn.10044148
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x10044800
push str.Content_Disposition:_form_data__name_
lea eax, [ebp - 0x268]
push eax
lea eax, [ebp - 0x260]
push eax
call fcn.10044148
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x10044800
lea eax, [ebp - 0x268]
push eax
mov eax, dword [edi + 8]
cdq
push edx
push eax
push dword [edi + 4]
lea eax, [ebp - 0x260]
push 1
push eax
call fcn.10043fb7
mov esi, eax
add esp, 0x18
test esi, esi
jne 0x10044800
push 0x1008a724
lea eax, [ebp - 0x268]
push eax
lea eax, [ebp - 0x260]
push eax
call fcn.10044148
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x10044800
cmp dword [edi + 0x24], eax
je 0x100444bb
push 0x2a
lea eax, [ebp - 0x30]
push eax
push ebx
call fcn.1004481e
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x10044800
lea eax, [ebp - 0x30]
push eax
push str._r_nContent_Type:_multipart_mixed__boundary_s_r_n
lea eax, [ebp - 0x268]
push eax
lea eax, [ebp - 0x260]
push eax
call fcn.10044148
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x10044800
mov ebx, edi
mov dword [ebp - 0x270], ebx
cmp dword [edi + 0x24], 0
je 0x10044503
lea eax, [ebp - 0x30]
push eax
push str._r_n___s_r_nContent_Disposition:_attachment
lea eax, [ebp - 0x268]
push eax
lea eax, [ebp - 0x260]
push eax
call fcn.10044148
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x10044800
lea eax, [ebp - 0x268]
push eax
lea eax, [ebp - 0x260]
push eax
push ebx
jmp 0x10044524
test byte [edi + 0x28], 0x51
je 0x10044536
cmp dword [edi + 0x2c], 0
jne 0x10044515
test byte [edi + 0x28], 1
je 0x1004452e
lea eax, [ebp - 0x268]
push eax
lea eax, [ebp - 0x260]
push eax
push edi
call fcn.10044852
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x10044800
cmp dword [ebx + 0x1c], 0
je 0x10044564
push dword [ebx + 0x1c]
lea eax, [ebp - 0x268]
push str._r_nContent_Type:__s
push eax
lea eax, [ebp - 0x260]
push eax
call fcn.10044148
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x10044800
mov ebx, dword [ebx + 0x20]
jmp 0x10044593
push dword [ebx]
lea eax, [ebp - 0x268]
push str._r_n_s
push eax
lea eax, [ebp - 0x260]
push eax
call fcn.10044148
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x10044800
mov ebx, dword [ebx + 4]
test ebx, ebx
jne 0x10044569
test esi, esi
jne 0x10044800
push str._r_n_r_n
lea eax, [ebp - 0x268]
push eax
lea eax, [ebp - 0x260]
push eax
call fcn.10044148
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x10044800
mov eax, dword [edi + 0x28]
test al, 3
jne 0x10044667
test al, 0x10
je 0x10044622
lea eax, [ebp - 0x268]
push eax
mov eax, dword [edi + 0x18]
cdq
push edx
push eax
push dword [edi + 0x14]
push 2
lea eax, [ebp - 0x260]
push eax
call fcn.10043fb7
add esp, 0x18
mov esi, eax
mov ebx, dword [ebp - 0x26c]
mov eax, dword [ebp - 0x270]
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x270], eax
test eax, eax
je 0x10044771
test esi, esi
jne 0x10044800
mov ebx, eax
jmp 0x100444c3
test al, 0x40
je 0x10044646
test al, al
jns 0x10044632
mov eax, dword [edi + 0x38]
mov edx, dword [edi + 0x3c]
jmp 0x10044636
mov eax, dword [edi + 0x10]
cdq
lea ecx, [ebp - 0x268]
push ecx
push edx
push eax
push dword [edi + 0x30]
push 3
jmp 0x100445e5
test al, al
jns 0x10044652
mov eax, dword [edi + 0x38]
mov edx, dword [edi + 0x3c]
jmp 0x10044656
mov eax, dword [edi + 0x10]
cdq
lea ecx, [ebp - 0x268]
push ecx
push edx
push eax
push dword [edi + 0xc]
jmp 0x100445e3
mov eax, dword [ebp - 0x270]
push 0x2d
mov eax, dword [eax + 0xc]
pop ecx
cmp cl, byte [eax]
jne 0x10044685
xor ecx, ecx
cmp cl, byte [eax + 1]
jne 0x10044685
call fcn.1004ee3e
jmp 0x10044692
push 0x10081bc4
push eax
call fcn.1004f200
pop ecx
pop ecx
mov ebx, eax
test ebx, ebx
je 0x1004473f
call fcn.1004ee3e
push ebx
cmp ebx, eax
je 0x10044720
call fcn.1004ef86
lea eax, [ebp - 0x268]
push eax
mov eax, dword [ebp - 0x270]
push 0
push 0
push dword [eax + 0xc]
lea eax, [ebp - 0x260]
push 4
push eax
call fcn.10043fb7
add esp, 0x1c
jmp 0x100445f4
lea ecx, [ebp - 0x268]
push ecx
push 0
push eax
lea eax, [ebp - 0x25c]
push eax
lea eax, [ebp - 0x260]
push 2
push eax
call fcn.10043fb7
mov esi, eax
add esp, 0x18
test esi, esi
jne 0x100445f6
push ebx
call fcn.1005307d
pop ecx
test eax, eax
jne 0x100445f6
push ebx
call fcn.100530a3
pop ecx
test eax, eax
jne 0x100445f6
push ebx
push 0x200
lea eax, [ebp - 0x25c]
push 1
push eax
call fcn.10051830
add esp, 0x10
test eax, eax
jne 0x100446d5
jmp 0x100445f6
mov ebx, dword [ebp - 0x26c]
test ebx, ebx
je 0x10044760
mov eax, dword [ebp - 0x270]
push dword [eax + 0xc]
push str.couldnt_open_file___s_
push ebx
call fcn.10025321
add esp, 0xc
mov eax, dword [ebp - 0x274]
push 0x1a
and dword [eax], 0
pop esi
jmp 0x100445fc
test esi, esi
jne 0x10044800
cmp dword [edi + 0x24], esi
je 0x100447a3
lea eax, [ebp - 0x30]
push eax
push str._r_n___s__
lea eax, [ebp - 0x268]
push eax
lea eax, [ebp - 0x260]
push eax
call fcn.10044148
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x10044800
mov edi, dword [edi]
test edi, edi
jne 0x100443a3
test esi, esi
jne 0x10044800
lea eax, [ebp - 0x5c]
push eax
push str._r_n___s___r_n
lea eax, [ebp - 0x268]
push eax
lea eax, [ebp - 0x260]
push eax
call fcn.10044148
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x10044800
mov ecx, dword [ebp - 0x27c]
mov eax, dword [ebp - 0x268]
mov dword [ecx], eax
mov eax, dword [ebp - 0x264]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x274]
mov ecx, dword [ebp - 0x278]
mov dword [eax], ecx
jmp 0x10044346
lea eax, [ebp - 0x280]
push eax
call fcn.1004429b
pop ecx
mov eax, esi
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1004bbda
leave
ret