Function at 0x413e10
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x26c
mov eax, dword [0x4a5c78]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 0x18]
push esi
mov esi, dword [ebp + 0x14]
push edi
xor edi, edi
mov dword [ebp - 0x268], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x264], ecx
mov dword [ebp - 0x24c], eax
mov dword [ebp - 0x26c], edx
mov dword [ebp - 0x240], edi
mov dword [ebp - 0x248], edi
mov dword [ebp - 0x244], edi
mov dword [ebp - 0x25c], edi
mov dword [ecx], edi
cmp eax, edi
jne 0x413e7e
pop edi
xor eax, eax
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00468861
mov esp, ebp
pop ebp
ret
push ebx
call fcn.00413da0
mov ebx, eax
mov dword [ebp - 0x250], ebx
test ebx, ebx
je 0x4144d3
test esi, esi
jne 0x413e9d
mov esi, str.Content_Type:_multipart_form_data
push ebx
push esi
push str._s__boundary_s_r_n
push 0
lea esi, [ebp - 0x240]
call fcn.00413a50
mov esi, eax
add esp, 0x10
test esi, esi
je 0x413ed7
push ebx
call dword [0x4a5418]
add esp, 4
pop ebx
pop edi
mov eax, esi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00468861
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x240]
mov dword [ebp - 0x258], eax
or edi, dword [ebp - 0x244]
je 0x413f15
lea ecx, [ebp - 0x248]
push 0x48ea8c
push ecx
lea esi, [ebp - 0x240]
call fcn.00413a50
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x41454b
mov ebx, dword [ebp - 0x250]
push ebx
lea edx, [ebp - 0x248]
push str.___s_r_n
push edx
lea esi, [ebp - 0x240]
call fcn.00413a50
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x41454b
lea eax, [ebp - 0x248]
push str.Content_Disposition:_form_data__name_
push eax
call fcn.00413a50
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x41454b
mov eax, dword [ebp - 0x24c]
mov ecx, dword [eax + 8]
push ecx
mov edx, esi
push ebx
push edx
mov edx, dword [eax + 4]
lea ecx, [ebp - 0x248]
call fcn.00413920
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x41454b
lea eax, [ebp - 0x248]
push 0x48e084
push eax
call fcn.00413a50
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x41454b
mov esi, dword [ebp - 0x24c]
cmp dword [esi + 0x24], eax
je 0x413fe0
call fcn.00413da0
push eax
lea ecx, [ebp - 0x248]
push str._r_nContent_Type:_multipart_mixed__boundary_s_r_n
push ecx
lea esi, [ebp - 0x240]
mov dword [ebp - 0x25c], eax
call fcn.00413a50
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x41454b
mov esi, dword [ebp - 0x24c]
mov dword [ebp - 0x254], esi
cmp dword [esi + 0x24], 0
je 0x414095
mov eax, dword [ebp - 0x254]
xor edi, edi
cmp dword [eax + 0x2c], edi
jne 0x414062
mov eax, dword [eax + 0xc]
push eax
call dword [0x4a5420]
mov esi, eax
add esp, 4
test esi, esi
je 0x4144b7
push 0x2f
push esi
mov edi, esi
call fcn.00469fa0
push 0x5c
push esi
mov ebx, eax
call fcn.00469fa0
add esp, 0x10
test ebx, ebx
je 0x414040
test eax, eax
je 0x41403b
cmp ebx, eax
jbe 0x414044
mov eax, ebx
jmp 0x414044
lea edi, [ebx + 1]
jmp 0x414047
test eax, eax
je 0x414047
lea edi, [eax + 1]
push edi
call dword [0x4a5420]
push esi
mov edi, eax
call dword [0x4a5418]
add esp, 8
test edi, edi
je 0x4144b7
mov edx, dword [ebp - 0x254]
mov eax, dword [edx + 0x2c]
test eax, eax
jne 0x414071
mov eax, edi
push eax
mov eax, dword [ebp - 0x25c]
push eax
lea ecx, [ebp - 0x248]
push str._r_n___s_r_nContent_Disposition:_attachment__filename__s_
push ecx
lea esi, [ebp - 0x240]
call fcn.00413a50
add esp, 0x10
jmp 0x4140d3
test byte [esi + 0x28], 0x51
je 0x4140eb
cmp dword [esi + 0x2c], 0
jne 0x4140ad
mov eax, dword [esi + 0xc]
call fcn.00413b80
mov edi, eax
jmp 0x4140af
xor edi, edi
mov eax, dword [esi + 0x2c]
test eax, eax
jne 0x4140b8
mov eax, edi
push eax
lea edx, [ebp - 0x248]
push str.__filename__s_
push edx
lea esi, [ebp - 0x240]
call fcn.00413a50
add esp, 0xc
mov ebx, eax
test edi, edi
je 0x4140e3
push edi
call dword [0x4a5418]
add esp, 4
test ebx, ebx
jne 0x414518
mov eax, dword [ebp - 0x254]
mov eax, dword [eax + 0x1c]
test eax, eax
je 0x41411d
push eax
lea ecx, [ebp - 0x248]
push str._r_nContent_Type:__s
push ecx
lea esi, [ebp - 0x240]
call fcn.00413a50
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x414518
mov edx, dword [ebp - 0x254]
mov edi, dword [edx + 0x20]
test edi, edi
je 0x414160
lea ebx, [ebx]
mov eax, dword [edi]
push eax
lea ecx, [ebp - 0x248]
push str._r_n_s
push ecx
lea esi, [ebp - 0x240]
call fcn.00413a50
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x4144e9
mov edi, dword [edi + 4]
test edi, edi
jne 0x414130
jmp 0x414168
test ebx, ebx
jne 0x4144e9
lea edx, [ebp - 0x248]
push str._r_n_r_n
push edx
lea esi, [ebp - 0x240]
call fcn.00413a50
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x414518
mov eax, dword [ebp - 0x24c]
mov ecx, dword [eax + 0x28]
test cl, 3
jne 0x41423e
test cl, 0x10
je 0x4141c4
mov ecx, dword [eax + 0x18]
push ecx
mov edx, esi
push 1
push edx
mov edx, dword [eax + 0x14]
lea ecx, [ebp - 0x248]
call fcn.00413920
add esp, 0xc
mov ebx, eax
jmp 0x414425
test cl, 0x40
je 0x414219
mov edi, dword [eax + 0x10]
mov esi, dword [eax + 0x30]
push 0x10
call dword [0x4a5414]
xor ebx, ebx
add esp, 4
cmp eax, ebx
jne 0x4141ea
mov ebx, 0x1b
jmp 0x414425
mov ecx, dword [ebp - 0x240]
mov dword [eax], ebx
mov dword [eax + 8], esi
mov dword [eax + 4], 2
mov dword [ebp - 0x240], eax
cmp ecx, ebx
je 0x414208
mov dword [ecx], eax
add dword [ebp - 0x248], edi
adc dword [ebp - 0x244], ebx
jmp 0x414425
mov ecx, dword [eax + 0x10]
push ecx
lea edx, [ebp - 0x240]
push 1
push edx
mov edx, dword [eax + 0xc]
lea ecx, [ebp - 0x248]
call fcn.00413920
add esp, 0xc
mov ebx, eax
jmp 0x414425
mov edi, dword [ebp - 0x254]
mov eax, dword [edi + 0xc]
push eax
push 0x48e4f0
call dword [0x49e7cc]
add esp, 8
test eax, eax
je 0x414269
call fcn.00469330
mov esi, eax
mov dword [ebp - 0x260], esi
jmp 0x414282
mov ecx, dword [edi + 0xc]
push 0x48e968
push ecx
call fcn.0046a524
add esp, 8
mov esi, eax
mov dword [ebp - 0x260], eax
test esi, esi
je 0x4143f8
call fcn.00469330
push esi
cmp esi, eax
je 0x414327
call fcn.0046a2bc
mov ebx, dword [edi + 0xc]
push 0x10
call dword [0x4a5414]
mov esi, eax
add esp, 8
test esi, esi
jne 0x4142b9
lea ebx, [eax + 0x1b]
jmp 0x414425
mov eax, dword [ebp - 0x240]
mov dword [esi], 0
mov dword [esi + 8], ebx
mov dword [esi + 4], 3
mov dword [ebp - 0x240], esi
test eax, eax
je 0x4142db
mov dword [eax], esi
mov edx, dword [esi + 8]
push edx
push 0x48e4f0
call dword [0x49e7cc]
add esp, 8
test eax, eax
jne 0x414320
mov ecx, dword [esi + 8]
lea eax, [ebp - 0x23c]
push eax
push ecx
call fcn.0046ba2c
add esp, 8
test eax, eax
jne 0x414320
mov edx, dword [ebp - 0x224]
add dword [ebp - 0x248], edx
mov eax, dword [ebp - 0x220]
adc dword [ebp - 0x244], eax
xor ebx, ebx
jmp 0x414425
push 0x200
lea ecx, [ebp - 0x204]
push 1
push ecx
call fcn.0046c0f5
mov esi, eax
add esp, 0x10
test esi, esi
je 0x414425
xor ebx, ebx
lea esp, [esp]
push 0x10
call dword [0x4a5414]
mov edi, eax
add esp, 4
test edi, edi
je 0x4143f1
lea edx, [esi + 1]
push edx
mov dword [edi], ebx
call dword [0x4a5414]
add esp, 4
mov dword [edi + 8], eax
test eax, eax
je 0x4143e7
push esi
lea ecx, [ebp - 0x204]
push ecx
push eax
call fcn.00467c80
mov edx, dword [edi + 8]
add esp, 0xc
mov dword [edi + 0xc], esi
mov byte [esi + edx], bl
mov dword [edi + 4], 1
cmp dword [ebp - 0x240], ebx
je 0x4143ac
mov eax, dword [ebp - 0x240]
mov dword [eax], edi
mov ecx, dword [ebp - 0x260]
add dword [ebp - 0x248], esi
push ecx
push 0x200
adc dword [ebp - 0x244], ebx
lea edx, [ebp - 0x204]
push 1
push edx
mov dword [ebp - 0x240], edi
call fcn.0046c0f5
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x414350
jmp 0x414425
push edi
call dword [0x4a5418]
add esp, 4
mov ebx, 0x1b
jmp 0x414425
mov eax, dword [ebp - 0x268]
test eax, eax
je 0x414414
mov ecx, dword [edi + 0xc]
push ecx
push str.couldnt_open_file___s__n
push eax
call fcn.0042a4b0
add esp, 0xc
mov edx, dword [ebp - 0x264]
mov dword [edx], 0
mov ebx, 0x1a
mov eax, dword [ebp - 0x254]
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x254], eax
test eax, eax
je 0x41444b
test ebx, ebx
jne 0x414518
mov esi, dword [ebp - 0x24c]
jmp 0x413fe6
test ebx, ebx
jne 0x414518
mov ecx, dword [ebp - 0x24c]
cmp dword [ecx + 0x24], ebx
je 0x414490
mov edi, dword [ebp - 0x25c]
push edi
lea edx, [ebp - 0x248]
push str._r_n___s__
push edx
lea esi, [ebp - 0x240]
call fcn.00413a50
push edi
mov ebx, eax
call dword [0x4a5418]
add esp, 0x10
test ebx, ebx
jne 0x41454b
mov eax, dword [ebp - 0x24c]
mov eax, dword [eax]
mov edi, dword [ebp - 0x248]
mov dword [ebp - 0x24c], eax
test eax, eax
je 0x414547
mov ebx, dword [ebp - 0x250]
jmp 0x413ee3
lea ecx, [ebp - 0x258]
push ecx
call fcn.00413ab0
mov edx, dword [ebp - 0x250]
push edx
call dword [0x4a5418]
add esp, 8
pop ebx
pop edi
mov eax, 0x1b
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00468861
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x258]
push eax
call fcn.00413ab0
mov ecx, dword [ebp - 0x250]
push ecx
call dword [0x4a5418]
add esp, 8
mov eax, ebx
pop ebx
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00468861
mov esp, ebp
pop ebp
ret
lea edx, [ebp - 0x258]
push edx
call fcn.00413ab0
mov eax, dword [ebp - 0x250]
push eax
call dword [0x4a5418]
add esp, 8
mov eax, ebx
pop ebx
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00468861
mov esp, ebp
pop ebp
ret
test ebx, ebx
je 0x41457a
lea ecx, [ebp - 0x258]
push ecx
call fcn.00413ab0
mov edx, dword [ebp - 0x250]
push edx
call dword [0x4a5418]
add esp, 8
mov eax, ebx
pop ebx
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00468861
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp - 0x250]
push edi
lea eax, [ebp - 0x248]
push str._r_n___s___r_n
push eax
lea esi, [ebp - 0x240]
call fcn.00413a50
mov esi, eax
add esp, 0xc
test esi, esi
je 0x4145ca
lea ecx, [ebp - 0x258]
push ecx
call fcn.00413ab0
push edi
call dword [0x4a5418]
add esp, 8
pop ebx
pop edi
mov eax, esi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00468861
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x26c]
mov edx, dword [ebp - 0x248]
mov ecx, dword [ebp - 0x244]
push edi
mov dword [eax], edx
mov dword [eax + 4], ecx
call dword [0x4a5418]
mov eax, dword [ebp - 0x264]
mov edx, dword [ebp - 0x258]
mov ecx, dword [ebp - 4]
add esp, 4
pop ebx
pop edi
mov dword [eax], edx
xor ecx, ebp
xor eax, eax
pop esi
call fcn.00468861
mov esp, ebp
pop ebp
ret