Function at 0x46ac0e
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x230
mov eax, dword [0x4d3a00]
xor eax, ebp
mov dword [ebp - 8], eax
push ebx
push esi
mov eax, ecx
xor esi, esi
mov ecx, dword [ebp + 8]
xorps xmm0, xmm0
push edi
mov edi, edx
mov dword [ebp - 0x22c], eax
mov dword [ebp - 0x230], ecx
mov dword [ebp - 0x210], esi
movlpd qword [ebp - 0x21c], xmm0
mov dword [ebp - 0x228], esi
mov dword [eax], esi
test edi, edi
jne 0x46ac5d
xor eax, eax
jmp 0x46b102
call fcn.0046b212
mov ebx, eax
test ebx, ebx
jne 0x46ac70
push 0x1b
pop eax
jmp 0x46b102
push ebx
push str.Content_Type:_multipart_form_data__boundary_s_r_n
lea eax, [ebp - 0x210]
push esi
push eax
call fcn.0046ab30
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x46b0f8
mov eax, dword [ebp - 0x210]
mov dword [ebp - 0x224], eax
mov eax, dword [ebp - 0x21c]
or eax, dword [ebp - 0x218]
je 0x46accf
push 0x4b670c
lea eax, [ebp - 0x21c]
push eax
lea eax, [ebp - 0x210]
push eax
call fcn.0046ab30
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x46b0ed
push ebx
push str.___s_r_n
lea eax, [ebp - 0x21c]
push eax
lea eax, [ebp - 0x210]
push eax
call fcn.0046ab30
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x46b0ed
push str.Content_Disposition:_form_data__name_
lea eax, [ebp - 0x21c]
push eax
lea eax, [ebp - 0x210]
push eax
call fcn.0046ab30
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x46b0ed
lea eax, [ebp - 0x21c]
xor edx, edx
push eax
push dword [edi + 8]
lea ecx, [ebp - 0x210]
push dword [edi + 4]
call fcn.0046aa4a
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x46b0ed
push 0x4b9c74
lea eax, [ebp - 0x21c]
push eax
lea eax, [ebp - 0x210]
push eax
call fcn.0046ab30
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x46b0ed
cmp dword [edi + 0x24], eax
je 0x46ad9c
call fcn.0046b212
push eax
mov dword [ebp - 0x228], eax
lea eax, [ebp - 0x21c]
push str._r_nContent_Type:_multipart_mixed__boundary_s_r_n
push eax
lea eax, [ebp - 0x210]
push eax
call fcn.0046ab30
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x46b0ed
mov ecx, edi
mov dword [ebp - 0x220], edi
cmp dword [edi + 0x24], 0
je 0x46adf4
cmp dword [ecx + 0x2c], 0
jne 0x46adc0
mov ecx, dword [ecx + 0xc]
call fcn.0046abae
mov ecx, dword [ebp - 0x220]
jmp 0x46adc2
xor eax, eax
cmp dword [ecx + 0x2c], 0
mov dword [ebp - 0x214], eax
cmovne eax, dword [ecx + 0x2c]
push eax
push dword [ebp - 0x228]
lea eax, [ebp - 0x21c]
push str._r_n___s_r_nContent_Disposition:_attachment__filename__s_
push eax
lea eax, [ebp - 0x210]
push eax
call fcn.0046ab30
add esp, 0x14
jmp 0x46ae36
test byte [edi + 0x28], 0x11
je 0x46ae58
cmp dword [edi + 0x2c], 0
jne 0x46ae0a
mov ecx, dword [edi + 0xc]
call fcn.0046abae
jmp 0x46ae0c
xor eax, eax
cmp dword [edi + 0x2c], 0
mov dword [ebp - 0x214], eax
cmovne eax, dword [edi + 0x2c]
push eax
push str.__filename__s_
lea eax, [ebp - 0x21c]
push eax
lea eax, [ebp - 0x210]
push eax
call fcn.0046ab30
add esp, 0x10
mov esi, eax
mov eax, dword [ebp - 0x214]
test eax, eax
je 0x46ae4a
push eax
call dword [0x4d4be0]
pop ecx
test esi, esi
jne 0x46b0ed
mov ecx, dword [ebp - 0x220]
mov eax, dword [ecx + 0x1c]
test eax, eax
je 0x46ae8b
push eax
push str._r_nContent_Type:__s
lea eax, [ebp - 0x21c]
push eax
lea eax, [ebp - 0x210]
push eax
call fcn.0046ab30
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x46b0ed
mov ecx, dword [ebp - 0x220]
mov eax, dword [ecx + 0x20]
jmp 0x46aec0
push dword [eax]
lea eax, [ebp - 0x21c]
push str._r_n_s
push eax
lea eax, [ebp - 0x210]
push eax
call fcn.0046ab30
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x46b0ed
mov eax, dword [ebp - 0x214]
mov eax, dword [eax + 4]
mov dword [ebp - 0x214], eax
test eax, eax
jne 0x46ae90
test esi, esi
jne 0x46b0ed
push str._r_n_r_n
lea eax, [ebp - 0x21c]
push eax
lea eax, [ebp - 0x210]
push eax
call fcn.0046ab30
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x46b0ed
test byte [edi + 0x28], 3
jne 0x46af22
lea eax, [ebp - 0x21c]
xor edx, edx
test byte [edi + 0x28], 0x10
lea ecx, [ebp - 0x210]
push eax
je 0x46af1a
push dword [edi + 0x18]
push dword [edi + 0x14]
jmp 0x46af96
push dword [edi + 0x10]
push dword [edi + 0xc]
jmp 0x46af96
mov eax, dword [ebp - 0x220]
push dword [eax + 0xc]
push 0x4baee8
call fcn.0049b929
pop ecx
pop ecx
test eax, eax
jne 0x46af42
call fcn.0047f9c7
jmp 0x46af57
mov eax, dword [ebp - 0x220]
push 0x4b9c70
push dword [eax + 0xc]
call fcn.0047d398
pop ecx
pop ecx
mov dword [ebp - 0x214], eax
test eax, eax
je 0x46b0ca
call fcn.0047f9c7
mov ecx, dword [ebp - 0x214]
push ecx
cmp ecx, eax
je 0x46afa2
call fcn.0047c8d3
pop ecx
lea eax, [ebp - 0x21c]
xor edx, edx
push eax
mov eax, dword [ebp - 0x220]
lea ecx, [ebp - 0x210]
push 0
inc edx
push dword [eax + 0xc]
call fcn.0046aa4a
add esp, 0xc
mov esi, eax
jmp 0x46b005
push 0x200
lea eax, [ebp - 0x20c]
push 1
push eax
call fcn.0047e04c
add esp, 0x10
test eax, eax
je 0x46b00d
lea ecx, [ebp - 0x21c]
xor edx, edx
push ecx
push eax
lea eax, [ebp - 0x20c]
push eax
lea ecx, [ebp - 0x210]
call fcn.0046aa4a
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x46b0ed
push dword [ebp - 0x214]
lea eax, [ebp - 0x20c]
push 0x200
push 1
push eax
call fcn.0047e04c
add esp, 0x10
test eax, eax
jne 0x46afbc
test esi, esi
jne 0x46b0ed
mov ecx, dword [ebp - 0x220]
mov ecx, dword [ecx + 0x24]
mov dword [ebp - 0x220], ecx
test ecx, ecx
jne 0x46ada4
test esi, esi
jne 0x46b0ed
cmp dword [edi + 0x24], esi
je 0x46b068
push dword [ebp - 0x228]
lea eax, [ebp - 0x21c]
push str._r_n___s__
push eax
lea eax, [ebp - 0x210]
push eax
call fcn.0046ab30
push dword [ebp - 0x228]
mov esi, eax
call dword [0x4d4be0]
add esp, 0x14
test esi, esi
jne 0x46b0ed
mov edi, dword [edi]
test edi, edi
jne 0x46ac9c
test esi, esi
jne 0x46b0ed
push ebx
push str._r_n___s___r_n
lea eax, [ebp - 0x21c]
push eax
lea eax, [ebp - 0x210]
push eax
call fcn.0046ab30
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x46b0ed
mov ecx, dword [ebp - 0x230]
mov eax, dword [ebp - 0x21c]
push ebx
mov dword [ecx], eax
mov eax, dword [ebp - 0x218]
mov dword [ecx + 4], eax
call dword [0x4d4be0]
mov eax, dword [ebp - 0x22c]
pop ecx
mov ecx, dword [ebp - 0x224]
mov dword [eax], ecx
jmp 0x46ac56
mov ecx, dword [ebp - 0x224]
call fcn.0046ab89
push ebx
call dword [0x4d4be0]
mov eax, dword [ebp - 0x22c]
pop ecx
push 0x1a
and dword [eax], 0
jmp 0x46ac6a
mov ecx, dword [ebp - 0x224]
call fcn.0046ab89
push ebx
call dword [0x4d4be0]
mov eax, esi
pop ecx
mov ecx, dword [ebp - 8]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0047aabf
mov esp, ebp
pop ebp
ret