Function at 0x419446
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x83c
mov eax, dword [0x4d8300]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [0x4dca08]
push ebx
push esi
mov esi, ecx
mov dword [ebp - 0x814], edx
xor ecx, ecx
mov dword [ebp - 0x824], eax
mov dword [ebp - 0x83c], 0x4be66c
mov ebx, ecx
mov dword [ebp - 0x838], 0x4be670
mov dword [ebp - 0x834], str.w__ccsUTF_16LE
mov dword [ebp - 0x80c], ecx
mov dword [ebp - 0x828], ecx
mov dword [ebp - 0x82c], ecx
mov dword [ebp - 0x820], ecx
mov dword [ebp - 0x808], ecx
push edi
mov edi, ecx
test eax, eax
je 0x4198c7
test esi, esi
je 0x4198c7
test edx, edx
je 0x4198c7
cmp byte [eax], cl
je 0x4198c7
cmp byte [esi], cl
je 0x4198c7
cmp byte [edx], cl
je 0x4198c7
mov ecx, eax
call fcn.00403761
mov dword [ebp - 0x818], eax
test eax, eax
jne 0x419508
push dword [ebp - 0x824]
push str.Could_not_convert__s_to_UTF_16
call fcn.0042ed57
pop ecx
jmp 0x419894
mov ecx, esi
call fcn.00403761
mov dword [ebp - 0x80c], eax
test eax, eax
jne 0x41951c
push esi
jmp 0x4194f8
mov esi, dword [ebp - 0x814]
mov ecx, esi
call fcn.00403761
mov dword [ebp - 0x828], eax
test eax, eax
je 0x419519
push str.r__ccsUNICODE
push dword [ebp - 0x818]
call fcn.00481459
mov dword [ebp - 0x81c], eax
pop ecx
pop ecx
test eax, eax
jne 0x41955c
push dword [ebp - 0x824]
push str.Could_not_open_file__s_n
jmp 0x4194fd
push eax
xor ebx, ebx
lea eax, [ebp - 0x82c]
inc ebx
push ebx
push 2
push eax
call fcn.0048afe7
add esp, 0x10
cmp eax, ebx
jne 0x4195a9
movzx eax, word [ebp - 0x82c]
cmp eax, 0xbbef
je 0x419591
xor ecx, ecx
cmp eax, 0xfeff
push 2
pop ebx
cmovne ebx, ecx
push 0
push 0
push dword [ebp - 0x81c]
mov dword [ebp - 0x820], ebx
call fcn.0048bb89
add esp, 0xc
push 2
push dword [ebp - 0x818]
call fcn.004891c7
pop ecx
add eax, 2
push eax
call fcn.0047b53f
mov ebx, eax
mov dword [ebp - 0x830], ebx
pop ecx
pop ecx
test ebx, ebx
jne 0x4195dd
push str.Could_not_allocate_space_for_temporary_output_name_n
call fcn.0042ed57
pop ecx
mov esi, edi
jmp 0x41962e
push dword [ebp - 0x818]
push ebx
call fcn.0048bbc3
push ebx
call fcn.004891c7
push 0x7e
pop ecx
mov word [ebx + eax*2], cx
mov eax, dword [ebp - 0x820]
push dword [ebp + eax*4 - 0x83c]
push ebx
call fcn.00481459
mov edi, eax
add esp, 0x14
test edi, edi
jne 0x4196a4
push dword [ebp - 0x824]
push str.Could_not_open_temporary_output_file__s_n
call fcn.0042ed57
pop ecx
pop ecx
mov esi, dword [ebp - 0x808]
push dword [ebp - 0x81c]
call fcn.00481623
pop ecx
test edi, edi
je 0x419645
push edi
call fcn.00481623
pop ecx
test esi, esi
je 0x41988a
push 0x4be14c
push ebx
call fcn.00481459
push 0x4be744
push dword [ebp - 0x818]
mov esi, eax
call fcn.00481459
add esp, 0x10
mov edi, eax
test esi, esi
je 0x41985b
test edi, edi
je 0x41985b
xor ebx, ebx
lea eax, [ebp - 0x810]
cmp dword [ebp - 0x820], 2
push esi
sete bl
push 1
inc ebx
push ebx
push eax
call fcn.0048afe7
add esp, 0x10
jmp 0x419841
push dword [ebp - 0x81c]
lea eax, [ebp - 0x804]
push 0x400
push eax
call fcn.0048befe
add esp, 0xc
test eax, eax
je 0x4197f9
lea eax, [ebp - 0x804]
push 0x4b18e0
push eax
call fcn.0048c208
mov esi, eax
lea eax, [ebp - 0x804]
pop ecx
pop ecx
lea eax, [eax + esi*2]
movzx eax, word [eax]
cmp eax, 0x3b
je 0x4197b6
cmp eax, 0x5b
je 0x4197b6
push dword [ebp - 0x80c]
call fcn.004891c7
push eax
push dword [ebp - 0x80c]
lea eax, [ebp - 0x804]
lea eax, [eax + esi*2]
push eax
call fcn.0048c35d
add esp, 0x10
test eax, eax
jne 0x4197b6
push dword [ebp - 0x80c]
call fcn.004891c7
add esi, eax
mov dword [esp], 0x4b18e0
lea eax, [ebp - 0x804]
lea eax, [eax + esi*2]
push eax
call fcn.0048c208
add esi, eax
lea eax, [ebp - 0x804]
pop ecx
pop ecx
cmp word [ebp + esi*2 - 0x804], 0x3d
jne 0x4197bc
inc esi
push 0x4b18e0
lea eax, [eax + esi*2]
push eax
call fcn.0048c208
add eax, esi
add eax, eax
pop ecx
pop ecx
cmp eax, 0x800
jae 0x4198d8
xor ecx, ecx
mov word [ebp + eax - 0x804], cx
lea eax, [ebp - 0x804]
push edi
push eax
call fcn.0048b7e2
push dword [ebp - 0x828]
push 0x4be728
push edi
call fcn.0040fdf2
mov esi, dword [ebp - 0x814]
add esp, 0x14
mov dword [ebp - 0x808], esi
jmp 0x4197cb
lea eax, [ebp - 0x804]
push edi
push eax
call fcn.0048b7e2
mov esi, dword [ebp - 0x814]
pop ecx
pop ecx
push dword [ebp - 0x81c]
lea eax, [ebp - 0x804]
push 0x400
push eax
call fcn.0048befe
add esp, 0xc
test eax, eax
jne 0x4196c6
cmp dword [ebp - 0x808], eax
jne 0x419628
push dword [ebp - 0x828]
push dword [ebp - 0x80c]
push str._s___s_n
push edi
call fcn.0040fdf2
add esp, 0x10
mov dword [ebp - 0x808], esi
jmp 0x41962e
push edi
push 1
lea eax, [ebp - 0x810]
push ebx
push eax
call fcn.0048c1ce
push esi
push 1
lea eax, [ebp - 0x810]
push ebx
push eax
call fcn.0048afe7
add esp, 0x20
cmp eax, 1
je 0x41981e
push esi
call fcn.00481623
push edi
call fcn.00481623
mov ebx, dword [ebp - 0x830]
pop ecx
jmp 0x419889
push dword [ebp - 0x824]
push str.Could_not_write__s___original_file_has_been_left_unmodified_n
call fcn.0042ed57
and dword [ebp - 0x808], 0
pop ecx
pop ecx
test esi, esi
je 0x41987f
push esi
call fcn.00481623
pop ecx
test edi, edi
je 0x41988a
push edi
call fcn.00481623
pop ecx
test ebx, ebx
je 0x419895
push ebx
call fcn.0048c4a4
pop ecx
push dword [ebp - 0x818]
call fcn.004812c6
push ebx
call fcn.004812c6
push dword [ebp - 0x80c]
call fcn.004812c6
push dword [ebp - 0x828]
call fcn.004812c6
mov eax, dword [ebp - 0x808]
add esp, 0x10
jmp 0x4198c9
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00475c80
leave
ret
call fcn.00475db1
int3