Function at 0x416ab0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x26c
mov eax, dword [0x494ce8]
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 0x416b1e
pop edi
xor eax, eax
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0045d571
mov esp, ebp
pop ebp
ret
push ebx
call fcn.00416a40
mov ebx, eax
mov dword [ebp - 0x250], ebx
test ebx, ebx
je 0x417173
test esi, esi
jne 0x416b3d
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.004166f0
mov esi, eax
add esp, 0x10
test esi, esi
je 0x416b77
push ebx
call dword [0x4944a8]
add esp, 4
pop ebx
pop edi
mov eax, esi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0045d571
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x240]
mov dword [ebp - 0x258], eax
or edi, dword [ebp - 0x244]
je 0x416bb5
lea ecx, [ebp - 0x248]
push 0x47fbdc
push ecx
lea esi, [ebp - 0x240]
call fcn.004166f0
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x4171eb
mov ebx, dword [ebp - 0x250]
push ebx
lea edx, [ebp - 0x248]
push str.___s_r_n
push edx
lea esi, [ebp - 0x240]
call fcn.004166f0
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x4171eb
lea eax, [ebp - 0x248]
push str.Content_Disposition:_form_data__name_
push eax
call fcn.004166f0
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x4171eb
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.004165c0
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x4171eb
lea eax, [ebp - 0x248]
push 0x47f1c8
push eax
call fcn.004166f0
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x4171eb
mov esi, dword [ebp - 0x24c]
cmp dword [esi + 0x24], eax
je 0x416c80
call fcn.00416a40
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.004166f0
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x4171eb
mov esi, dword [ebp - 0x24c]
mov dword [ebp - 0x254], esi
cmp dword [esi + 0x24], 0
je 0x416d35
mov eax, dword [ebp - 0x254]
xor edi, edi
cmp dword [eax + 0x2c], edi
jne 0x416d02
mov eax, dword [eax + 0xc]
push eax
call dword [0x4944b0]
mov esi, eax
add esp, 4
test esi, esi
je 0x417157
push 0x2f
push esi
mov edi, esi
call fcn.0045ed00
push 0x5c
push esi
mov ebx, eax
call fcn.0045ed00
add esp, 0x10
test ebx, ebx
je 0x416ce0
test eax, eax
je 0x416cdb
cmp ebx, eax
jbe 0x416ce4
mov eax, ebx
jmp 0x416ce4
lea edi, [ebx + 1]
jmp 0x416ce7
test eax, eax
je 0x416ce7
lea edi, [eax + 1]
push edi
call dword [0x4944b0]
push esi
mov edi, eax
call dword [0x4944a8]
add esp, 8
test edi, edi
je 0x417157
mov edx, dword [ebp - 0x254]
mov eax, dword [edx + 0x2c]
test eax, eax
jne 0x416d11
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.004166f0
add esp, 0x10
jmp 0x416d73
test byte [esi + 0x28], 0x51
je 0x416d8b
cmp dword [esi + 0x2c], 0
jne 0x416d4d
mov eax, dword [esi + 0xc]
call fcn.00416820
mov edi, eax
jmp 0x416d4f
xor edi, edi
mov eax, dword [esi + 0x2c]
test eax, eax
jne 0x416d58
mov eax, edi
push eax
lea edx, [ebp - 0x248]
push str.__filename__s_
push edx
lea esi, [ebp - 0x240]
call fcn.004166f0
add esp, 0xc
mov ebx, eax
test edi, edi
je 0x416d83
push edi
call dword [0x4944a8]
add esp, 4
test ebx, ebx
jne 0x4171b8
mov eax, dword [ebp - 0x254]
mov eax, dword [eax + 0x1c]
test eax, eax
je 0x416dbd
push eax
lea ecx, [ebp - 0x248]
push str._r_nContent_Type:__s
push ecx
lea esi, [ebp - 0x240]
call fcn.004166f0
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x4171b8
mov edx, dword [ebp - 0x254]
mov edi, dword [edx + 0x20]
test edi, edi
je 0x416e00
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.004166f0
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x417189
mov edi, dword [edi + 4]
test edi, edi
jne 0x416dd0
jmp 0x416e08
test ebx, ebx
jne 0x417189
lea edx, [ebp - 0x248]
push str._r_n_r_n
push edx
lea esi, [ebp - 0x240]
call fcn.004166f0
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x4171b8
mov eax, dword [ebp - 0x24c]
mov ecx, dword [eax + 0x28]
test cl, 3
jne 0x416ede
test cl, 0x10
je 0x416e64
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.004165c0
add esp, 0xc
mov ebx, eax
jmp 0x4170c5
test cl, 0x40
je 0x416eb9
mov edi, dword [eax + 0x10]
mov esi, dword [eax + 0x30]
push 0x10
call dword [0x4944a4]
xor ebx, ebx
add esp, 4
cmp eax, ebx
jne 0x416e8a
mov ebx, 0x1b
jmp 0x4170c5
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 0x416ea8
mov dword [ecx], eax
add dword [ebp - 0x248], edi
adc dword [ebp - 0x244], ebx
jmp 0x4170c5
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.004165c0
add esp, 0xc
mov ebx, eax
jmp 0x4170c5
mov edi, dword [ebp - 0x254]
mov eax, dword [edi + 0xc]
push eax
push 0x47f640
call dword [0x48e098]
add esp, 8
test eax, eax
je 0x416f09
call fcn.0045e040
mov esi, eax
mov dword [ebp - 0x260], esi
jmp 0x416f22
mov ecx, dword [edi + 0xc]
push 0x47fab8
push ecx
call fcn.0045f284
add esp, 8
mov esi, eax
mov dword [ebp - 0x260], eax
test esi, esi
je 0x417098
call fcn.0045e040
push esi
cmp esi, eax
je 0x416fc7
call fcn.0045f01c
mov ebx, dword [edi + 0xc]
push 0x10
call dword [0x4944a4]
mov esi, eax
add esp, 8
test esi, esi
jne 0x416f59
lea ebx, [eax + 0x1b]
jmp 0x4170c5
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 0x416f7b
mov dword [eax], esi
mov edx, dword [esi + 8]
push edx
push 0x47f640
call dword [0x48e098]
add esp, 8
test eax, eax
jne 0x416fc0
mov ecx, dword [esi + 8]
lea eax, [ebp - 0x23c]
push eax
push ecx
call fcn.0046078c
add esp, 8
test eax, eax
jne 0x416fc0
mov edx, dword [ebp - 0x224]
add dword [ebp - 0x248], edx
mov eax, dword [ebp - 0x220]
adc dword [ebp - 0x244], eax
xor ebx, ebx
jmp 0x4170c5
push 0x200
lea ecx, [ebp - 0x204]
push 1
push ecx
call fcn.00460e55
mov esi, eax
add esp, 0x10
test esi, esi
je 0x4170c5
xor ebx, ebx
lea esp, [esp]
push 0x10
call dword [0x4944a4]
mov edi, eax
add esp, 4
test edi, edi
je 0x417091
lea edx, [esi + 1]
push edx
mov dword [edi], ebx
call dword [0x4944a4]
add esp, 4
mov dword [edi + 8], eax
test eax, eax
je 0x417087
push esi
lea ecx, [ebp - 0x204]
push ecx
push eax
call fcn.0045c990
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 0x41704c
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.00460e55
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x416ff0
jmp 0x4170c5
push edi
call dword [0x4944a8]
add esp, 4
mov ebx, 0x1b
jmp 0x4170c5
mov eax, dword [ebp - 0x268]
test eax, eax
je 0x4170b4
mov ecx, dword [edi + 0xc]
push ecx
push str.couldnt_open_file___s__n
push eax
call fcn.0042d160
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 0x4170eb
test ebx, ebx
jne 0x4171b8
mov esi, dword [ebp - 0x24c]
jmp 0x416c86
test ebx, ebx
jne 0x4171b8
mov ecx, dword [ebp - 0x24c]
cmp dword [ecx + 0x24], ebx
je 0x417130
mov edi, dword [ebp - 0x25c]
push edi
lea edx, [ebp - 0x248]
push str._r_n___s__
push edx
lea esi, [ebp - 0x240]
call fcn.004166f0
push edi
mov ebx, eax
call dword [0x4944a8]
add esp, 0x10
test ebx, ebx
jne 0x4171eb
mov eax, dword [ebp - 0x24c]
mov eax, dword [eax]
mov edi, dword [ebp - 0x248]
mov dword [ebp - 0x24c], eax
test eax, eax
je 0x4171e7
mov ebx, dword [ebp - 0x250]
jmp 0x416b83
lea ecx, [ebp - 0x258]
push ecx
call fcn.00416750
mov edx, dword [ebp - 0x250]
push edx
call dword [0x4944a8]
add esp, 8
pop ebx
pop edi
mov eax, 0x1b
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0045d571
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x258]
push eax
call fcn.00416750
mov ecx, dword [ebp - 0x250]
push ecx
call dword [0x4944a8]
add esp, 8
mov eax, ebx
pop ebx
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0045d571
mov esp, ebp
pop ebp
ret
lea edx, [ebp - 0x258]
push edx
call fcn.00416750
mov eax, dword [ebp - 0x250]
push eax
call dword [0x4944a8]
add esp, 8
mov eax, ebx
pop ebx
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0045d571
mov esp, ebp
pop ebp
ret
test ebx, ebx
je 0x41721a
lea ecx, [ebp - 0x258]
push ecx
call fcn.00416750
mov edx, dword [ebp - 0x250]
push edx
call dword [0x4944a8]
add esp, 8
mov eax, ebx
pop ebx
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0045d571
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.004166f0
mov esi, eax
add esp, 0xc
test esi, esi
je 0x41726a
lea ecx, [ebp - 0x258]
push ecx
call fcn.00416750
push edi
call dword [0x4944a8]
add esp, 8
pop ebx
pop edi
mov eax, esi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0045d571
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 [0x4944a8]
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.0045d571
mov esp, ebp
pop ebp
ret