Function at 0x55465d4
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x559d44a
mov eax, dword fs:[0]
push eax
mov eax, 0x1120
call fcn.0557c700
mov eax, dword [0x53f40dc]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push 0xc3500
push 0x5407238
push 0x552df30
call fcn.05544e2a
add esp, 0xc
test eax, eax
je 0x554665a
push 0x10
push 0x552d41c
push eax
push 0x552df58
call fcn.05547b17
pop ecx
pop ecx
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0557c24c
leave
ret
and dword [ebp - 0x10b4], 0
lea eax, [ebp - 0x10ad]
push eax
lea eax, [ebp - 0x10b4]
push eax
lea ecx, [ebp - 0x1118]
call fcn.0554606e
and dword [ebp - 4], 0
xor ebx, ebx
mov edi, dword [ebp + 8]
inc ebx
test edi, edi
jle 0x55466f8
lea esi, [ebp + 8]
and dword [ebp - 0x1018], 0
lea esi, [esi + 4]
mov ecx, dword [esi]
mov dword [ebp - 0x1014], 0xf
mov byte [ebp - 0x1028], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x55466ab
sub ecx, edx
push ecx
push dword [esi]
lea ecx, [ebp - 0x1028]
call fcn.055472ff
push dword [ebp - 0x10dc]
lea eax, [ebp - 0x1028]
mov byte [ebp - 4], bl
push eax
lea eax, [ebp - 0x10e0]
push eax
lea ecx, [ebp - 0x1118]
call fcn.05545e52
lea ecx, [ebp - 0x1028]
mov byte [ebp - 4], 0
call fcn.05547285
sub edi, 1
jne 0x554668b
lea ecx, [ebp - 0x10ec]
call fcn.05546130
push 0x5407238
lea ecx, [ebp - 0x10ec]
mov byte [ebp - 4], 2
call fcn.05546391
lea ecx, [ebp - 0x10cc]
call fcn.05546130
push 0x552e050
push 0x552e054
mov byte [ebp - 4], 3
call fcn.05586e82
mov esi, eax
pop ecx
pop ecx
test esi, esi
jne 0x5546788
mov edi, dword [ebp - 0x10ec]
mov esi, dword [edi]
jmp 0x554677f
lea ebx, [esi + 8]
push ebx
lea eax, [ebp - 0x10b4]
push eax
lea ecx, [ebp - 0x1118]
call fcn.05547474
mov eax, dword [ebp - 0x10b4]
cmp eax, dword [ebp - 0x1114]
je 0x554677d
push ebx
push dword [ebp - 0x10cc]
lea ecx, [ebp - 0x10cc]
call fcn.05545bba
mov esi, dword [esi]
cmp esi, edi
jne 0x5546747
jmp 0x554686b
push esi
push 0xc3500
push ebx
mov ebx, 0x5407238
push ebx
call fcn.05587081
push esi
mov edi, eax
call fcn.05586d5b
add esp, 0x14
cmp edi, 0xc3500
jae 0x5546e51
lea ecx, [ebp - 0x10f4]
mov byte [edi + 0x5407238], 0
call fcn.05546130
push ebx
lea ecx, [ebp - 0x10f4]
mov byte [ebp - 4], 4
call fcn.05546391
mov edi, dword [ebp - 0x10ec]
mov esi, dword [edi]
jmp 0x5546858
lea ebx, [esi + 8]
push ebx
lea eax, [ebp - 0x10b4]
push eax
lea ecx, [ebp - 0x1118]
call fcn.05547474
mov eax, dword [ebp - 0x10b4]
cmp eax, dword [ebp - 0x1114]
je 0x5546856
sub esp, 0x18
mov ecx, esp
push ebx
and dword [ecx + 0x10], 0
and dword [ecx + 0x14], 0
call fcn.05546fa4
lea eax, [ebp - 0x1044]
push eax
lea ecx, [ebp - 0x10f4]
call fcn.05546327
mov eax, dword [ebp - 0x102c]
mov byte [ebp - 4], 5
cmp eax, dword [ebx + 0x18]
je 0x5546847
push ebx
push dword [ebp - 0x10cc]
lea ecx, [ebp - 0x10cc]
call fcn.05545bba
lea ecx, [ebp - 0x1044]
mov byte [ebp - 4], 4
call fcn.05547285
mov esi, dword [esi]
cmp esi, edi
jne 0x55467dd
lea ecx, [ebp - 0x10f4]
mov byte [ebp - 4], 3
call fcn.05547214
cmp dword [ebp - 0x10c8], 0
jne 0x554687c
xor ebx, ebx
inc ebx
jmp 0x5546d62
lea ecx, [ebp - 0x10c4]
call fcn.05546113
mov eax, dword [ebp - 0x10cc]
mov byte [ebp - 4], 6
mov dword [ebp - 0x10d4], eax
mov esi, dword [eax]
cmp esi, eax
jmp 0x5546980
lea ebx, [esi + 8]
cmp dword [ebx + 0x14], 0x10
mov eax, ebx
mov dword [ebp - 0x10d8], ebx
jb 0x55468b3
mov eax, dword [ebx]
push 0xc3500
mov edi, 0x5407238
push edi
push eax
push 0x552e060
call fcn.05547ace
pop ecx
pop ecx
push eax
call fcn.05544e2a
add esp, 0xc
lea ecx, [ebp - 0x10e4]
call fcn.0554614d
mov dword [ebp - 0x10dc], ebx
push edi
lea ecx, [ebp - 0x10e4]
mov byte [ebp - 4], 7
call fcn.05546476
mov eax, dword [ebp - 0x10e4]
mov edi, dword [eax]
cmp edi, eax
je 0x5546969
mov esi, eax
push dword [ebp - 0x10d8]
lea ecx, [ebp - 0x1094]
lea ebx, [edi + 8]
call fcn.055461b3
push ebx
lea ecx, [ebp - 0x1078]
mov byte [ebp - 4], 8
call fcn.0554620e
lea eax, [ebp - 0x1094]
mov byte [ebp - 4], 9
push eax
push dword [ebp - 0x10c4]
lea ecx, [ebp - 0x10c4]
call fcn.05545c86
lea ecx, [ebp - 0x1078]
mov byte [ebp - 4], 7
call fcn.05547285
lea ecx, [ebp - 0x1094]
call fcn.05547285
mov edi, dword [edi]
cmp edi, esi
jne 0x5546903
mov esi, dword [ebp - 0x10bc]
lea ecx, [ebp - 0x10e4]
mov byte [ebp - 4], 6
call fcn.0554722d
mov esi, dword [esi]
cmp esi, dword [ebp - 0x10d4]
mov dword [ebp - 0x10bc], esi
jne 0x55468a0
call fcn.0554775a
mov edi, dword [ebp - 0x10c4]
mov esi, dword [edi]
cmp esi, edi
je 0x5546cc3
xor ebx, ebx
inc ebx
lea eax, [esi + 8]
mov byte [ebp - 0x10ae], bl
mov dword [ebp - 0x10bc], eax
add eax, 0x1c
mov dword [ebp - 0x10d0], eax
mov ecx, eax
cmp dword [eax + 0x14], 0x10
jb 0x55469c6
mov ecx, dword [eax]
push 0
push 0x40000000
push 3
push 0
push ebx
push 0x100001
push ecx
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0x10b8], eax
xor eax, eax
push eax
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov dword [ebp - 0x10dc], eax
mov eax, dword [ebp - 0x10d0]
mov ecx, eax
cmp dword [eax + 0x14], 0x10
jb 0x5546a06
mov ecx, dword [eax]
push 0x200
push 0x54ca738
push 0xffffffffffffffff
push ecx
push 0
push 0
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov eax, dword [ebp - 0x10b8]
cmp eax, 0xffffffff
je 0x5546c16
push 0x54ca738
push 0x552e088
call fcn.05547b17
push eax
push ebx
call fcn.055478cf
lea eax, [ebp - 0x10ac]
push eax
call fcn.05547f45
add esp, 0x14
mov byte [ebp - 0x10ad], 0
xor eax, eax
mov dword [ebp - 0x10b4], eax
and dword [ebp - 0x111c], 0
xorps xmm0, xmm0
and dword [ebp - 0x1120], 0
mov dword [ebp - 0x1124], eax
lea eax, [ebp - 0x112c]
push eax
push 0
push 0x1000
lea eax, [ebp - 0x1010]
movlpd qword [ebp - 0x112c], xmm0
push eax
push dword [ebp - 0x10b8]
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x5546b3a
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x3e5
je 0x5546ac4
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x26
jne 0x5546d15
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x26
je 0x5546bc7
jmp 0x5546b13
lea eax, [ebp - 0x1044]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [ebp - 0x1044]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageW]
push ebx
xor eax, eax
push eax
push eax
push eax
lea eax, [ebp - 0x1044]
push eax
call dword [sym.imp.USER32.dll_PeekMessageW]
test eax, eax
jne 0x5546ad5
call fcn.055477d4
test al, al
jne 0x5546d3e
mov eax, dword [ebp - 0x10b8]
push 0x1cff
push 0xffffffffffffffff
mov dword [ebp - 0x10d4], eax
lea eax, [ebp - 0x10d4]
push 0
push eax
push ebx
call dword [sym.imp.USER32.dll_MsgWaitForMultipleObjects]
test eax, eax
jne 0x5546aef
push 0
lea eax, [ebp - 0x10d8]
push eax
lea eax, [ebp - 0x112c]
push eax
push dword [ebp - 0x10b8]
call dword [sym.imp.KERNEL32.dll_GetOverlappedResult]
mov dword [ebp - 0x10f8], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push dword [ebp - 0x10d8]
mov dword [ebp - 0x10f0], eax
lea eax, [ebp - 0x1010]
push eax
lea eax, [ebp - 0x10ac]
push eax
call fcn.05547be2
add esp, 0xc
cmp dword [ebp - 0x10d8], 0x1000
jb 0x5546ba2
cmp dword [ebp - 0x10f8], 0
jne 0x5546ba8
cmp dword [ebp - 0x10f0], 0x26
jne 0x5546ba8
mov byte [ebp - 0x10ad], bl
mov eax, dword [ebp - 0x10b4]
add eax, dword [ebp - 0x10d8]
cmp byte [ebp - 0x10ad], 0
mov dword [ebp - 0x10b4], eax
je 0x5546a60
lea eax, [ebp - 0x1024]
push eax
lea eax, [ebp - 0x10ac]
push eax
call fcn.05547f8c
pop ecx
pop ecx
mov ecx, dword [ebp - 0x10d0]
xor edx, edx
mov eax, dword [ecx + edx*4 + 0x1d]
lea ecx, [ebp - 0x1024]
cmp eax, dword [ecx + edx*4]
mov ecx, dword [ebp - 0x10d0]
jne 0x5546c08
inc edx
cmp edx, 5
jne 0x5546be4
mov byte [ebp - 0x10ae], 0
jmp 0x5546c10
mov al, bl
mov byte [ebp - 0x10ae], al
mov eax, dword [ebp - 0x10b8]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push dword [ebp - 0x10dc]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp byte [ebp - 0x10ae], 0
je 0x5546cb9
mov ecx, dword [ebp - 0x10d0]
mov edx, ecx
cmp dword [ecx + 0x14], 0x10
jb 0x5546c46
mov edx, dword [ecx]
mov eax, dword [ebp - 0x10bc]
cmp dword [eax + 0x14], 0x10
jb 0x5546c5a
mov eax, dword [eax]
mov dword [ebp - 0x10bc], eax
cmp byte [ecx + 0x1c], 0
mov eax, 0x552e0e8
mov dword [ebp - 0x10dc], 0x552e0ec
cmove eax, dword [ebp - 0x10dc]
push eax
mov eax, dword [ebp - 0x10bc]
push edx
push eax
push 0x552e0f0
call fcn.05547ace
mov dword [ebp - 0x10dc], eax
add esp, 0x10
mov eax, dword [ebp - 0x10d0]
mov edx, eax
cmp dword [eax + 0x14], 0x10
jb 0x5546ca0
mov edx, dword [eax]
movzx ecx, byte [eax + 0x1c]
push ecx
push 0
push dword [eax + 0x18]
push edx
push dword [ebp - 0x10dc]
call fcn.05544574
add esp, 0x14
mov esi, dword [esi]
cmp esi, edi
jne 0x55469a4
call fcn.05544ec9
mov byte [ebp - 0x10ad], al
call fcn.055477c7
cmp byte [ebp - 0x10ad], 0
je 0x5546de4
push 0x552e110
push 0x552e054
call fcn.05586e82
mov ebx, eax
pop ecx
pop ecx
test ebx, ebx
je 0x5546de4
push 0x552e114
push ebx
call fcn.05547528
mov edi, dword [ebp - 0x10ec]
pop ecx
pop ecx
mov esi, dword [edi]
jmp 0x5546dcc
push 0x10
push 0x552d41c
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x54ca738
push 0x552e0a0
call fcn.05547b17
add esp, 0xc
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
push dword [ebp - 0x10c4]
lea eax, [ebp - 0x10c4]
push eax
call fcn.05545aa4
push 0x58
push dword [ebp - 0x10c4]
call fcn.055444ce
add esp, 0x10
xor bl, bl
push dword [ebp - 0x10cc]
lea eax, [ebp - 0x10cc]
push eax
call fcn.05545acd
push 0x24
push dword [ebp - 0x10cc]
call fcn.055444ce
add esp, 0x10
lea ecx, [ebp - 0x10ec]
call fcn.05547214
lea ecx, [ebp - 0x110c]
call fcn.0554725f
lea ecx, [ebp - 0x1114]
call fcn.05547246
mov al, bl
jmp 0x5546640
cmp dword [esi + 0x1c], 0x10
lea ecx, [esi + 8]
jb 0x5546db8
mov ecx, dword [esi + 8]
push dword [esi + 0x20]
push ecx
push 0x552e120
push ebx
call fcn.05547528
mov esi, dword [esi]
add esp, 0x10
cmp esi, edi
jne 0x5546dac
push 0x552e144
push ebx
call fcn.05547528
push ebx
call fcn.05586d5b
add esp, 0xc
push dword [ebp - 0x10c4]
lea eax, [ebp - 0x10c4]
push eax
call fcn.05545aa4
push 0x58
push dword [ebp - 0x10c4]
call fcn.055444ce
push dword [ebp - 0x10cc]
lea eax, [ebp - 0x10cc]
push eax
call fcn.05545acd
push 0x24
push dword [ebp - 0x10cc]
call fcn.055444ce
add esp, 0x20
lea ecx, [ebp - 0x10ec]
call fcn.05547214
lea ecx, [ebp - 0x110c]
call fcn.0554725f
lea ecx, [ebp - 0x1114]
call fcn.05547246
mov al, byte [ebp - 0x10ad]
jmp 0x5546640
call fcn.0557cbd0
int3