Function at 0x42ad50
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x26c
mov eax, dword [0x4594d4]
xor eax, esp
mov dword [esp + 0x268], eax
mov eax, dword [ebp + 8]
push ebx
push esi
mov esi, dword [ebp + 0xc]
push edi
xor edi, edi
mov dword [esp + 0x30], ecx
mov dword [esp + 0x24], eax
mov dword [esp + 0x34], edx
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], edi
mov dword [esp + 0x2c], edi
mov dword [ecx], edi
cmp eax, edi
jne 0x42adae
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x268]
xor ecx, esp
call fcn.0042bbc1
mov esp, ebp
pop ebp
ret
call fcn.0042b650
mov dword [esp + 0x18], eax
cmp eax, edi
jne 0x42add5
mov eax, 0x1b
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x268]
xor ecx, esp
call fcn.0042bbc1
mov esp, ebp
pop ebp
ret
cmp esi, edi
jne 0x42adde
mov esi, str.Content_Type:_multipart_form_data
push eax
push esi
push str._s__boundary_s_r_n
push edi
lea ebx, [esp + 0x1c]
call fcn.0042ab70
mov esi, eax
add esp, 0x10
test esi, esi
je 0x42ae1d
mov eax, dword [esp + 0x18]
push eax
call dword [0x45a1ac]
mov eax, esi
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x268]
xor ecx, esp
call fcn.0042bbc1
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x20], ecx
or edi, dword [esp + 0x14]
je 0x42ae4b
lea edx, [esp + 0x10]
push 0x450da8
push edx
lea ebx, [esp + 0x14]
call fcn.0042ab70
mov edi, eax
add esp, 8
test edi, edi
jne 0x42b3d8
mov eax, dword [esp + 0x18]
push eax
lea ecx, [esp + 0x14]
push str.___s_r_n
push ecx
lea ebx, [esp + 0x18]
call fcn.0042ab70
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x42b3d8
lea edx, [esp + 0x10]
push str.Content_Disposition:_form_data__name_
push edx
call fcn.0042ab70
mov edi, eax
add esp, 8
test edi, edi
jne 0x42b3d8
lea eax, [esp + 0x10]
push eax
mov ecx, ebx
push edi
push ecx
mov ecx, dword [esp + 0x30]
mov eax, dword [ecx + 8]
mov ecx, dword [ecx + 4]
call fcn.0042aa70
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x42b3d8
lea edx, [esp + 0x10]
push 0x453f38
push edx
call fcn.0042ab70
mov edi, eax
add esp, 8
test edi, edi
jne 0x42b3d8
mov eax, dword [esp + 0x24]
cmp dword [eax + 0x24], edi
je 0x42aefc
call fcn.0042b650
push eax
lea ecx, [esp + 0x14]
push str._r_nContent_Type:_multipart_mixed__boundary_s_r_n
push ecx
mov dword [esp + 0x38], eax
call fcn.0042ab70
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x42b3d8
mov edx, dword [esp + 0x24]
mov dword [esp + 0x1c], edx
mov ebx, dword [esp + 0x24]
cmp dword [ebx + 0x24], 0
je 0x42afae
mov eax, dword [esp + 0x1c]
xor esi, esi
cmp dword [eax + 0x2c], esi
jne 0x42af87
mov eax, dword [eax + 0xc]
push eax
call dword [0x45a1b4]
mov edi, eax
add esp, 4
test edi, edi
je 0x42b3a3
push 0x2f
push edi
mov esi, edi
call fcn.0042e550
push 0x5c
push edi
mov ebx, eax
call fcn.0042e550
add esp, 0x10
test ebx, ebx
je 0x42af5e
test eax, eax
je 0x42af59
cmp ebx, eax
ja 0x42af59
mov ebx, eax
lea esi, [ebx + 1]
jmp 0x42af65
test eax, eax
je 0x42af65
lea esi, [eax + 1]
push esi
call dword [0x45a1b4]
add esp, 4
push edi
mov esi, eax
call dword [0x45a1ac]
add esp, 4
test esi, esi
je 0x42b3a3
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x2c]
test eax, eax
jne 0x42af90
mov eax, esi
push eax
mov eax, dword [esp + 0x30]
push eax
lea ecx, [esp + 0x18]
push str._r_n___s_r_nContent_Disposition:_attachment__filename__s_
push ecx
lea ebx, [esp + 0x1c]
call fcn.0042ab70
add esp, 0x10
jmp 0x42afea
test byte [ebx + 0x28], 0x51
je 0x42b002
cmp dword [ebx + 0x2c], 0
jne 0x42afc6
mov eax, dword [ebx + 0xc]
call fcn.0042ace0
mov esi, eax
jmp 0x42afc8
xor esi, esi
mov ebx, dword [ebx + 0x2c]
mov eax, ebx
test ebx, ebx
jne 0x42afd3
mov eax, esi
push eax
lea edx, [esp + 0x14]
push str.__filename__s_
push edx
lea ebx, [esp + 0x18]
call fcn.0042ab70
add esp, 0xc
mov edi, eax
test esi, esi
je 0x42affa
push esi
call dword [0x45a1ac]
add esp, 4
test edi, edi
jne 0x42b0c7
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x1c]
test eax, eax
je 0x42b02e
push eax
lea ecx, [esp + 0x14]
push str._r_nContent_Type:__s
push ecx
lea ebx, [esp + 0x18]
call fcn.0042ab70
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x42b0c7
mov edx, dword [esp + 0x1c]
mov esi, dword [edx + 0x20]
test esi, esi
je 0x42b06c
lea esp, [esp]
mov eax, dword [esi]
push eax
lea ecx, [esp + 0x14]
push str._r_n_s
push ecx
lea ebx, [esp + 0x18]
call fcn.0042ab70
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x42b3d8
mov esi, dword [esi + 4]
test esi, esi
jne 0x42b040
jmp 0x42b074
test edi, edi
jne 0x42b3d8
lea edx, [esp + 0x10]
push str._r_n_r_n
push edx
lea ebx, [esp + 0x14]
call fcn.0042ab70
mov edi, eax
add esp, 8
test edi, edi
jne 0x42b0c7
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x28]
test al, 3
jne 0x42b154
test al, 0x10
je 0x42b0f9
lea eax, [esp + 0x10]
push eax
mov eax, dword [ecx + 0x18]
mov ecx, dword [ecx + 0x14]
lea edx, [esp + 0x10]
push 1
push edx
call fcn.0042aa70
mov edi, eax
add esp, 0xc
test edi, edi
je 0x42b2f4
lea ecx, [esp + 0x20]
push ecx
call fcn.0042aca0
mov edx, dword [esp + 0x1c]
add esp, 4
push edx
call dword [0x45a1ac]
mov eax, edi
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x268]
xor ecx, esp
call fcn.0042bbc1
mov esp, ebp
pop ebp
ret
test al, 0x40
je 0x42b144
mov edi, dword [ecx + 0x10]
mov esi, dword [ecx + 0x30]
push 0x10
call dword [0x45a1a8]
add esp, 4
test eax, eax
je 0x42b35a
mov ecx, dword [esp + 0xc]
mov dword [eax], 0
mov dword [eax + 8], esi
mov dword [eax + 4], 2
mov dword [esp + 0xc], eax
test ecx, ecx
je 0x42b134
mov dword [ecx], eax
add dword [esp + 0x10], edi
adc dword [esp + 0x14], 0
xor edi, edi
jmp 0x42b2f4
lea eax, [esp + 0x10]
push eax
mov eax, dword [ecx + 0x10]
mov ecx, dword [ecx + 0xc]
jmp 0x42b0ae
mov esi, dword [esp + 0x1c]
mov eax, dword [esi + 0xc]
push eax
push 0x451490
call fcn.00440e00
add esp, 8
test eax, eax
jne 0x42b17a
call fcn.0042e196
mov esi, eax
mov dword [esp + 0x28], esi
jmp 0x42b191
mov eax, dword [esi + 0xc]
push 0x453fd8
push eax
call fcn.0042f31a
add esp, 8
mov esi, eax
mov dword [esp + 0x28], eax
test esi, esi
je 0x42b499
call fcn.0042e196
cmp esi, eax
je 0x42b22e
mov ecx, dword [esp + 0x28]
push ecx
call fcn.0042c900
mov edx, dword [esp + 0x20]
mov edi, dword [edx + 0xc]
add esp, 4
push 0x10
call dword [0x45a1a8]
mov esi, eax
add esp, 4
test esi, esi
je 0x42b36e
mov eax, dword [esp + 0xc]
mov dword [esi], 0
mov dword [esi + 8], edi
mov dword [esi + 4], 3
mov dword [esp + 0xc], esi
test eax, eax
je 0x42b1ed
mov dword [eax], esi
mov eax, dword [esi + 8]
push eax
push 0x451490
call fcn.00440e00
add esp, 8
test eax, eax
je 0x42b227
mov ecx, dword [esi + 8]
lea eax, [esp + 0x38]
push eax
push ecx
call fcn.0042fcd2
add esp, 8
test eax, eax
jne 0x42b227
mov edx, dword [esp + 0x50]
add dword [esp + 0x10], edx
mov eax, dword [esp + 0x54]
adc dword [esp + 0x14], eax
xor edi, edi
jmp 0x42b2f4
push esi
push 0x200
lea ecx, [esp + 0x78]
push 1
push ecx
call fcn.0042d538
mov ebx, eax
add esp, 0x10
test ebx, ebx
je 0x42b2f4
xor edi, edi
nop
push 0x10
call dword [0x45a1a8]
mov esi, eax
add esp, 4
test esi, esi
je 0x42b36e
mov dword [esi], 0
test ebx, ebx
jne 0x42b27f
lea ebx, [esp + 0x70]
lea ecx, [ebx + 1]
mov al, byte [ebx]
inc ebx
test al, al
jne 0x42b276
sub ebx, ecx
lea edx, [ebx + 1]
push edx
call dword [0x45a1a8]
add esp, 4
mov dword [esi + 8], eax
test eax, eax
je 0x42b364
push ebx
lea ecx, [esp + 0x74]
push ecx
push eax
call fcn.004315f0
mov edx, dword [esi + 8]
add esp, 0xc
cmp dword [esp + 0xc], 0
mov dword [esi + 0xc], ebx
mov byte [ebx + edx], 0
mov dword [esi + 4], 1
je 0x42b2c4
mov eax, dword [esp + 0xc]
mov dword [eax], esi
mov ecx, dword [esp + 0x28]
add dword [esp + 0x10], ebx
push ecx
push 0x200
adc dword [esp + 0x1c], 0
lea edx, [esp + 0x78]
push 1
push edx
mov dword [esp + 0x1c], esi
call fcn.0042d538
mov ebx, eax
add esp, 0x10
test ebx, ebx
jne 0x42b250
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x24]
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x42af04
mov ecx, dword [esp + 0x24]
cmp dword [ecx + 0x24], eax
je 0x42b33f
mov esi, dword [esp + 0x2c]
push esi
lea edx, [esp + 0x14]
push str._r_n___s__
push edx
lea ebx, [esp + 0x18]
call fcn.0042ab70
add esp, 0xc
push esi
mov edi, eax
call dword [0x45a1ac]
add esp, 4
test edi, edi
jne 0x42b3d8
mov eax, dword [esp + 0x24]
mov eax, dword [eax]
mov dword [esp + 0x24], eax
test eax, eax
je 0x42b40a
mov edi, dword [esp + 0x10]
jmp 0x42ae25
mov edi, 0x1b
jmp 0x42b0c7
push esi
call dword [0x45a1ac]
add esp, 4
lea edx, [esp + 0x20]
push edx
call fcn.0042aca0
mov eax, dword [esp + 0x1c]
add esp, 4
push eax
call dword [0x45a1ac]
mov eax, 0x1b
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x268]
xor ecx, esp
call fcn.0042bbc1
mov esp, ebp
pop ebp
ret
lea ecx, [esp + 0x20]
push ecx
call fcn.0042aca0
mov edx, dword [esp + 0x1c]
add esp, 4
push edx
call dword [0x45a1ac]
mov eax, 0x1b
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x268]
xor ecx, esp
call fcn.0042bbc1
mov esp, ebp
pop ebp
ret
lea eax, [esp + 0x20]
push eax
call fcn.0042aca0
mov ecx, dword [esp + 0x1c]
add esp, 4
push ecx
call dword [0x45a1ac]
mov eax, edi
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x268]
xor ecx, esp
call fcn.0042bbc1
mov esp, ebp
pop ebp
ret
test edi, edi
jne 0x42b3d8
mov edi, dword [esp + 0x18]
push edi
lea edx, [esp + 0x14]
push str._r_n___s___r_n
push edx
lea ebx, [esp + 0x18]
call fcn.0042ab70
mov esi, eax
add esp, 0xc
test esi, esi
je 0x42b45d
lea eax, [esp + 0x20]
push eax
call fcn.0042aca0
add esp, 4
push edi
call dword [0x45a1ac]
mov eax, esi
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x268]
xor ecx, esp
call fcn.0042bbc1
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
push edi
mov dword [eax], ecx
mov dword [eax + 4], edx
call dword [0x45a1ac]
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x34]
mov dword [ecx], eax
mov eax, esi
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x268]
xor ecx, esp
call fcn.0042bbc1
mov esp, ebp
pop ebp
ret
lea edx, [esp + 0x20]
push edx
call fcn.0042aca0
mov eax, dword [esp + 0x1c]
add esp, 4
push eax
call dword [0x45a1ac]
mov ecx, dword [esp + 0x34]
add esp, 4
pop edi
mov dword [ecx], 0
mov ecx, dword [esp + 0x270]
pop esi
pop ebx
xor ecx, esp
mov eax, 0x1a
call fcn.0042bbc1
mov esp, ebp
pop ebp
ret