Function at 0x490fc0
Capabilities:
Read file on windows

Disassembly:
sub esp, 0x264
mov eax, dword [0x5b0630]
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 0x49102f
pop edi
xor eax, eax
pop esi
mov ecx, dword [esp + 0x260]
xor ecx, esp
call fcn.00523c2c
add esp, 0x264
ret
push ebp
call fcn.00490f50
mov ebp, eax
mov dword [esp + 0x18], ebp
cmp ebp, edi
jne 0x49105c
pop ebp
pop edi
mov eax, 0x1b
pop esi
mov ecx, dword [esp + 0x260]
xor ecx, esp
call fcn.00523c2c
add esp, 0x264
ret
cmp esi, edi
jne 0x491065
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.00490b60
mov esi, eax
add esp, 0x10
test esi, esi
je 0x491093
push ebp
call dword [0x5a198c]
add esp, 4
mov eax, esi
jmp 0x4916bd
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x24], ecx
jmp 0x4910a0
or edi, dword [esp + 0x18]
je 0x4910ca
lea edx, [esp + 0x10]
push 0x55e664
push edx
lea ebx, [esp + 0x1c]
call fcn.00490b60
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x491617
mov ebp, dword [esp + 0x1c]
push ebp
lea eax, [esp + 0x14]
push str.___s_r_n
push eax
lea ebx, [esp + 0x20]
call fcn.00490b60
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x491617
lea ecx, [esp + 0x10]
push str.Content_Disposition:_form_data__name_
push ecx
lea ebx, [esp + 0x1c]
call fcn.00490b60
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x491617
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.00490a60
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x491617
lea ecx, [esp + 0x10]
push 0x58fb2c
push ecx
lea ebx, [esp + 0x1c]
call fcn.00490b60
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x491617
mov edx, dword [esp + 0x20]
cmp dword [edx + 0x24], eax
je 0x491185
call fcn.00490f50
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.00490b60
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x491617
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x28], ecx
lea ecx, [ecx]
mov edi, dword [esp + 0x20]
cmp dword [edi + 0x24], 0
je 0x491269
mov ebp, dword [esp + 0x28]
xor esi, esi
cmp dword [ebp + 0x2c], esi
jne 0x491214
mov eax, dword [ebp + 0xc]
push eax
call dword [0x5a1994]
mov esi, eax
add esp, 4
test esi, esi
je 0x4915f8
push 0x2f
push esi
mov ebx, esi
call fcn.0052b440
push 0x5c
push esi
mov edi, eax
call fcn.0052b440
add esp, 0x10
test edi, edi
je 0x4911ec
test eax, eax
je 0x4911e7
cmp edi, eax
jbe 0x4911f0
mov eax, edi
jmp 0x4911f0
lea ebx, [edi + 1]
jmp 0x4911f3
test eax, eax
je 0x4911f3
lea ebx, [eax + 1]
push ebx
call dword [0x5a1994]
push esi
mov edi, eax
call dword [0x5a198c]
add esp, 8
mov esi, edi
test edi, edi
je 0x4915f8
mov edi, dword [esp + 0x20]
mov eax, dword [ebp + 0x2c]
test eax, eax
jne 0x49121d
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.00490b60
add esp, 0x10
mov ebx, eax
test esi, esi
je 0x491249
push esi
call dword [0x5a198c]
add esp, 4
test ebx, ebx
je 0x4912bb
lea ecx, [esp + 0x24]
push ecx
call fcn.00490c70
mov edx, dword [esp + 0x20]
push edx
call dword [0x5a198c]
mov eax, ebx
jmp 0x4916ba
test byte [edi + 0x28], 0x51
je 0x4912b7
cmp dword [edi + 0x2c], 0
jne 0x491281
mov eax, dword [edi + 0xc]
call fcn.00490d40
mov esi, eax
jmp 0x491283
xor esi, esi
mov eax, dword [edi + 0x2c]
test eax, eax
jne 0x49128c
mov eax, esi
push eax
lea ecx, [esp + 0x14]
push str.__filename__s_
push ecx
lea ebx, [esp + 0x20]
call fcn.00490b60
add esp, 0xc
mov ebx, eax
test esi, esi
je 0x4912b3
push esi
call dword [0x5a198c]
add esp, 4
test ebx, ebx
jne 0x49124d
mov ebp, dword [esp + 0x28]
mov eax, dword [ebp + 0x1c]
test eax, eax
je 0x4912e3
push eax
lea edx, [esp + 0x14]
push str._r_nContent_Type:__s
push edx
lea ebx, [esp + 0x20]
call fcn.00490b60
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x49124d
mov esi, dword [ebp + 0x20]
test esi, esi
je 0x49131c
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.00490b60
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x491617
mov esi, dword [esi + 4]
test esi, esi
jne 0x4912f0
jmp 0x491324
test ebx, ebx
jne 0x491617
lea edx, [esp + 0x10]
push str._r_n_r_n
push edx
lea ebx, [esp + 0x1c]
call fcn.00490b60
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x49124d
mov eax, dword [edi + 0x28]
test al, 3
jne 0x4913da
test al, 0x10
je 0x49137c
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.00490a60
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x49124d
jmp 0x49156a
test al, 0x40
je 0x4913c6
mov eax, dword [esp + 0x20]
mov edi, dword [eax + 0x10]
mov esi, dword [eax + 0x30]
push 0x10
call dword [0x5a1988]
xor ebx, ebx
add esp, 4
cmp eax, ebx
je 0x4915c5
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 0x4913b9
mov dword [ecx], eax
add dword [esp + 0x14], edi
adc dword [esp + 0x18], ebx
jmp 0x49156a
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 0x491365
mov ecx, dword [ebp + 0xc]
push ecx
push 0x55e558
call fcn.0049f160
add esp, 8
test eax, eax
je 0x4913f6
call fcn.0052a9b3
jmp 0x49140b
mov edx, dword [esp + 0x28]
mov eax, dword [edx + 0xc]
push 0x55e55c
push eax
call fcn.0052ba0d
add esp, 8
mov ebp, eax
test ebp, ebp
je 0x491696
call fcn.0052a9b3
push ebp
cmp ebp, eax
je 0x4914a3
call fcn.00529a3e
mov ecx, dword [esp + 0x2c]
mov edi, dword [ecx + 0xc]
push 0x10
call dword [0x5a1988]
mov esi, eax
add esp, 8
test esi, esi
je 0x4915d9
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 0x491462
mov dword [eax], esi
mov edx, dword [esi + 8]
push edx
push 0x55e558
call fcn.0049f160
add esp, 8
test eax, eax
jne 0x49149c
mov ecx, dword [esi + 8]
lea eax, [esp + 0x38]
push eax
push ecx
call fcn.0052b4f3
add esp, 8
test eax, eax
jne 0x49149c
mov edx, dword [esp + 0x50]
add dword [esp + 0x14], edx
mov eax, dword [esp + 0x54]
adc dword [esp + 0x18], eax
xor ebx, ebx
jmp 0x49156a
push 0x200
lea ecx, [esp + 0x78]
push 1
push ecx
call fcn.005299aa
mov edi, eax
add esp, 0x10
test edi, edi
je 0x49156a
xor ebx, ebx
push 0x10
call dword [0x5a1988]
mov esi, eax
add esp, 4
test esi, esi
je 0x4915d9
mov dword [esi], 0
test edi, edi
jne 0x4914f9
lea edi, [esp + 0x70]
lea ecx, [edi + 1]
lea esp, [esp]
mov al, byte [edi]
inc edi
test al, al
jne 0x4914f0
sub edi, ecx
lea edx, [edi + 1]
push edx
call dword [0x5a1988]
add esp, 4
mov dword [esi + 8], eax
test eax, eax
je 0x4915cf
push edi
lea ecx, [esp + 0x74]
push ecx
push eax
call fcn.00524660
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 0x49153e
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.005299aa
mov edi, eax
add esp, 0x10
test edi, edi
jne 0x4914c3
mov edx, dword [esp + 0x28]
mov eax, dword [edx + 0x24]
mov dword [esp + 0x28], eax
test eax, eax
jne 0x491190
mov edi, dword [esp + 0x20]
cmp dword [edi + 0x24], eax
je 0x4915ae
mov esi, dword [esp + 0x2c]
push esi
lea eax, [esp + 0x14]
push str._r_n___s__
push eax
lea ebx, [esp + 0x20]
call fcn.00490b60
push esi
mov ebx, eax
call dword [0x5a198c]
add esp, 0x10
test ebx, ebx
jne 0x491617
mov eax, dword [edi]
mov dword [esp + 0x20], eax
test eax, eax
je 0x491633
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
jmp 0x4910a0
mov ebx, 0x1b
jmp 0x49124d
push esi
call dword [0x5a198c]
add esp, 4
lea edx, [esp + 0x24]
push edx
call fcn.00490c70
mov eax, dword [esp + 0x20]
push eax
call dword [0x5a198c]
mov eax, 0x1b
jmp 0x4916ba
lea ecx, [esp + 0x24]
push ecx
call fcn.00490c70
mov edx, dword [esp + 0x20]
push edx
call dword [0x5a198c]
mov eax, 0x1b
jmp 0x4916ba
lea eax, [esp + 0x24]
push eax
call fcn.00490c70
mov ecx, dword [esp + 0x20]
push ecx
call dword [0x5a198c]
mov eax, ebx
jmp 0x4916ba
test ebx, ebx
jne 0x491617
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.00490b60
mov esi, eax
add esp, 0xc
test esi, esi
je 0x49166d
lea eax, [esp + 0x24]
push eax
call fcn.00490c70
push edi
call dword [0x5a198c]
mov eax, esi
jmp 0x4916ba
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 [0x5a198c]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x34]
mov dword [ecx], eax
add esp, 4
mov eax, esi
jmp 0x4916bd
lea edx, [esp + 0x24]
push edx
call fcn.00490c70
mov eax, dword [esp + 0x20]
push eax
call dword [0x5a198c]
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.00523c2c
add esp, 0x264
ret