Function at 0x462050
Capabilities:
Read file on windows

Disassembly:
sub esp, 0x264
mov eax, dword [0x5af640]
xor eax, esp
mov dword [esp + 0x260], eax
mov eax, dword [esp + 0x26c]
mov ecx, dword [esp + 0x268]
mov edx, dword [esp + 0x274]
push esi
mov esi, dword [esp + 0x274]
push edi
xor edi, edi
mov dword [esp + 0x28], ecx
mov dword [esp + 0x18], eax
mov dword [esp + 0x2c], edx
mov dword [esp + 8], edi
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], edi
mov dword [esp + 0x24], edi
mov dword [ecx], edi
cmp eax, edi
jne 0x4620bf
pop edi
xor eax, eax
pop esi
mov ecx, dword [esp + 0x260]
xor ecx, esp
call fcn.00522f5c
add esp, 0x264
ret
push ebp
call fcn.00461fe0
mov ebp, eax
mov dword [esp + 0x18], ebp
cmp ebp, edi
jne 0x4620ec
pop ebp
pop edi
mov eax, 0x1b
pop esi
mov ecx, dword [esp + 0x260]
xor ecx, esp
call fcn.00522f5c
add esp, 0x264
ret
cmp esi, edi
jne 0x4620f5
mov esi, str.Content_Type:_multipart_form_data
push ebx
push ebp
push esi
lea eax, [esp + 0x18]
push str._s__boundary_s_r_n
push eax
xor ebx, ebx
call fcn.00461c80
mov esi, eax
add esp, 0x10
test esi, esi
je 0x462123
push ebp
call dword [0x59fe04]
add esp, 4
mov eax, esi
jmp 0x46274d
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x24], ecx
jmp 0x462130
or edi, dword [esp + 0x18]
je 0x46215a
lea edx, [esp + 0x10]
push 0x555db0
push edx
lea ebx, [esp + 0x1c]
call fcn.00461c80
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x4626a7
mov ebp, dword [esp + 0x1c]
push ebp
lea eax, [esp + 0x14]
push str.___s_r_n
push eax
lea ebx, [esp + 0x20]
call fcn.00461c80
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x4626a7
lea ecx, [esp + 0x10]
push str.Content_Disposition:_form_data__name_
push ecx
lea ebx, [esp + 0x1c]
call fcn.00461c80
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x4626a7
mov ecx, dword [esp + 0x20]
mov ebx, dword [ecx + 4]
lea edx, [esp + 0x14]
push edx
push eax
lea eax, [esp + 0x18]
push eax
mov eax, dword [ecx + 8]
call fcn.00461b80
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x4626a7
lea ecx, [esp + 0x10]
push 0x58ec3c
push ecx
lea ebx, [esp + 0x1c]
call fcn.00461c80
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x4626a7
mov edx, dword [esp + 0x20]
cmp dword [edx + 0x24], eax
je 0x462215
call fcn.00461fe0
push eax
mov dword [esp + 0x30], eax
lea eax, [esp + 0x14]
push str._r_nContent_Type:_multipart_mixed__boundary_s_r_n
push eax
lea ebx, [esp + 0x20]
call fcn.00461c80
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x4626a7
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x28], ecx
lea ecx, [ecx]
mov edi, dword [esp + 0x20]
cmp dword [edi + 0x24], 0
je 0x4622f9
mov ebp, dword [esp + 0x28]
xor esi, esi
cmp dword [ebp + 0x2c], esi
jne 0x4622a4
mov eax, dword [ebp + 0xc]
push eax
call dword [0x59fe0c]
mov esi, eax
add esp, 4
test esi, esi
je 0x462688
push 0x2f
push esi
mov ebx, esi
call fcn.00529cd0
push 0x5c
push esi
mov edi, eax
call fcn.00529cd0
add esp, 0x10
test edi, edi
je 0x46227c
test eax, eax
je 0x462277
cmp edi, eax
jbe 0x462280
mov eax, edi
jmp 0x462280
lea ebx, [edi + 1]
jmp 0x462283
test eax, eax
je 0x462283
lea ebx, [eax + 1]
push ebx
call dword [0x59fe0c]
push esi
mov edi, eax
call dword [0x59fe04]
add esp, 8
mov esi, edi
test edi, edi
je 0x462688
mov edi, dword [esp + 0x20]
mov eax, dword [ebp + 0x2c]
test eax, eax
jne 0x4622ad
mov eax, esi
mov edx, dword [esp + 0x2c]
push eax
push edx
lea eax, [esp + 0x18]
push str._r_n___s_r_nContent_Disposition:_attachment__filename__s_
push eax
lea ebx, [esp + 0x24]
call fcn.00461c80
add esp, 0x10
mov ebx, eax
test esi, esi
je 0x4622d9
push esi
call dword [0x59fe04]
add esp, 4
test ebx, ebx
je 0x46234b
lea ecx, [esp + 0x24]
push ecx
call fcn.00461d90
mov edx, dword [esp + 0x20]
push edx
call dword [0x59fe04]
mov eax, ebx
jmp 0x46274a
test byte [edi + 0x28], 0x51
je 0x462347
cmp dword [edi + 0x2c], 0
jne 0x462311
mov eax, dword [edi + 0xc]
call fcn.00461dd0
mov esi, eax
jmp 0x462313
xor esi, esi
mov eax, dword [edi + 0x2c]
test eax, eax
jne 0x46231c
mov eax, esi
push eax
lea ecx, [esp + 0x14]
push str.__filename__s_
push ecx
lea ebx, [esp + 0x20]
call fcn.00461c80
add esp, 0xc
mov ebx, eax
test esi, esi
je 0x462343
push esi
call dword [0x59fe04]
add esp, 4
test ebx, ebx
jne 0x4622dd
mov ebp, dword [esp + 0x28]
mov eax, dword [ebp + 0x1c]
test eax, eax
je 0x462373
push eax
lea edx, [esp + 0x14]
push str._r_nContent_Type:__s
push edx
lea ebx, [esp + 0x20]
call fcn.00461c80
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x4622dd
mov esi, dword [ebp + 0x20]
test esi, esi
je 0x4623ac
lea ebx, [ebx]
mov eax, dword [esi]
push eax
lea ecx, [esp + 0x14]
push str._r_n_s
push ecx
lea ebx, [esp + 0x20]
call fcn.00461c80
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x4626a7
mov esi, dword [esi + 4]
test esi, esi
jne 0x462380
jmp 0x4623b4
test ebx, ebx
jne 0x4626a7
lea edx, [esp + 0x10]
push str._r_n_r_n
push edx
lea ebx, [esp + 0x1c]
call fcn.00461c80
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x4622dd
mov eax, dword [edi + 0x28]
test al, 3
jne 0x46246a
test al, 0x10
je 0x46240c
mov ebx, dword [edi + 0x14]
lea eax, [esp + 0x14]
push eax
mov eax, dword [edi + 0x18]
push 1
lea ecx, [esp + 0x18]
push ecx
call fcn.00461b80
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x4622dd
jmp 0x4625fa
test al, 0x40
je 0x462456
mov eax, dword [esp + 0x20]
mov edi, dword [eax + 0x10]
mov esi, dword [eax + 0x30]
push 0x10
call dword [0x59fe00]
xor ebx, ebx
add esp, 4
cmp eax, ebx
je 0x462655
mov ecx, dword [esp + 0x10]
mov dword [eax], ebx
mov dword [eax + 8], esi
mov dword [eax + 4], 2
mov dword [esp + 0x10], eax
cmp ecx, ebx
je 0x462449
mov dword [ecx], eax
add dword [esp + 0x14], edi
adc dword [esp + 0x18], ebx
jmp 0x4625fa
mov ebx, dword [edi + 0xc]
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x14]
push 1
push eax
mov eax, dword [edi + 0x10]
jmp 0x4623f5
mov ecx, dword [ebp + 0xc]
push ecx
push 0x555ca4
call fcn.004701f0
add esp, 8
test eax, eax
je 0x462486
call fcn.00528d43
jmp 0x46249b
mov edx, dword [esp + 0x28]
mov eax, dword [edx + 0xc]
push 0x555ca8
push eax
call fcn.0052a223
add esp, 8
mov ebp, eax
test ebp, ebp
je 0x462726
call fcn.00528d43
push ebp
cmp ebp, eax
je 0x462533
call fcn.00527dd5
mov ecx, dword [esp + 0x2c]
mov edi, dword [ecx + 0xc]
push 0x10
call dword [0x59fe00]
mov esi, eax
add esp, 8
test esi, esi
je 0x462669
mov eax, dword [esp + 0x10]
mov dword [esi], 0
mov dword [esi + 8], edi
mov dword [esi + 4], 3
mov dword [esp + 0x10], esi
test eax, eax
je 0x4624f2
mov dword [eax], esi
mov edx, dword [esi + 8]
push edx
push 0x555ca4
call fcn.004701f0
add esp, 8
test eax, eax
jne 0x46252c
mov ecx, dword [esi + 8]
lea eax, [esp + 0x38]
push eax
push ecx
call fcn.00529d09
add esp, 8
test eax, eax
jne 0x46252c
mov edx, dword [esp + 0x50]
add dword [esp + 0x14], edx
mov eax, dword [esp + 0x54]
adc dword [esp + 0x18], eax
xor ebx, ebx
jmp 0x4625fa
push 0x200
lea ecx, [esp + 0x78]
push 1
push ecx
call fcn.00527d41
mov edi, eax
add esp, 0x10
test edi, edi
je 0x4625fa
xor ebx, ebx
push 0x10
call dword [0x59fe00]
mov esi, eax
add esp, 4
test esi, esi
je 0x462669
mov dword [esi], 0
test edi, edi
jne 0x462589
lea edi, [esp + 0x70]
lea ecx, [edi + 1]
lea esp, [esp]
mov al, byte [edi]
inc edi
test al, al
jne 0x462580
sub edi, ecx
lea edx, [edi + 1]
push edx
call dword [0x59fe00]
add esp, 4
mov dword [esi + 8], eax
test eax, eax
je 0x46265f
push edi
lea ecx, [esp + 0x74]
push ecx
push eax
call fcn.00523990
mov edx, dword [esi + 8]
add esp, 0xc
cmp dword [esp + 0x10], 0
mov dword [esi + 0xc], edi
mov byte [edi + edx], 0
mov dword [esi + 4], 1
je 0x4625ce
mov eax, dword [esp + 0x10]
mov dword [eax], esi
add dword [esp + 0x14], edi
push ebp
push 0x200
adc dword [esp + 0x20], 0
lea ecx, [esp + 0x78]
push 1
push ecx
mov dword [esp + 0x20], esi
call fcn.00527d41
mov edi, eax
add esp, 0x10
test edi, edi
jne 0x462553
mov edx, dword [esp + 0x28]
mov eax, dword [edx + 0x24]
mov dword [esp + 0x28], eax
test eax, eax
jne 0x462220
mov edi, dword [esp + 0x20]
cmp dword [edi + 0x24], eax
je 0x46263e
mov esi, dword [esp + 0x2c]
push esi
lea eax, [esp + 0x14]
push str._r_n___s__
push eax
lea ebx, [esp + 0x20]
call fcn.00461c80
push esi
mov ebx, eax
call dword [0x59fe04]
add esp, 0x10
test ebx, ebx
jne 0x4626a7
mov eax, dword [edi]
mov dword [esp + 0x20], eax
test eax, eax
je 0x4626c3
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
jmp 0x462130
mov ebx, 0x1b
jmp 0x4622dd
push esi
call dword [0x59fe04]
add esp, 4
lea edx, [esp + 0x24]
push edx
call fcn.00461d90
mov eax, dword [esp + 0x20]
push eax
call dword [0x59fe04]
mov eax, 0x1b
jmp 0x46274a
lea ecx, [esp + 0x24]
push ecx
call fcn.00461d90
mov edx, dword [esp + 0x20]
push edx
call dword [0x59fe04]
mov eax, 0x1b
jmp 0x46274a
lea eax, [esp + 0x24]
push eax
call fcn.00461d90
mov ecx, dword [esp + 0x20]
push ecx
call dword [0x59fe04]
mov eax, ebx
jmp 0x46274a
test ebx, ebx
jne 0x4626a7
mov edi, dword [esp + 0x1c]
push edi
lea edx, [esp + 0x14]
push str._r_n___s___r_n
push edx
lea ebx, [esp + 0x20]
call fcn.00461c80
mov esi, eax
add esp, 0xc
test esi, esi
je 0x4626fd
lea eax, [esp + 0x24]
push eax
call fcn.00461d90
push edi
call dword [0x59fe04]
mov eax, esi
jmp 0x46274a
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
push edi
mov dword [eax], ecx
mov dword [eax + 4], edx
call dword [0x59fe04]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x34]
mov dword [ecx], eax
add esp, 4
mov eax, esi
jmp 0x46274d
lea edx, [esp + 0x24]
push edx
call fcn.00461d90
mov eax, dword [esp + 0x20]
push eax
call dword [0x59fe04]
mov ecx, dword [esp + 0x38]
mov dword [ecx], 0
mov eax, 0x1a
add esp, 8
mov ecx, dword [esp + 0x270]
pop ebx
pop ebp
pop edi
pop esi
xor ecx, esp
call fcn.00522f5c
add esp, 0x264
ret