Function at 0x45ceac
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4cf7b9
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x4510
call fcn.00401910
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov esi, ecx
mov dword [ebp - 0x44c4], esi
mov dword [ebp - 0x4508], esi
lea eax, [esi + 0x2c]
xor ebx, ebx
mov ecx, eax
mov dword [ebp - 4], ebx
call fcn.0042cad3
test al, al
je 0x45cf1d
or dword [ebp - 4], 0xffffffff
mov dword [ebp + 8], vtable.micro::utils::QString.0
lea ecx, [ebp + 8]
call fcn.004b9e50
xor al, al
jmp 0x45d26e
cmp byte [esi + 0x8f0], bl
je 0x45d089
push 0x250
lea eax, [ebp - 0x4268]
push ebx
push eax
call dword [sym.imp.msvcrt.dll_memset]
pop ecx
lea eax, [ebp + 8]
mov ecx, esp
push eax
call fcn.004b9cf7
mov edx, 0x4d5540
lea ecx, [ebp - 0x44f0]
call fcn.004066c4
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x4504]
call fcn.004b9cf7
or dword [ebp - 0x44fc], 0xffffffff
mov dword [ebp - 0x44f8], 0x12
xor eax, eax
lea ecx, [ebp - 0x44f0]
inc eax
mov edi, vtable.micro::utils::QString.0
mov byte [ebp - 4], al
mov dword [ebp - 0x44e8], eax
mov dword [ebp - 0x44f0], edi
jmp 0x45d03b
mov eax, dword [ebp - 0x4268]
shr eax, 4
test al, 1
je 0x45d040
push ecx
push ecx
lea eax, [ebp + 8]
mov ecx, esp
push eax
lea esi, [ebp - 0x423c]
call fcn.004b9cf7
mov edx, esi
lea ecx, [ebp - 0x44e4]
call fcn.004066c4
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x44d8]
call fcn.004b9cf7
mov dword [ebp - method.mc::MyStrPath.virtual_0], vtable.micro::files::QPathStr.0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x44e4]
mov dword [ebp - 0x44e4], edi
call fcn.004b9e50
lea ecx, [ebp - 0x44d8]
call fcn.004bc9cf
push ecx
push ecx
mov esi, esp
lea eax, [ebp - 0x44d8]
push eax
mov ecx, esi
call fcn.004b9cf7
mov dword [esi], vtable.micro::files::QPathStr.0
mov esi, dword [ebp - 0x44c4]
mov ecx, esi
call fcn.0045ceac
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x44d8]
mov dword [ebp - 0x44d8], edi
test al, al
je 0x45d06a
call fcn.004b9e50
lea eax, [ebp - 0x4268]
push eax
lea ecx, [ebp - 0x4504]
call fcn.004c013a
test al, al
jne 0x45cf99
lea ecx, [ebp - 0x4504]
mov byte [ebp - 4], bl
call fcn.0043faa4
jmp 0x45d098
call fcn.004b9e50
lea ecx, [ebp - 0x4504]
mov byte [ebp - 4], bl
call fcn.0043faa4
or dword [ebp - 4], 0xffffffff
mov dword [ebp + 8], edi
jmp 0x45cf0e
mov edi, vtable.micro::utils::QString.0
mov dword [ebp - 0x44e8], 1
lea ecx, [esi + 0x2c]
call fcn.0042cad3
test al, al
jne 0x45d07d
cmp dword [ebp + 0xc], 0
lea ecx, [esi + 0x9d8]
mov eax, dword [ecx]
mov edx, 0x4ef644
cmovne edx, dword [ebp + 0xc]
push edx
call dword [eax + 0x1a8]
mov dword [ebp - 0x44e4], edi
mov dword [ebp - 0x44e0], ebx
mov eax, ebx
mov byte [ebp - 4], 3
mov dword [ebp - 0x44c8], eax
mov ecx, dword [esi + 0x878]
mov dword [ebp - 0x44d4], ecx
test ecx, ecx
je 0x45d0f3
mov edx, dword [ecx - 8]
mov dword [ebp - 0x44c0], edx
jmp 0x45d0fb
mov edx, ebx
mov dword [ebp - 0x44c0], ebx
test edx, edx
jne 0x45d106
mov eax, ebx
jmp 0x45d198
mov edx, ebx
mov dword [ebp - 0x44bc], edx
test eax, eax
jle 0x45d123
lea ecx, [ecx + eax*2]
mov dword [ebp - 0x44bc], eax
mov dword [ebp - 0x44d4], ecx
mov edx, eax
cmp edx, dword [ebp - 0x44c0]
jge 0x45d0ff
push ecx
lea ecx, [ebp - 0x44e4]
call fcn.004ba70a
mov eax, dword [ebp - 0x44d4]
mov ecx, dword [ebp - 0x44bc]
movzx edx, word [eax]
mov dword [ebp - 0x44c4], edx
cmp edx, 0x3b
mov edx, dword [ebp - 0x44c0]
je 0x45d17f
cmp word [ebp - 0x44c4], 0
je 0x45d17f
inc ecx
add eax, 2
mov dword [ebp - 0x44bc], ecx
cmp ecx, edx
jle 0x45d143
mov eax, ebx
mov dword [ebp - 0x44c8], ebx
mov dword [ebp - 0x44c0], ebx
jmp 0x45d1a4
sub ecx, dword [ebp - 0x44c8]
push ecx
lea ecx, [ebp - 0x44e4]
call fcn.004b9ebd
mov eax, dword [ebp - 0x44bc]
inc eax
mov dword [ebp - 0x44c8], eax
mov dword [ebp - 0x44c0], eax
test eax, eax
jle 0x45d245
push 0x250
lea eax, [ebp - 0x44b8]
push ebx
push eax
call dword [sym.imp.msvcrt.dll_memset]
add esp, 0xc
lea eax, [ebp - 0x44e4]
lea edx, [ebp + 8]
lea ecx, [ebp - 0x4520]
push eax
call fcn.0040e5bc
pop ecx
push eax
lea ecx, [ebp - 0x4518]
call fcn.004b9cf7
or dword [ebp - 0x4510], 0xffffffff
mov dword [ebp - 0x450c], 0x12
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x4520]
mov dword [ebp - 0x4520], edi
call fcn.004b9e50
lea eax, [ebp - 0x44b8]
push eax
lea ecx, [ebp - 0x4518]
call fcn.004c013a
test al, al
je 0x45d534
lea ecx, [esi + 0x2c]
call fcn.0042cad3
test al, al
je 0x45d28c
lea ecx, [ebp - 0x4518]
mov byte [ebp - 4], 3
call fcn.0043faa4
mov byte [ebp - 0x44e8], bl
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x44e4]
mov dword [ebp - 0x44e4], edi
call fcn.004b9e50
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
mov dword [ebp + 8], edi
call fcn.004b9e50
mov al, byte [ebp - 0x44e8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00401000
mov esp, ebp
pop ebp
ret 8
mov eax, dword [ebp - 0x44b8]
shr eax, 4
test al, 1
jne 0x45d20a
push ecx
push ecx
lea eax, [ebp + 8]
mov ecx, esp
push eax
call fcn.004b9cf7
lea edx, [ebp - 0x448c]
lea ecx, [ebp - 0x44d0]
call fcn.004066c4
pop ecx
pop ecx
mov byte [ebp - 4], 5
cmp byte [esi + 0x93c], 0
je 0x45d4f8
mov eax, dword [esi + 0x880]
test eax, eax
je 0x45d4f8
cmp dword [eax - 8], 0
je 0x45d4f8
mov dword [ebp - fcn.004bac83], vtable.micro::files::QFile.0
mov dword [ebp - 0x44fc], ebx
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x4500]
cmp dword [ebp - 0x44cc], 0
mov eax, 0x4ef644
push ebx
cmovne eax, dword [ebp - 0x44cc]
push eax
call fcn.004bac83
test al, al
jne 0x45d351
lea ecx, [ebp - 0x4500]
mov dword [ebp - fcn.004bac83], vtable.micro::files::QFile.0
call fcn.004baeaf
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x44d0]
mov dword [ebp - 0x44d0], edi
call fcn.004b9e50
mov byte [ebp - 4], 4
jmp 0x45d20a
mov dword [ebp - 0x44d4], ebx
mov dword [ebp - 0x44f4], ebx
push ebx
lea eax, [ebp - 0x44dc]
mov dword [ebp - 0x44dc], ebx
push eax
push 0x4000
lea eax, [ebp - 0x4018]
push eax
push dword [ebp - 0x44fc]
call dword [sym.imp.KERNEL32.DLL_ReadFile]
test eax, eax
je 0x45d4da
mov ecx, dword [ebp - 0x44dc]
test ecx, ecx
je 0x45d4da
add dword [ebp - 0x44d4], 1
lea edx, [ebp - 0x4018]
mov dword [ebp - 0x44bc], edx
adc dword [ebp - 0x44f4], ebx
mov dword [ebp - 0x44c4], ebx
mov eax, edx
lea edx, [ebp - 0x4018]
sub eax, edx
mov edx, dword [ebp - 0x44bc]
cmp eax, ecx
jae 0x45d35d
sub ecx, edx
lea eax, [ebp - 0x4018]
add eax, ecx
lea ecx, [esi + 0x54]
push eax
push edx
call fcn.0045c1a1
mov ecx, eax
test ecx, ecx
js 0x45d35d
cmp dword [ebp - 0x44c4], 0
jne 0x45d3f9
mov byte [esi + 0x868], bl
xor eax, eax
inc eax
mov byte [esi + 0x868], al
mov dword [ebp - 0x44c4], eax
mov eax, dword [ebp - 0x44bc]
push ebx
add eax, ecx
lea ecx, [ebp - 0x44f0]
push 0x14
push eax
mov dword [ebp - 0x44bc], eax
call fcn.004b9de6
mov byte [ebp - 4], 8
mov eax, 0x4ef644
cmp dword [ebp - 0x44ec], 0
mov ecx, eax
cmovne ecx, dword [ebp - 0x44ec]
cmp dword [ebp - 0x44cc], 0
push ecx
push dword [ebp - 0x44f4]
cmovne eax, dword [ebp - 0x44cc]
mov ecx, esi
push dword [ebp - 0x44d4]
push eax
call fcn.0045d54e
mov eax, dword [ebp - 0x44bc]
lea ecx, [ebp - 0x44f0]
inc eax
mov byte [ebp - 4], 7
mov dword [ebp - 0x44bc], eax
mov dword [ebp - 0x44f0], edi
call fcn.004b9e50
mov ecx, dword [ebp - 0x44dc]
mov edx, dword [ebp - 0x44bc]
jmp 0x45d3b8
lea ecx, [ebp - 0x4500]
mov dword [ebp - fcn.004bac83], vtable.micro::files::QFile.0
call fcn.004baeaf
mov dword [ebp - 4], 4
jmp 0x45d523
cmp dword [ebp - 0x44cc], 0
mov ecx, 0x4ef644
push ecx
mov eax, ecx
mov ecx, esi
cmovne eax, dword [ebp - 0x44cc]
push ebx
push ebx
push eax
call fcn.0045d54e
mov byte [esi + 0x868], 1
mov byte [ebp - 4], 4
mov dword [ebp - 0x44d0], edi
lea ecx, [ebp - 0x44d0]
jmp 0x45d205
lea ecx, [ebp - 0x4518]
mov byte [ebp - 4], 3
call fcn.0043faa4
mov eax, dword [ebp - 0x44c8]
jmp 0x45d0d8