Function at 0x41c740
Capabilities:
Read file on windows

Disassembly:
sub esp, 0x24c
mov eax, dword [esp + 0x254]
push ebx
mov ebx, dword [esp + 0x25c]
push edi
xor edi, edi
cmp ebx, edi
mov dword [esp + 8], edi
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], edi
mov dword [esp + 0x1c], edi
mov dword [eax], edi
jne 0x41c779
pop edi
xor eax, eax
pop ebx
add esp, 0x24c
ret
push ebp
call fcn.0041c6d0
mov ebp, eax
cmp ebp, edi
mov dword [esp + 0x18], ebp
jne 0x41c798
pop ebp
pop edi
mov eax, 0x1b
pop ebx
add esp, 0x24c
ret
mov eax, dword [esp + 0x268]
cmp eax, edi
jne 0x41c7a8
mov eax, str.Content_Type:_multipart_form_data
push esi
push ebp
push eax
push str._s__boundary_s_r_n
lea ecx, [esp + 0x1c]
push edi
push ecx
call fcn.0041c410
mov esi, eax
add esp, 0x14
test esi, esi
je 0x41c7db
push ebp
call dword [0x43b03c]
add esp, 4
mov eax, esi
pop esi
pop ebp
pop edi
pop ebx
add esp, 0x24c
ret
mov edx, dword [esp + 0x10]
mov dword [esp + 0x20], edx
or edi, dword [esp + 0x18]
je 0x41c80e
push 0x432548
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x18]
push ecx
call fcn.0041c410
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x41cd33
mov ebp, dword [esp + 0x1c]
push ebp
push str.___s_r_n
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x1c]
push eax
call fcn.0041c410
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x41cd33
push str.Content_Disposition:_form_data__name_
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x18]
push edx
call fcn.0041c410
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x41cd33
mov ecx, dword [ebx + 8]
lea eax, [esp + 0x14]
push eax
mov eax, dword [ebx + 4]
push ecx
lea edx, [esp + 0x18]
push esi
push edx
call fcn.0041c300
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x41cd33
push 0x436e58
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x18]
push ecx
call fcn.0041c410
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x41cd33
mov eax, dword [ebx + 0x24]
test eax, eax
je 0x41c8c8
call fcn.0041c6d0
push eax
push str._r_nContent_Type:_multipart_mixed__boundary_s_r_n
lea edx, [esp + 0x1c]
mov dword [esp + 0x2c], eax
push edx
lea eax, [esp + 0x1c]
push eax
call fcn.0041c410
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x41cd33
mov ebp, ebx
mov dword [esp + 0x28], ebp
mov edi, edi
mov eax, dword [ebx + 0x24]
test eax, eax
je 0x41c975
mov eax, dword [ebp + 0x2c]
xor edi, edi
test eax, eax
jne 0x41c94d
mov eax, dword [ebp + 0xc]
push eax
call dword [0x43b044]
mov esi, eax
add esp, 4
test esi, esi
je 0x41cce2
push 0x2f
push esi
mov ebp, esi
call fcn.00420980
push 0x5c
push esi
mov edi, eax
call fcn.00420980
add esp, 0x10
test edi, edi
je 0x41c927
test eax, eax
je 0x41c922
cmp edi, eax
jbe 0x41c92b
mov eax, edi
jmp 0x41c92b
lea ebp, [edi + 1]
jmp 0x41c92e
test eax, eax
je 0x41c92e
lea ebp, [eax + 1]
push ebp
call dword [0x43b044]
push esi
mov edi, eax
call dword [0x43b03c]
add esp, 8
test edi, edi
je 0x41cce2
mov ebp, dword [esp + 0x28]
mov eax, dword [ebp + 0x2c]
test eax, eax
jne 0x41c956
mov eax, edi
mov ecx, dword [esp + 0x24]
push eax
push ecx
push str._r_n___s_r_nContent_Disposition:_attachment__filename__s_
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x20]
push eax
call fcn.0041c410
add esp, 0x14
jmp 0x41c9b1
test byte [ebx + 0x28], 0x51
je 0x41c9c9
mov eax, dword [ebx + 0x2c]
test eax, eax
jne 0x41c98e
mov eax, dword [ebx + 0xc]
call fcn.0041c4a0
mov edi, eax
jmp 0x41c990
xor edi, edi
mov eax, dword [ebx + 0x2c]
test eax, eax
jne 0x41c999
mov eax, edi
push eax
push str.__filename__s_
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x1c]
push edx
call fcn.0041c410
add esp, 0x10
test edi, edi
mov esi, eax
je 0x41c9c1
push edi
call dword [0x43b03c]
add esp, 4
test esi, esi
jne 0x41cc76
mov eax, dword [ebp + 0x1c]
test eax, eax
je 0x41c9f2
push eax
push str._r_nContent_Type:__s
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x1c]
push ecx
call fcn.0041c410
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x41cc76
mov edi, dword [ebp + 0x20]
test edi, edi
je 0x41ca2d
lea esp, [esp]
mov edx, dword [edi]
push edx
push str._r_n_s
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x1c]
push ecx
call fcn.0041c410
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x41cd0a
mov edi, dword [edi + 4]
test edi, edi
jne 0x41ca00
jmp 0x41ca35
test esi, esi
jne 0x41cd0a
push str._r_n_r_n
lea edx, [esp + 0x18]
push edx
lea eax, [esp + 0x18]
push eax
call fcn.0041c410
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x41cc76
mov eax, dword [ebx + 0x28]
test al, 3
jne 0x41cb06
test al, 0x10
je 0x41ca87
mov edx, dword [ebx + 0x18]
lea ecx, [esp + 0x14]
push ecx
push edx
lea eax, [esp + 0x18]
push 1
push eax
mov eax, dword [ebx + 0x14]
call fcn.0041c300
add esp, 0x10
mov esi, eax
jmp 0x41cc63
test al, 0x40
je 0x41cae4
mov edi, dword [ebx + 0x10]
mov esi, dword [ebx + 0x30]
push 0x10
call dword [0x43b038]
add esp, 4
test eax, eax
jne 0x41caaa
mov esi, 0x1b
jmp 0x41cc63
mov ecx, dword [esp + 0x10]
test ecx, ecx
mov dword [eax], 0
mov dword [eax + 8], esi
mov dword [eax + 4], 2
mov dword [esp + 0x10], eax
je 0x41cac8
mov dword [ecx], eax
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
add ecx, edi
adc eax, 0
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], eax
xor esi, esi
jmp 0x41cc63
mov edx, dword [ebx + 0x10]
lea ecx, [esp + 0x14]
push ecx
push edx
lea eax, [esp + 0x18]
push 1
push eax
mov eax, dword [ebx + 0xc]
call fcn.0041c300
add esp, 0x10
mov esi, eax
jmp 0x41cc63
mov ecx, dword [ebp + 0xc]
push ecx
push 0x432694
call fcn.004179b0
add esp, 8
test eax, eax
je 0x41cb81
mov edi, 0x43b250
push edi
push 0x200
lea edx, [esp + 0x64]
push 1
push edx
call fcn.00420068
add esp, 0x10
test eax, eax
je 0x41cc63
lea ecx, [ecx]
lea ecx, [esp + 0x14]
push ecx
push eax
lea edx, [esp + 0x18]
push 1
push edx
lea eax, [esp + 0x6c]
call fcn.0041c300
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x41cc63
push edi
push 0x200
lea eax, [esp + 0x64]
push 1
push eax
call fcn.00420068
add esp, 0x10
test eax, eax
jne 0x41cb40
jmp 0x41cc63
mov edx, dword [ebp + 0xc]
push 0x436d64
push edx
call fcn.0041fbab
mov edi, eax
add esp, 8
test edi, edi
je 0x41cc34
cmp edi, 0x43b250
je 0x41cb20
push edi
call fcn.0041fa7b
mov edi, dword [ebp + 0xc]
push 0x10
call dword [0x43b038]
mov esi, eax
add esp, 8
test esi, esi
jne 0x41cbcc
mov esi, 0x1b
jmp 0x41cc63
mov eax, dword [esp + 0x10]
test eax, eax
mov dword [esi], 0
mov dword [esi + 8], edi
mov dword [esi + 4], 3
mov dword [esp + 0x10], esi
je 0x41cbea
mov dword [eax], esi
mov eax, dword [esi + 8]
push eax
push 0x432694
call fcn.004179b0
add esp, 8
test eax, eax
jne 0x41cc30
mov edx, dword [esi + 8]
lea ecx, [esp + 0x2c]
push ecx
push edx
call fcn.0042a90b
add esp, 8
test eax, eax
jne 0x41cc30
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x14]
add ecx, eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x48]
adc eax, ecx
mov dword [esp + 0x18], eax
xor esi, esi
jmp 0x41cc63
mov eax, dword [esp + 0x260]
test eax, eax
je 0x41cc51
mov ecx, dword [ebp + 0xc]
push ecx
push str.couldnt_open_file___s__n
push eax
call fcn.00403490
add esp, 0xc
mov edx, dword [esp + 0x264]
mov dword [edx], 0
mov esi, 0x1a
mov ebp, dword [ebp + 0x24]
test ebp, ebp
mov dword [esp + 0x28], ebp
je 0x41cc9b
test esi, esi
je 0x41c8d0
lea eax, [esp + 0x20]
push eax
call fcn.0041c460
mov ecx, dword [esp + 0x20]
push ecx
call dword [0x43b03c]
add esp, 8
mov eax, esi
pop esi
pop ebp
pop edi
pop ebx
add esp, 0x24c
ret
test esi, esi
jne 0x41cc76
mov eax, dword [ebx + 0x24]
test eax, eax
je 0x41cccf
mov edi, dword [esp + 0x24]
push edi
push str._r_n___s__
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x1c]
push ecx
call fcn.0041c410
push edi
mov esi, eax
call dword [0x43b03c]
add esp, 0x14
test esi, esi
jne 0x41cd33
mov ebx, dword [ebx]
test ebx, ebx
je 0x41cd2f
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
jmp 0x41c7e3
lea edx, [esp + 0x20]
push edx
call fcn.0041c460
mov eax, dword [esp + 0x20]
push eax
call dword [0x43b03c]
add esp, 8
pop esi
pop ebp
pop edi
mov eax, 0x1b
pop ebx
add esp, 0x24c
ret
lea ecx, [esp + 0x20]
push ecx
call fcn.0041c460
mov edx, dword [esp + 0x20]
push edx
call dword [0x43b03c]
add esp, 8
mov eax, esi
pop esi
pop ebp
pop edi
pop ebx
add esp, 0x24c
ret
test esi, esi
je 0x41cd58
lea edx, [esp + 0x20]
push edx
call fcn.0041c460
mov eax, dword [esp + 0x20]
push eax
call dword [0x43b03c]
add esp, 8
mov eax, esi
pop esi
pop ebp
pop edi
pop ebx
add esp, 0x24c
ret
mov edi, dword [esp + 0x1c]
push edi
push str._r_n___s___r_n
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x1c]
push edx
call fcn.0041c410
mov esi, eax
add esp, 0x10
test esi, esi
je 0x41cd9b
lea eax, [esp + 0x20]
push eax
call fcn.0041c460
push edi
call dword [0x43b03c]
add esp, 8
mov eax, esi
pop esi
pop ebp
pop edi
pop ebx
add esp, 0x24c
ret
mov eax, dword [esp + 0x270]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
push edi
mov dword [eax], ecx
mov dword [eax + 4], edx
call dword [0x43b03c]
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x268]
add esp, 4
mov dword [ecx], eax
mov eax, esi
pop esi
pop ebp
pop edi
pop ebx
add esp, 0x24c
ret