Function at 0x45b7b1
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x45c
mov eax, dword [0x4a00a0]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x45c], ecx
mov ecx, dword [ebp + 0x10]
cmp dword [eax + 0x14], 8
mov dword [ebp - 0x450], ecx
jb 0x45b7e1
mov eax, dword [eax]
push ebx
push esi
push edi
xor ebx, ebx
push ebx
push 0x80
push 3
push ebx
push 1
push SysReAllocString
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov edi, eax
lea eax, [ebp - 0x454]
push ebx
push eax
push 0x3ff
lea eax, [ebp - 0x404]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_ReadFile]
push edi
mov esi, eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test esi, esi
jne 0x45b83a
xor al, al
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00466c90
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x454]
cmp eax, 0x400
jae 0x45bb5f
mov byte [ebp + eax - 0x404], bl
lea ecx, [ebp - 0x434]
xor eax, eax
mov dword [ebp - 0x408], 7
mov word [ebp - 0x41c], ax
lea eax, [ebp - 0x404]
push eax
mov dword [ebp - 0x40c], ebx
call fcn.00403f70
lea eax, [ebp - 0x41c]
push eax
lea eax, [ebp - 0x434]
push eax
call fcn.0045bb65
pop ecx
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x434]
call fcn.00404b80
mov esi, str._install_log
push esi
call fcn.00401180
pop ecx
push eax
push ebx
push esi
lea ecx, [ebp - 0x41c]
call fcn.00404190
mov ebx, eax
mov dword [ebp - 0x458], ebx
cmp ebx, 0xffffffff
jne 0x45b8dc
xor eax, eax
push eax
push 1
lea ecx, [ebp - 0x41c]
call fcn.00404030
jmp 0x45b827
mov esi, 0x48a488
push esi
call fcn.00401180
pop ecx
push eax
push ebx
push esi
lea ecx, [ebp - 0x41c]
call fcn.00404190
mov ebx, eax
cmp ebx, 0xffffffff
je 0x45b8c7
push 6
pop ecx
lea eax, [ebp - 0x434]
mov esi, 0x48a48c
lea edi, [ebp - 0x434]
rep movsd dword es:[edi], dword [esi]
push eax
call fcn.00401180
pop ecx
push eax
push dword [ebp - 0x458]
lea eax, [ebp - 0x434]
push eax
lea ecx, [ebp - 0x41c]
call fcn.00404190
mov esi, eax
cmp esi, 0xffffffff
je 0x45b8c7
cmp esi, ebx
ja 0x45b8c7
lea ecx, [ebp - 0x434]
xor edi, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, di
jne 0x45b949
sub ecx, edx
mov edi, 0x48a4a4
sar ecx, 1
push edi
add esi, ecx
call fcn.00401180
pop ecx
push eax
push esi
push edi
lea ecx, [ebp - 0x41c]
call fcn.00404190
cmp eax, 0xffffffff
je 0x45b8c7
cmp eax, ebx
ja 0x45b8c7
sub eax, esi
mov dword [ebp - 0x438], 7
push eax
xor ecx, ecx
lea eax, [ebp - 0x41c]
push esi
mov word [ebp - 0x44c], cx
xor ebx, ebx
push eax
lea ecx, [ebp - 0x44c]
mov dword [ebp - 0x43c], ebx
call fcn.004047b0
push 0x48a4a8
lea ecx, [ebp - 0x44c]
call fcn.00405ba0
mov ecx, dword [ebp - 0x450]
neg eax
mov esi, str._path
sbb al, al
inc al
push esi
mov byte [ecx], al
call fcn.00401180
pop ecx
push eax
push ebx
push esi
lea ecx, [ebp - 0x41c]
call fcn.00404190
mov ebx, eax
mov dword [ebp - 0x450], ebx
cmp ebx, 0xffffffff
jne 0x45ba11
xor ebx, ebx
lea ecx, [ebp - 0x44c]
push ebx
push 1
call fcn.00404030
push ebx
jmp 0x45b8ca
mov esi, 0x48a488
push esi
call fcn.00401180
pop ecx
push eax
push ebx
push esi
lea ecx, [ebp - 0x41c]
call fcn.00404190
mov ebx, eax
cmp ebx, 0xffffffff
je 0x45bb32
push 6
pop ecx
lea eax, [ebp - 0x434]
mov esi, str.subfolder_
lea edi, [ebp - 0x434]
rep movsd dword es:[edi], dword [esi]
push eax
call fcn.00401180
pop ecx
push eax
push dword [ebp - 0x450]
lea eax, [ebp - 0x434]
push eax
lea ecx, [ebp - 0x41c]
call fcn.00404190
mov esi, eax
cmp esi, 0xffffffff
je 0x45bb36
cmp esi, ebx
ja 0x45bb36
lea ecx, [ebp - 0x434]
xor edi, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, di
jne 0x45ba8a
sub ecx, edx
mov edi, 0x48a4a4
sar ecx, 1
push edi
add esi, ecx
call fcn.00401180
pop ecx
push eax
push esi
push edi
lea ecx, [ebp - 0x41c]
call fcn.00404190
cmp eax, 0xffffffff
je 0x45bb32
cmp eax, ebx
ja 0x45bb32
sub eax, esi
mov dword [ebp - 0x420], 7
push eax
xor ecx, ecx
lea eax, [ebp - 0x41c]
push esi
mov word [ebp - 0x434], cx
xor ebx, ebx
push eax
lea ecx, [ebp - 0x434]
mov dword [ebp - 0x424], ebx
call fcn.004047b0
mov ecx, dword [ebp - 0x45c]
lea eax, [ebp - 0x434]
push eax
call fcn.0045bbfd
push ebx
push 1
lea ecx, [ebp - 0x434]
call fcn.00404030
push ebx
push 1
lea ecx, [ebp - 0x44c]
call fcn.00404030
push ebx
push 1
lea ecx, [ebp - 0x41c]
call fcn.00404030
mov al, 1
jmp 0x45b829
xor ebx, ebx
jmp 0x45bb38
mov bl, 1
xor edi, edi
lea ecx, [ebp - 0x44c]
push edi
push 1
call fcn.00404030
xor eax, eax
lea ecx, [ebp - 0x41c]
push eax
push 1
call fcn.00404030
mov al, bl
jmp 0x45b829
call fcn.00466ba6
int3