Function at 0x1800153d0
Capabilities:
Access the windows event log
Get common file path
Get file size
Read file on windows

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x608]
sub rsp, 0x6d0
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
movaps xmmword [rax - 0x88], xmm10
movaps xmmword [rax - 0x98], xmm11
movaps xmmword [rax - 0xa8], xmm12
movaps xmmword [rax - 0xb8], xmm13
movaps xmmword [rax - 0xc8], xmm14
movaps xmmword [rax - 0xd8], xmm15
mov rax, qword [0x1803964c0]
xor rax, rsp
mov qword [rbp + 0x520], rax
lea edi, [rcx + 0xb]
mov qword [rbp - 0x38], r8
mov dword [rbp - 0x7c], ecx
mov r12, r8
lea r10, [0x180000000]
mov r14, rdx
mov r15d, ecx
cmp ecx, edi
jae 0x1800159d1
movsd xmm7, qword [0x180377728]
lea ebx, [rcx - 0x94]
movsd xmm8, qword [0x180377900]
mov edx, 0x30
movsd xmm6, qword [0x180374298]
movsd xmm9, qword [0x1803758d8]
movsd xmm10, qword [0x180374688]
movsd xmm11, qword [0x1803745d8]
lea r13d, [rdx + 0x2f]
movsd xmm12, qword [str.YFju]
lea r8d, [rdx + 0x39]
movsd xmm13, qword [0x180375860]
lea r9d, [rdx + 2]
movsd xmm14, qword [0x180377e78]
movsd xmm15, qword [0x180377cc0]
mov esi, dword [rbp - 0x74]
cmp ebx, 0x18
ja case.0x1800154eb.6
mov ecx, dword [r10 + rbx*4 + 0x15f40]
add rcx, r10
jmp rcx
mov r8d, 1
mov word [rbp + 0x2e3], r13w
lea rdx, [0x18036da44]
lea rcx, [rbp + 0x2d8]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncat]
jmp 0x1800159ac
mov dword [rbp + 0x2c5], 0x654e5f
mov word [rbp + 0x2c8], r8w
jmp case.0x1800154eb.6
mov eax, dword [r12]
lea rdx, [rsp + 0x78]
shr qword [r12], 0x20
xor r9d, r9d
mov rsi, qword [r12]
xor ecx, ecx
mov dword [rsp + 0x78], eax
lea r8d, [r9 + 0x5d]
call fcn.1800291c0
mov eax, eax
shl rax, 0x20
mov qword [r12], rax
jmp 0x1800159ac
lea r9, [rsp + 0x68]
movsd qword [rsp + 0x68], xmm7
mov r8d, 0x7f
movsd qword [rsp + 0x60], xmm8
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x270]
call fcn.1800b35d0
movsd xmm0, qword [rbp + 0x270]
lea rax, [rsp + 0x68]
mov qword [rsp + 0x30], rax
lea r9, str.eraNum06a
lea rax, [rsp + 0x60]
movsd qword [rsp + 0x60], xmm6
mov qword [rsp + 0x28], rax
lea rcx, [0x18036d3dc]
lea rax, [rsp + 0x58]
movsd qword [rsp + 0x58], xmm9
mov r8d, 0x103
mov qword [rsp + 0x20], rax
mov rdx, r12
movsd qword [rsp + 0x68], xmm0
call fcn.1800e22b0
movsd xmm0, qword [rbp + 0x278]
lea rax, [rsp + 0x68]
mov qword [rsp + 0x30], rax
lea r9, str.eraNum06a
lea rax, [rsp + 0x60]
movsd qword [rsp + 0x60], xmm6
mov qword [rsp + 0x28], rax
lea rcx, [0x18036d3e0]
lea rax, [rsp + 0x58]
movsd qword [rsp + 0x58], xmm10
mov r8d, 0x103
mov qword [rsp + 0x20], rax
mov rdx, r12
movsd qword [rsp + 0x68], xmm0
call fcn.1800e22b0
movsd xmm0, qword [rbp + 0x280]
lea rax, [rsp + 0x68]
mov qword [rsp + 0x30], rax
lea r9, str.eraNum06a
lea rax, [rsp + 0x60]
movsd qword [rsp + 0x60], xmm6
mov qword [rsp + 0x28], rax
lea rcx, [0x18036d3e4]
lea rax, [rsp + 0x58]
movsd qword [rsp + 0x58], xmm11
mov r8d, 0x103
mov qword [rsp + 0x20], rax
mov rdx, r12
movsd qword [rsp + 0x68], xmm0
call fcn.1800e22b0
movsd xmm0, qword [rbp + 0x288]
lea rax, [rsp + 0x68]
mov qword [rsp + 0x30], rax
lea r9, str.eraNum06a
lea rax, [rsp + 0x60]
movsd qword [rsp + 0x60], xmm6
mov qword [rsp + 0x28], rax
lea rcx, [0x18036d3e8]
lea rax, [rsp + 0x58]
movsd qword [rsp + 0x58], xmm12
mov r8d, 0x103
mov qword [rsp + 0x20], rax
mov rdx, r12
movsd qword [rsp + 0x68], xmm0
call fcn.1800e22b0
jmp 0x1800159ac
mov r8d, 3
lea rdx, [0x18037316c]
lea rcx, [rbp + 0x2d8]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
mov eax, 0x6d
mov dword [rbp + 0x2da], 0x76766e
mov word [rbp + 0x2dd], ax
mov eax, dword [str.sust]
mov word [rbp + 0x2de], r13w
mov dword [rbp + 0x2df], eax
movzx eax, byte [0x180373174]
mov byte [rbp + 0x2e3], al
jmp 0x1800159ac
xor r9d, r9d
mov dword [rsp + 0x78], esi
lea rdx, [rsp + 0x78]
xor ecx, ecx
lea r8d, [r9 + 0x5d]
call fcn.1800291c0
mov ecx, eax
or qword [r12], rcx
mov rax, qword [r12]
mov qword [rbp - 0x70], rax
jmp 0x1800159ac
movsd xmm0, qword [rbp + 0x290]
lea rax, [rsp + 0x68]
mov qword [rsp + 0x30], rax
lea r9, str.eraNum06a
lea rax, [rsp + 0x60]
movsd qword [rsp + 0x60], xmm6
mov qword [rsp + 0x28], rax
lea rcx, [0x18036d3ec]
lea rax, [rsp + 0x58]
movsd qword [rsp + 0x58], xmm13
mov r8d, 0x103
mov qword [rsp + 0x20], rax
mov rdx, r12
movsd qword [rsp + 0x68], xmm0
call fcn.1800e22b0
movsd xmm0, qword [rbp + 0x298]
lea rax, [rsp + 0x68]
mov qword [rsp + 0x30], rax
lea r9, str.eraNum06a
lea rax, [rsp + 0x60]
movsd qword [rsp + 0x60], xmm6
mov qword [rsp + 0x28], rax
lea rcx, [0x18036d3f0]
lea rax, [rsp + 0x58]
movsd qword [rsp + 0x58], xmm14
mov r8d, 0x103
mov qword [rsp + 0x20], rax
mov rdx, r12
movsd qword [rsp + 0x68], xmm0
call fcn.1800e22b0
movsd xmm0, qword [rbp + 0x2a0]
lea rax, [rsp + 0x68]
mov qword [rsp + 0x30], rax
lea r9, str.eraNum06a
lea rax, [rsp + 0x60]
movsd qword [rsp + 0x60], xmm6
mov qword [rsp + 0x28], rax
lea rcx, [0x18036d3f4]
lea rax, [rsp + 0x58]
movsd qword [rsp + 0x58], xmm15
mov r8d, 0x103
mov qword [rsp + 0x20], rax
mov rdx, r12
movsd qword [rsp + 0x68], xmm0
call fcn.1800e22b0
movsd xmm0, qword [0x180374820]
lea rax, [rsp + 0x68]
mov qword [rsp + 0x30], rax
lea r9, str.eraNum06a
lea rax, [rsp + 0x60]
movsd qword [rsp + 0x58], xmm0
movsd xmm0, qword [rbp + 0x2a8]
lea rcx, [0x18036d3f8]
mov qword [rsp + 0x28], rax
mov r8d, 0x103
lea rax, [rsp + 0x58]
movsd qword [rsp + 0x60], xmm6
mov rdx, r12
mov qword [rsp + 0x20], rax
movsd qword [rsp + 0x68], xmm0
call fcn.1800e22b0
movsd xmm0, qword [0x180375880]
lea rax, [rsp + 0x68]
mov qword [rsp + 0x30], rax
lea r9, str.eraNum06a
lea rax, [rsp + 0x60]
movsd qword [rsp + 0x58], xmm0
movsd xmm0, qword [rbp + 0x2b0]
lea rcx, [0x18036d3cc]
mov qword [rsp + 0x28], rax
mov r8d, 0x103
lea rax, [rsp + 0x58]
movsd qword [rsp + 0x60], xmm6
mov rdx, r12
mov qword [rsp + 0x20], rax
movsd qword [rsp + 0x68], xmm0
call fcn.1800e22b0
jmp 0x1800159ac
mov r8d, 4
lea rdx, str.trap
lea rcx, [rbp + 0x2d8]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncat]
mov eax, 0x3156
mov word [rbp + 0x2c0], ax
jmp 0x1800159ac
mov word [rbp + 0x2c2], dx
mov word [rbp + 0x2c3], r9w
mov word [rbp + 0x2c4], dx
jmp case.0x1800154eb.6
lea rcx, [rbp + 0x2d8]
dec rcx
cmp byte [rcx + 1], 0
lea rcx, [rcx + 1]
jne 0x180015966
movzx eax, word [0x18037315c]
lea rdx, [0x180373180]
mov word [rcx], ax
mov r8d, 4
lea rcx, [rbp + 0x2e6]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
movzx eax, word [0x18036d810]
mov word [rbp + 0x2e9], ax
mov dword [rbp + 0x2eb], 0x5f3869
mov r9d, 0x32
lea r10, [0x180000000]
lea r8d, [r9 + 0x37]
lea edx, [r9 - 2]
inc ebx
lea eax, [rbx + 0x94]
cmp eax, edi
jb 0x1800154d7
lea r8d, [r15 - 0xb]
mov dword [rsp + 0x74], r8d
cmp r15d, r8d
jbe case.0x1800154eb.24
mov r13, qword [rbp - 0x40]
lea ebx, [r15 - 0x8a]
movzx esi, byte [rsp + 0x52]
xor edi, edi
mov r12, qword [rbp - 0x40]
mov dword [rbp - 0x80], ebx
lea edx, [rdi + 0x74]
mov r11d, 0x68
lea r9d, [r11 - 1]
cmp ebx, 0xa
ja case.default.0x180015a1d
mov ecx, dword [r10 + rbx*4 + 0x15fa4]
add rcx, r10
jmp rcx
xor edx, edx
lea rcx, [rbp + 0xb0]
mov r8d, 0x1c0
call sub.VCRUNTIME140.dll_memset
mov ecx, dword [rsp + 0x78]
mov rdx, qword [r14 + 0x10]
cmp rcx, rdx
ja 0x180015a57
mov qword [r14 + 0x10], rcx
mov rax, r14
cmp qword [r14 + 0x18], 0x10
jb 0x180015a51
mov rax, qword [r14]
mov byte [rax + rcx], dil
jmp 0x180015ab0
mov r8, qword [r14 + 0x18]
mov r15, rcx
mov rax, r8
sub r15, rdx
sub rax, rdx
cmp r15, rax
ja 0x180015a96
mov qword [r14 + 0x10], rcx
mov rax, r14
cmp r8, 0x10
jb 0x180015a7c
mov rax, qword [r14]
lea rbx, [rax + rdx]
mov r8, r15
mov rcx, rbx
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov byte [r15 + rbx], dil
mov ebx, dword [rbp - 0x80]
jmp 0x180015aac
mov r9, r15
mov byte [rsp + 0x20], dil
xor r8d, r8d
mov rdx, r15
mov rcx, r14
call fcn.1800026e0
mov r15d, dword [rbp - 0x7c]
xor edx, edx
mov rcx, r14
call fcn.180003b40
mov r8d, dword [rsp + 0x78]
lea r9, [rbp - 0x78]
mov rcx, qword [rsp + 0x58]
mov rdx, rax
mov qword [rsp + 0x20], rdi
call qword [sym.imp.KERNEL32.dll_ReadFile]
jmp 0x180015dc2
mov rax, qword [rsp + 0x58]
cmp rax, 0xffffffffffffffff
jne 0x180015bb6
mov ebx, edi
nop dword [rax]
cmp ebx, 6
ja case.default.0x180015b06
mov eax, ebx
mov ecx, dword [r10 + rax*4 + 0x15fd0]
add rcx, r10
jmp rcx
mov dword [rbp - 0x4c], 0x3c
jmp case.default.0x180015b06
xorps xmm0, xmm0
lea rdx, [rbp + 0x310]
xor eax, eax
mov ecx, 0x104
movups xmmword [rbp - 0x30], xmm0
mov qword [rbp], rax
movups xmmword [rbp - 0x20], xmm0
mov dword [rbp + 8], eax
movups xmmword [rbp - 0x10], xmm0
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
lea r10, [0x180000000]
jmp case.default.0x180015b06
lea rdx, [rbp - 0x30]
mov rcx, r13
call sub.IMM32.dll_ImmGetCompositionFontA
mov dword [rbp - 0x74], eax
lea r10, [0x180000000]
mov dword [rbp - 0x50], 0x50
mov dword [rbp - 0x54], 0x50
jmp case.default.0x180015b06
mov qword [rbp - 0x40], rdi
jmp case.default.0x180015b06
mov byte [rsp + 0x70], 1
mov dword [rbp - 0x5c], 0x2d
jmp case.default.0x180015b06
mov dword [rbp - 0x60], 0x36
mov r13, rdi
mov dword [rbp - 0x64], 0x64
mov dword [rbp - 0x68], 0x64
mov dword [rbp - 0x48], 0x3c
inc ebx
lea eax, [rbx + 0x22]
cmp eax, 0x29
jb 0x180015af0
mov ebx, dword [rbp - 0x80]
mov rax, qword [rsp + 0x58]
xorps xmm0, xmm0
mov dword [rbp - 0x78], edi
xor ecx, ecx
xor edx, edx
mov qword [rbp + 0xa0], rcx
mov dword [rbp + 0xa8], ecx
mov rcx, rax
movups xmmword [rbp + 0x10], xmm0
movups xmmword [rbp + 0x20], xmm0
movups xmmword [rbp + 0x30], xmm0
movups xmmword [rbp + 0x40], xmm0
movups xmmword [rbp + 0x50], xmm0
movups xmmword [rbp + 0x60], xmm0
movups xmmword [rbp + 0x70], xmm0
movups xmmword [rbp + 0x80], xmm0
movups xmmword [rbp + 0x90], xmm0
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [rsp + 0x78], eax
mov eax, 0x9c
mov word [rbp + 0x34], ax
jmp 0x180015dc2
mov eax, dword [rsp + 0x78]
cmp eax, dword [rbp - 0x78]
je 0x180015ca2
mov ebx, 0x56
mov eax, ebx
sub eax, 0x53
je 0x180015e4e
sub eax, 1
je 0x180015c63
sub eax, 1
je 0x180015c44
cmp eax, 1
jne 0x180015c93
mov byte [rsp + 0x52], al
jmp 0x180015c93
movups xmm0, xmmword [str.FQbad_exception]
mov sil, 1
mov r12, rdi
movups xmmword [rbp + 0x2f8], xmm0
call qword [sym.imp.WINMM.dll_mixerGetNumDevs]
mov dword [rbp - 0x58], eax
jmp 0x180015c93
mov qword [r14 + 0x10], rdi
mov rax, r14
cmp qword [r14 + 0x18], 0x10
jb 0x180015c74
mov rax, qword [r14]
lea rdx, [rbp + 0x2f8]
mov byte [rax], dil
xor ecx, ecx
call qword [sym.imp.ADVAPI32.dll_RegisterEventSourceA]
cmp dword [rbp - 0x58], edi
mov r12, rax
movzx esi, sil
cmove esi, edi
dec ebx
cmp ebx, 0x52
ja 0x180015c24
mov ebx, dword [rbp - 0x80]
mov r8d, dword [rsp + 0x74]
movzx ecx, byte [rsp + 0x50]
mov edx, edi
cmp qword [rsp + 0x68], rdx
cmovne edx, ecx
mov byte [rsp + 0x50], dl
jmp 0x180015dc7
mov byte [rsp + 0x50], 1
mov byte [rsp + 0x51], 1
jmp case.default.0x180015a1d
mov rax, qword [rbp - 0x38]
mov dword [rbp + 0x2ce], 0x66654c72
mov rcx, rax
mov word [rbp + 0x2d2], dx
cmp qword [rax + 0x18], 8
jb 0x180015ceb
mov rcx, qword [rax]
xor r9d, r9d
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], 0x80
mov edx, 0x80000000
mov dword [rsp + 0x20], 3
lea r8d, [r9 + 3]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov qword [rsp + 0x58], rax
jmp 0x180015dc2
cmp byte [rsp + 0x50], dil
je case.default.0x180015a1d
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.GDI32.dll_DeleteDC]
jmp 0x180015dc2
mov word [rbp + 0x2c9], r9w
mov word [rbp + 0x2ca], r11w
mov dword [rbp + 0x2cb], 0x756f62
jmp case.default.0x180015a1d
cmp byte [rsp + 0x51], dil
je case.default.0x180015a1d
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.ADVAPI32.dll_CloseTrace]
jmp 0x180015dc2
mov rax, qword [rsp + 0x60]
movabs rcx, 0xfffffffeffffffff
inc rax
test rcx, rax
jne case.default.0x180015a1d
mov byte [rsp + 0x51], dil
jmp case.default.0x180015a1d
lea rcx, [rbp + 0xb0]
call qword [sym.imp.ADVAPI32.dll_OpenTraceA]
mov rcx, qword [rsp + 0x58]
mov qword [rsp + 0x60], rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea r9, [rbp + 0x10]
xor r8d, r8d
lea rdx, [rbp + 0x2c0]
lea rcx, [rbp + 0x2d8]
call qword [sym.imp.GDI32.dll_CreateICA]
mov qword [rsp + 0x68], rax
mov r8d, dword [rsp + 0x74]
mov edx, 0x74
dec r15d
dec ebx
mov dword [rbp - 0x7c], r15d
mov dword [rbp - 0x80], ebx
cmp r15d, r8d
jbe case.0x1800154eb.24
lea r10, [0x180000000]
jmp 0x1800159ff
mov eax, dword [rbp - 0x54]
mov r9d, dword [rbp - 0x64]
mov r8d, dword [rbp - 0x60]
mov edx, dword [rbp - 0x5c]
mov rcx, qword [rbp - 0x40]
mov dword [rsp + 0x40], eax
mov eax, dword [rbp - 0x50]
mov dword [rsp + 0x38], eax
mov eax, dword [rbp - 0x4c]
mov dword [rsp + 0x30], eax
mov eax, dword [rbp - 0x48]
mov dword [rsp + 0x28], eax
mov eax, dword [rbp - 0x68]
mov dword [rsp + 0x20], eax
call qword [sym.imp.GDI32.dll_Chord]
cmp dword [rbp - 0x74], edi
movzx eax, byte [rsp + 0x70]
cmovne edi, eax
test dil, dil
je 0x180015ed0
lea rdx, [rbp - 0x30]
mov rcx, r13
call sub.IMM32.dll_ImmSetCompositionFontA
mov byte [rbp - 0x70], 0
jmp case.0x1800154eb.24
movzx eax, byte [rsp + 0x52]
test r12, r12
mov ecx, edi
cmovne ecx, eax
test cl, cl
je 0x180015e91
mov qword [rsp + 0x40], rdi
xor r8d, r8d
mov qword [rsp + 0x38], rdi
xor edx, edx
mov dword [rsp + 0x30], edi
xor r9d, r9d
mov word [rsp + 0x28], di
mov rcx, r12
mov qword [rsp + 0x20], rdi
call qword [sym.imp.ADVAPI32.dll_ReportEventA]
mov rcx, r12
call qword [sym.imp.ADVAPI32.dll_DeregisterEventSource]
test sil, sil
je 0x180015ed0
xor edx, edx
lea rcx, [rbp + 0x314]
mov r8d, 0xa8
call sub.VCRUNTIME140.dll_memset
mov r8d, 0x80000000
mov dword [rbp + 0x310], 0xac
lea rdx, [rbp + 0x310]
xor ecx, ecx
call qword [sym.imp.WINMM.dll_mixerGetLineInfoA]
nop dword [rax]
mov byte [rbp - 0x70], 0
jmp case.0x1800154eb.24
mov byte [rbp - 0x70], 1
mov rax, qword [rbp - 0x70]
mov rcx, qword [rbp + 0x520]
xor rcx, rsp
call fcn.18012c9a0
lea r11, [rsp + 0x6d0]
mov rbx, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret