Function at 0x416919
Capabilities:
Read file on windows

Disassembly:
push 0x9c
mov eax, 0x67958c
call fcn.005b8597
mov eax, dword [ebp + 0x14]
mov edi, dword [ebp + 0x10]
mov ebx, dword [ebp + 0xc]
push 0x69e2c4
push dword [ebp + 8]
mov dword [ebp - 0x9c], edi
mov dword [ebp - 0xa4], eax
call fcn.005bb6b2
xor esi, esi
pop ecx
pop ecx
mov dword [ebp - 0x90], eax
cmp eax, esi
jne 0x416989
cmp edi, esi
je 0x416982
lea eax, [ebp - 0x9c]
push eax
call fcn.00413b9e
pop ecx
push eax
mov ecx, edi
mov dword [ebp - 4], esi
call fcn.0040191c
mov ecx, dword [ebp - 0x9c]
add ecx, 0xfffffff0
call fcn.0040124d
xor al, al
jmp 0x416ca0
mov eax, dword [ebp - 0xa4]
cmp eax, esi
je 0x41699d
mov eax, dword [eax]
mov dword [ebp - 0x98], eax
jmp 0x4169a3
mov dword [ebp - 0x98], esi
mov byte [ebp - 0x24], 0
xor eax, eax
lea edi, [ebp - 0x23]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
mov ecx, ebx
stosb byte es:[edi], al
call fcn.00401563
push 2
push esi
push dword [ebp - 0x90]
call fcn.005bb57a
push dword [ebp - 0x90]
call fcn.005bb48b
push esi
push esi
push dword [ebp - 0x90]
mov edi, eax
call fcn.005bb57a
add esp, 0x1c
push 3
pop eax
mov word [ebp - 0x8c], si
mov byte [ebp - 0x8a], 0
mov dword [ebp - 0x94], eax
cmp edi, eax
jge 0x416a0e
mov dword [ebp - 0x94], edi
cmp edi, esi
je 0x416b86
push dword [ebp - 0x90]
lea eax, [ebp - 0x8c]
push 1
push dword [ebp - 0x94]
push eax
call fcn.005bb2da
add esp, 0x10
cmp byte [ebp - 0x8c], 0xff
jne 0x416b4f
cmp byte [ebp - 0x8b], 0xfe
jne 0x416b86
or dword [ebp - 0x98], 1
lea eax, [ebp - 0x24]
push str.UTF_16LE_BOM_
push eax
call fcn.005ba500
sub edi, 2
cmp dword [ebp - 0x94], 2
pop ecx
pop ecx
mov dword [ebp - 0xa0], edi
jle 0x416a7f
push esi
push 2
push dword [ebp - 0x90]
call fcn.005bb57a
add esp, 0xc
and dword [ebp - 0x94], 0
mov eax, edi
cdq
sub eax, edx
mov esi, eax
sar esi, 1
test edi, edi
je 0x416b02
xor ecx, ecx
push 2
pop edx
lea eax, [esi + 1]
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004b70fc
push dword [ebp - 0x90]
mov edi, eax
push 1
push dword [ebp - 0xa0]
push edi
call fcn.005bb2da
xor eax, eax
push eax
push edi
push eax
mov word [edi + esi*2], ax
call fcn.005bb076
add esp, 0x20
push eax
mov ecx, ebx
mov dword [ebp - 0x94], eax
call fcn.0040170b
push dword [ebp - 0x94]
push edi
push eax
call fcn.005bb076
push edi
call fcn.004b70f1
add esp, 0x10
push dword [ebp - 0x94]
mov ecx, ebx
call fcn.00405474
push dword [ebp - 0x94]
lea eax, [ebp - 0x24]
push esi
push eax
lea eax, [ebp - 0x88]
push str._s_d_wide_chars_to__d_bytes
push eax
call fcn.005bac6b
mov ecx, dword [ebp - 0x9c]
add esp, 0x14
test ecx, ecx
je 0x416b37
lea eax, [ebp - 0x88]
push eax
call fcn.0040196c
push dword [ebp - 0x90]
call fcn.005bad9b
mov eax, dword [ebp - 0xa4]
test eax, eax
jmp 0x416c93
cmp byte [ebp - 0x8c], 0xef
jne 0x416b86
cmp byte [ebp - 0x8b], 0xbb
jne 0x416b86
cmp byte [ebp - 0x8a], 0xbf
jne 0x416b86
or dword [ebp - 0x98], 4
lea eax, [ebp - 0x24]
push str.UTF_8_BOM_
push eax
call fcn.005ba500
pop ecx
pop ecx
sub edi, 3
jmp 0x416b9d
and dword [ebp - 0x98], 0xfffffffa
push esi
push esi
push dword [ebp - 0x90]
call fcn.005bb57a
add esp, 0xc
cmp edi, esi
je 0x416c51
push edi
mov ecx, ebx
call fcn.0040170b
push dword [ebp - 0x90]
push 1
push edi
push eax
call fcn.005bb2da
add esp, 0x10
push edi
mov ecx, ebx
call fcn.00405474
push ecx
mov ecx, dword [ebx]
mov eax, esp
mov dword [eax], ecx
lea eax, [ebp - 0xa0]
mov dword [ebp - 0x94], esp
push eax
call fcn.00416833
pop ecx
pop ecx
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 4], 1
cmp dword [eax - 0xc], esi
je 0x416c08
push 5
push 0x69e280
push eax
call fcn.005ba388
add esp, 0xc
test eax, eax
jne 0x416c3f
push esi
push ecx
mov ecx, dword [ebx]
mov eax, esp
mov dword [ebp - 0xa8], esp
mov dword [eax], ecx
lea eax, [ebp - 0xa8]
push eax
call fcn.00412ef9
add esp, 0xc
push eax
mov ecx, ebx
mov byte [ebp - 4], 2
call fcn.0040191c
mov ecx, dword [ebp - 0xa8]
add ecx, 0xfffffff0
call fcn.0040124d
mov ecx, dword [ebp - 0xa0]
or dword [ebp - 4], 0xffffffff
add ecx, 0xfffffff0
call fcn.0040124d
push edi
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x88]
push str._s_d_bytes
push eax
call fcn.005bac6b
mov ecx, dword [ebp - 0x9c]
add esp, 0x10
cmp ecx, esi
je 0x416c80
lea eax, [ebp - 0x88]
push eax
call fcn.0040196c
push dword [ebp - 0x90]
call fcn.005bad9b
mov eax, dword [ebp - 0xa4]
cmp eax, esi
pop ecx
je 0x416c9e
mov ecx, dword [ebp - 0x98]
mov dword [eax], ecx
mov al, 1
call fcn.005b861a
ret