Function at 0x10137a80
Capabilities:
Read file on windows

Disassembly:
sub esp, 0x25c
mov eax, dword [0x101c3584]
xor eax, esp
mov dword [esp + 0x258], eax
mov eax, dword [esp + 0x264]
mov ecx, dword [esp + 0x260]
mov edx, dword [esp + 0x26c]
push esi
mov esi, dword [esp + 0x26c]
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 0x10137aef
pop edi
xor eax, eax
pop esi
mov ecx, dword [esp + 0x258]
xor ecx, esp
call fcn.1013d581
add esp, 0x25c
ret
push ebp
call fcn.10137a10
mov ebp, eax
mov dword [esp + 0x18], ebp
cmp ebp, edi
jne 0x10137b1c
pop ebp
pop edi
mov eax, 0x1b
pop esi
mov ecx, dword [esp + 0x258]
xor ecx, esp
call fcn.1013d581
add esp, 0x25c
ret
cmp esi, edi
jne 0x10137b25
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.101376b0
mov esi, eax
add esp, 0x10
test esi, esi
je 0x10137b53
push ebp
call dword [0x101c2cac]
add esp, 4
mov eax, esi
jmp 0x10138173
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x24], ecx
jmp 0x10137b60
or edi, dword [esp + 0x18]
je 0x10137b8a
lea edx, [esp + 0x10]
push 0x101a70e0
push edx
lea ebx, [esp + 0x1c]
call fcn.101376b0
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x101380cd
mov ebp, dword [esp + 0x1c]
push ebp
lea eax, [esp + 0x14]
push str.___s_r_n
push eax
lea ebx, [esp + 0x20]
call fcn.101376b0
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x101380cd
lea ecx, [esp + 0x10]
push str.Content_Disposition:_form_data__name_
push ecx
lea ebx, [esp + 0x1c]
call fcn.101376b0
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x101380cd
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.101375c0
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x101380cd
lea ecx, [esp + 0x10]
push 0x101a546c
push ecx
lea ebx, [esp + 0x1c]
call fcn.101376b0
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x101380cd
mov edx, dword [esp + 0x20]
cmp dword [edx + 0x24], eax
je 0x10137c45
call fcn.10137a10
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.101376b0
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x101380cd
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x28], ecx
lea ecx, [ecx]
mov edi, dword [esp + 0x20]
cmp dword [edi + 0x24], 0
je 0x10137d29
mov ebp, dword [esp + 0x28]
xor esi, esi
cmp dword [ebp + 0x2c], esi
jne 0x10137cd4
mov eax, dword [ebp + 0xc]
push eax
call dword [0x101c2cb4]
mov esi, eax
add esp, 4
test esi, esi
je 0x101380ae
push 0x2f
push esi
mov ebx, esi
call fcn.10144100
push 0x5c
push esi
mov edi, eax
call fcn.10144100
add esp, 0x10
test edi, edi
je 0x10137cac
test eax, eax
je 0x10137ca7
cmp edi, eax
jbe 0x10137cb0
mov eax, edi
jmp 0x10137cb0
lea ebx, [edi + 1]
jmp 0x10137cb3
test eax, eax
je 0x10137cb3
lea ebx, [eax + 1]
push ebx
call dword [0x101c2cb4]
push esi
mov edi, eax
call dword [0x101c2cac]
add esp, 8
mov esi, edi
test edi, edi
je 0x101380ae
mov edi, dword [esp + 0x20]
mov eax, dword [ebp + 0x2c]
test eax, eax
jne 0x10137cdd
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.101376b0
add esp, 0x10
mov ebx, eax
test esi, esi
je 0x10137d09
push esi
call dword [0x101c2cac]
add esp, 4
test ebx, ebx
je 0x10137d7b
lea ecx, [esp + 0x24]
push ecx
call fcn.101377c0
mov edx, dword [esp + 0x20]
push edx
call dword [0x101c2cac]
mov eax, ebx
jmp 0x10138170
test byte [edi + 0x28], 0x51
je 0x10137d77
cmp dword [edi + 0x2c], 0
jne 0x10137d41
mov eax, dword [edi + 0xc]
call fcn.10137800
mov esi, eax
jmp 0x10137d43
xor esi, esi
mov eax, dword [edi + 0x2c]
test eax, eax
jne 0x10137d4c
mov eax, esi
push eax
lea ecx, [esp + 0x14]
push str.__filename__s_
push ecx
lea ebx, [esp + 0x20]
call fcn.101376b0
add esp, 0xc
mov ebx, eax
test esi, esi
je 0x10137d73
push esi
call dword [0x101c2cac]
add esp, 4
test ebx, ebx
jne 0x10137d0d
mov ebp, dword [esp + 0x28]
mov eax, dword [ebp + 0x1c]
test eax, eax
je 0x10137da3
push eax
lea edx, [esp + 0x14]
push str._r_nContent_Type:__s
push edx
lea ebx, [esp + 0x20]
call fcn.101376b0
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x10137d0d
mov esi, dword [ebp + 0x20]
test esi, esi
je 0x10137ddc
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.101376b0
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x101380cd
mov esi, dword [esi + 4]
test esi, esi
jne 0x10137db0
jmp 0x10137de4
test ebx, ebx
jne 0x101380cd
lea edx, [esp + 0x10]
push str._r_n_r_n
push edx
lea ebx, [esp + 0x1c]
call fcn.101376b0
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x10137d0d
mov eax, dword [edi + 0x28]
test al, 3
jne 0x10137e9a
test al, 0x10
je 0x10137e3c
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.101375c0
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x10137d0d
jmp 0x10138020
test al, 0x40
je 0x10137e86
mov eax, dword [esp + 0x20]
mov edi, dword [eax + 0x10]
mov esi, dword [eax + 0x30]
push 0x10
call dword [0x101c2ca8]
xor ebx, ebx
add esp, 4
cmp eax, ebx
je 0x1013807b
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 0x10137e79
mov dword [ecx], eax
add dword [esp + 0x14], edi
adc dword [esp + 0x18], ebx
jmp 0x10138020
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 0x10137e25
mov ecx, dword [ebp + 0xc]
push ecx
push 0x101a5820
call fcn.10133bc0
add esp, 8
test eax, eax
je 0x10137eb6
call fcn.1013dd39
jmp 0x10137ecb
mov edx, dword [esp + 0x28]
mov eax, dword [edx + 0xc]
push 0x10176e64
push eax
call fcn.101426e1
add esp, 8
mov ebp, eax
test ebp, ebp
je 0x1013814c
call fcn.1013dd39
push ebp
cmp ebp, eax
je 0x10137f5c
call fcn.1013e60c
mov ecx, dword [esp + 0x2c]
mov edi, dword [ecx + 0xc]
push 0x10
call dword [0x101c2ca8]
mov esi, eax
add esp, 8
test esi, esi
je 0x1013808f
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 0x10137f1e
mov dword [eax], esi
mov edx, dword [esi + 8]
push edx
push 0x101a5820
call fcn.10133bc0
add esp, 8
test eax, eax
jne 0x10137f55
mov esi, dword [esi + 8]
lea eax, [esp + 0x38]
push eax
push esi
call fcn.10144316
add esp, 8
test eax, eax
jne 0x10137f55
mov eax, dword [esp + 0x4c]
cdq
add dword [esp + 0x14], eax
adc dword [esp + 0x18], edx
xor ebx, ebx
jmp 0x10138020
push 0x200
lea ecx, [esp + 0x70]
push 1
push ecx
call fcn.101404af
mov edi, eax
add esp, 0x10
test edi, edi
je 0x10138020
xor ebx, ebx
lea esp, [esp]
push 0x10
call dword [0x101c2ca8]
mov esi, eax
add esp, 4
test esi, esi
je 0x1013808f
mov dword [esi], 0
test edi, edi
jne 0x10137faf
lea edi, [esp + 0x68]
lea ecx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x10137fa6
sub edi, ecx
lea edx, [edi + 1]
push edx
call dword [0x101c2ca8]
add esp, 4
mov dword [esi + 8], eax
test eax, eax
je 0x10138085
push edi
lea ecx, [esp + 0x6c]
push ecx
push eax
call fcn.1013fc90
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 0x10137ff4
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 + 0x70]
push 1
push ecx
mov dword [esp + 0x20], esi
call fcn.101404af
mov edi, eax
add esp, 0x10
test edi, edi
jne 0x10137f80
mov edx, dword [esp + 0x28]
mov eax, dword [edx + 0x24]
mov dword [esp + 0x28], eax
test eax, eax
jne 0x10137c50
mov edi, dword [esp + 0x20]
cmp dword [edi + 0x24], eax
je 0x10138064
mov esi, dword [esp + 0x2c]
push esi
lea eax, [esp + 0x14]
push str._r_n___s__
push eax
lea ebx, [esp + 0x20]
call fcn.101376b0
push esi
mov ebx, eax
call dword [0x101c2cac]
add esp, 0x10
test ebx, ebx
jne 0x101380cd
mov eax, dword [edi]
mov dword [esp + 0x20], eax
test eax, eax
je 0x101380e9
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
jmp 0x10137b60
mov ebx, 0x1b
jmp 0x10137d0d
push esi
call dword [0x101c2cac]
add esp, 4
lea edx, [esp + 0x24]
push edx
call fcn.101377c0
mov eax, dword [esp + 0x20]
push eax
call dword [0x101c2cac]
mov eax, 0x1b
jmp 0x10138170
lea ecx, [esp + 0x24]
push ecx
call fcn.101377c0
mov edx, dword [esp + 0x20]
push edx
call dword [0x101c2cac]
mov eax, 0x1b
jmp 0x10138170
lea eax, [esp + 0x24]
push eax
call fcn.101377c0
mov ecx, dword [esp + 0x20]
push ecx
call dword [0x101c2cac]
mov eax, ebx
jmp 0x10138170
test ebx, ebx
jne 0x101380cd
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.101376b0
mov esi, eax
add esp, 0xc
test esi, esi
je 0x10138123
lea eax, [esp + 0x24]
push eax
call fcn.101377c0
push edi
call dword [0x101c2cac]
mov eax, esi
jmp 0x10138170
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 [0x101c2cac]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x34]
mov dword [ecx], eax
add esp, 4
mov eax, esi
jmp 0x10138173
lea edx, [esp + 0x24]
push edx
call fcn.101377c0
mov eax, dword [esp + 0x20]
push eax
call dword [0x101c2cac]
mov ecx, dword [esp + 0x38]
mov dword [ecx], 0
mov eax, 0x1a
add esp, 8
mov ecx, dword [esp + 0x268]
pop ebx
pop ebp
pop edi
pop esi
xor ecx, esp
call fcn.1013d581
add esp, 0x25c
ret