Function at 0x416cd0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x26c
mov eax, dword [0x4abd08]
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 0x416d3e
pop edi
xor eax, eax
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0046c641
mov esp, ebp
pop ebp
ret
push ebx
call fcn.00416c60
mov ebx, eax
mov dword [ebp - 0x250], ebx
test ebx, ebx
je 0x417393
test esi, esi
jne 0x416d5d
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.00416910
mov esi, eax
add esp, 0x10
test esi, esi
je 0x416d97
push ebx
call dword [0x4ab4a8]
add esp, 4
pop ebx
pop edi
mov eax, esi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0046c641
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x240]
mov dword [ebp - 0x258], eax
or edi, dword [ebp - 0x244]
je 0x416dd5
lea ecx, [ebp - 0x248]
push 0x493d2c
push ecx
lea esi, [ebp - 0x240]
call fcn.00416910
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x41740b
mov ebx, dword [ebp - 0x250]
push ebx
lea edx, [ebp - 0x248]
push str.___s_r_n
push edx
lea esi, [ebp - 0x240]
call fcn.00416910
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x41740b
lea eax, [ebp - 0x248]
push str.Content_Disposition:_form_data__name_
push eax
call fcn.00416910
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x41740b
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.004167e0
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x41740b
lea eax, [ebp - 0x248]
push 0x493318
push eax
call fcn.00416910
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x41740b
mov esi, dword [ebp - 0x24c]
cmp dword [esi + 0x24], eax
je 0x416ea0
call fcn.00416c60
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.00416910
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x41740b
mov esi, dword [ebp - 0x24c]
mov dword [ebp - 0x254], esi
cmp dword [esi + 0x24], 0
je 0x416f55
mov eax, dword [ebp - 0x254]
xor edi, edi
cmp dword [eax + 0x2c], edi
jne 0x416f22
mov eax, dword [eax + 0xc]
push eax
call dword [0x4ab4b0]
mov esi, eax
add esp, 4
test esi, esi
je 0x417377
push 0x2f
push esi
mov edi, esi
call fcn.0046ddd0
push 0x5c
push esi
mov ebx, eax
call fcn.0046ddd0
add esp, 0x10
test ebx, ebx
je 0x416f00
test eax, eax
je 0x416efb
cmp ebx, eax
jbe 0x416f04
mov eax, ebx
jmp 0x416f04
lea edi, [ebx + 1]
jmp 0x416f07
test eax, eax
je 0x416f07
lea edi, [eax + 1]
push edi
call dword [0x4ab4b0]
push esi
mov edi, eax
call dword [0x4ab4a8]
add esp, 8
test edi, edi
je 0x417377
mov edx, dword [ebp - 0x254]
mov eax, dword [edx + 0x2c]
test eax, eax
jne 0x416f31
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.00416910
add esp, 0x10
jmp 0x416f93
test byte [esi + 0x28], 0x51
je 0x416fab
cmp dword [esi + 0x2c], 0
jne 0x416f6d
mov eax, dword [esi + 0xc]
call fcn.00416a40
mov edi, eax
jmp 0x416f6f
xor edi, edi
mov eax, dword [esi + 0x2c]
test eax, eax
jne 0x416f78
mov eax, edi
push eax
lea edx, [ebp - 0x248]
push str.__filename__s_
push edx
lea esi, [ebp - 0x240]
call fcn.00416910
add esp, 0xc
mov ebx, eax
test edi, edi
je 0x416fa3
push edi
call dword [0x4ab4a8]
add esp, 4
test ebx, ebx
jne 0x4173d8
mov eax, dword [ebp - 0x254]
mov eax, dword [eax + 0x1c]
test eax, eax
je 0x416fdd
push eax
lea ecx, [ebp - 0x248]
push str._r_nContent_Type:__s
push ecx
lea esi, [ebp - 0x240]
call fcn.00416910
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x4173d8
mov edx, dword [ebp - 0x254]
mov edi, dword [edx + 0x20]
test edi, edi
je 0x417020
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.00416910
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x4173a9
mov edi, dword [edi + 4]
test edi, edi
jne 0x416ff0
jmp 0x417028
test ebx, ebx
jne 0x4173a9
lea edx, [ebp - 0x248]
push str._r_n_r_n
push edx
lea esi, [ebp - 0x240]
call fcn.00416910
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x4173d8
mov eax, dword [ebp - 0x24c]
mov ecx, dword [eax + 0x28]
test cl, 3
jne 0x4170fe
test cl, 0x10
je 0x417084
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.004167e0
add esp, 0xc
mov ebx, eax
jmp 0x4172e5
test cl, 0x40
je 0x4170d9
mov edi, dword [eax + 0x10]
mov esi, dword [eax + 0x30]
push 0x10
call dword [0x4ab4a4]
xor ebx, ebx
add esp, 4
cmp eax, ebx
jne 0x4170aa
mov ebx, 0x1b
jmp 0x4172e5
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 0x4170c8
mov dword [ecx], eax
add dword [ebp - 0x248], edi
adc dword [ebp - 0x244], ebx
jmp 0x4172e5
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.004167e0
add esp, 0xc
mov ebx, eax
jmp 0x4172e5
mov edi, dword [ebp - 0x254]
mov eax, dword [edi + 0xc]
push eax
push 0x493790
call dword [0x4a3aac]
add esp, 8
test eax, eax
je 0x417129
call fcn.0046d110
mov esi, eax
mov dword [ebp - 0x260], esi
jmp 0x417142
mov ecx, dword [edi + 0xc]
push 0x493c08
push ecx
call fcn.0046e354
add esp, 8
mov esi, eax
mov dword [ebp - 0x260], eax
test esi, esi
je 0x4172b8
call fcn.0046d110
push esi
cmp esi, eax
je 0x4171e7
call fcn.0046e0ec
mov ebx, dword [edi + 0xc]
push 0x10
call dword [0x4ab4a4]
mov esi, eax
add esp, 8
test esi, esi
jne 0x417179
lea ebx, [eax + 0x1b]
jmp 0x4172e5
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 0x41719b
mov dword [eax], esi
mov edx, dword [esi + 8]
push edx
push 0x493790
call dword [0x4a3aac]
add esp, 8
test eax, eax
jne 0x4171e0
mov ecx, dword [esi + 8]
lea eax, [ebp - 0x23c]
push eax
push ecx
call fcn.0046f85c
add esp, 8
test eax, eax
jne 0x4171e0
mov edx, dword [ebp - 0x224]
add dword [ebp - 0x248], edx
mov eax, dword [ebp - 0x220]
adc dword [ebp - 0x244], eax
xor ebx, ebx
jmp 0x4172e5
push 0x200
lea ecx, [ebp - 0x204]
push 1
push ecx
call fcn.0046ff25
mov esi, eax
add esp, 0x10
test esi, esi
je 0x4172e5
xor ebx, ebx
lea esp, [esp]
push 0x10
call dword [0x4ab4a4]
mov edi, eax
add esp, 4
test edi, edi
je 0x4172b1
lea edx, [esi + 1]
push edx
mov dword [edi], ebx
call dword [0x4ab4a4]
add esp, 4
mov dword [edi + 8], eax
test eax, eax
je 0x4172a7
push esi
lea ecx, [ebp - 0x204]
push ecx
push eax
call fcn.0046ba50
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 0x41726c
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.0046ff25
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x417210
jmp 0x4172e5
push edi
call dword [0x4ab4a8]
add esp, 4
mov ebx, 0x1b
jmp 0x4172e5
mov eax, dword [ebp - 0x268]
test eax, eax
je 0x4172d4
mov ecx, dword [edi + 0xc]
push ecx
push str.couldnt_open_file___s__n
push eax
call fcn.0042d360
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 0x41730b
test ebx, ebx
jne 0x4173d8
mov esi, dword [ebp - 0x24c]
jmp 0x416ea6
test ebx, ebx
jne 0x4173d8
mov ecx, dword [ebp - 0x24c]
cmp dword [ecx + 0x24], ebx
je 0x417350
mov edi, dword [ebp - 0x25c]
push edi
lea edx, [ebp - 0x248]
push str._r_n___s__
push edx
lea esi, [ebp - 0x240]
call fcn.00416910
push edi
mov ebx, eax
call dword [0x4ab4a8]
add esp, 0x10
test ebx, ebx
jne 0x41740b
mov eax, dword [ebp - 0x24c]
mov eax, dword [eax]
mov edi, dword [ebp - 0x248]
mov dword [ebp - 0x24c], eax
test eax, eax
je 0x417407
mov ebx, dword [ebp - 0x250]
jmp 0x416da3
lea ecx, [ebp - 0x258]
push ecx
call fcn.00416970
mov edx, dword [ebp - 0x250]
push edx
call dword [0x4ab4a8]
add esp, 8
pop ebx
pop edi
mov eax, 0x1b
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0046c641
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x258]
push eax
call fcn.00416970
mov ecx, dword [ebp - 0x250]
push ecx
call dword [0x4ab4a8]
add esp, 8
mov eax, ebx
pop ebx
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0046c641
mov esp, ebp
pop ebp
ret
lea edx, [ebp - 0x258]
push edx
call fcn.00416970
mov eax, dword [ebp - 0x250]
push eax
call dword [0x4ab4a8]
add esp, 8
mov eax, ebx
pop ebx
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0046c641
mov esp, ebp
pop ebp
ret
test ebx, ebx
je 0x41743a
lea ecx, [ebp - 0x258]
push ecx
call fcn.00416970
mov edx, dword [ebp - 0x250]
push edx
call dword [0x4ab4a8]
add esp, 8
mov eax, ebx
pop ebx
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0046c641
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.00416910
mov esi, eax
add esp, 0xc
test esi, esi
je 0x41748a
lea ecx, [ebp - 0x258]
push ecx
call fcn.00416970
push edi
call dword [0x4ab4a8]
add esp, 8
pop ebx
pop edi
mov eax, esi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0046c641
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 [0x4ab4a8]
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.0046c641
mov esp, ebp
pop ebp
ret