Function at 0x164c9e990
Capabilities:
Read file via mapping

Disassembly:
mov r11, rsp
mov qword [r11 + 0x10], rbx
mov qword [r11 + 0x18], rsi
mov qword [r11 + 8], rcx
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x130
mov rax, qword [0x164cf5010]
xor rax, rsp
mov qword [rsp + 0x128], rax
mov rax, rcx
mov qword [rsp + 0x40], rcx
mov r12d, 0x490
mov edi, r12d
mov dword [rsp + 0x50], r12d
xor ebx, ebx
mov r13d, ebx
mov qword [rsp + 0x60], rbx
mov dword [rsp + 0x34], ebx
mov byte [rsp + 0x30], bl
mov byte [rsp + 0x31], bl
mov qword [rsp + 0x78], rbx
mov qword [rsp + 0xf8], rbx
mov r14d, ebx
mov qword [r11 - 0xd8], rbx
call qword [sym.imp.KERNEL32.dll_GetVersion]
mov esi, ebx
mov qword [rsp + 0x70], rbx
cmp qword [rsp + 0x40], rbx
jne 0x164c9ea20
lea edi, [rbx + 0x57]
jmp 0x164c9f99d
mov ecx, 0x105
cmp ax, cx
je 0x164c9eb12
lea rcx, str.kernel32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rcx, rax
lea rdx, str.GetSystemFirmwareTable
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
test rax, rax
je 0x164c9edbe
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov ecx, 0x52534d42
call qword [0x164cdeeb8]
mov r15d, eax
test eax, eax
je 0x164c9edbe
mov ecx, eax
add ecx, 0x400
mov r10, 0xffffffffffffffff
cmovb rcx, r10
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rcx, rax
mov qword [rsp + 0x78], rax
test rax, rax
jne 0x164c9eaa3
lea edi, [rax + 8]
jmp 0x164c9f99d
lea r8d, [r15 + 0x400]
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov r9d, r15d
mov r8, qword [rsp + 0x78]
xor edx, edx
mov ecx, 0x52534d42
mov rax, rbx
call qword [0x164cdeeb8]
test eax, eax
je 0x164c9edbe
mov rdx, qword [rsp + 0x78]
movzx ecx, byte [rdx + 1]
mov byte [rsp + 0x30], cl
movzx eax, byte [rdx + 2]
mov byte [rsp + 0x31], al
cmp cl, 2
jae 0x164c9eaf5
mov edi, 0x718
jmp 0x164c9f99d
lea r13, [rdx + 8]
mov qword [rsp + 0x60], r13
mov r15d, dword [rdx + 4]
mov dword [rsp + 0x34], r15d
xor edi, edi
mov dword [rsp + 0x50], edi
jmp 0x164c9edbe
mov qword [rsp + 0xa8], rbx
mov dword [rsp + 0xb0], 0x2e002c
lea rax, str.DevicePhysicalMemory
mov qword [rsp + 0xb8], rax
lea rcx, str.ntdll.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rcx, rax
lea rdx, str.NtOpenSection
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsp + 0x88], rax
test rax, rax
je 0x164c9ed72
mov dword [rsp + 0xc0], 0x30
mov qword [rsp + 0xc8], rbx
lea rcx, [rsp + 0xb0]
mov qword [rsp + 0xd0], rcx
mov dword [rsp + 0xd8], 0x40
xorps xmm0, xmm0
movdqu xmmword [rsp + 0xe0], xmm0
lea r8, [rsp + 0xc0]
mov edx, 4
lea rcx, [rsp + 0xa8]
call qword [0x164cdeeb8]
test eax, eax
js 0x164c9ed72
mov qword [rsp + 0x20], 0x10000
mov r9d, 0xf0000
xor r8d, r8d
lea edx, [r8 + 4]
mov rcx, qword [rsp + 0xa8]
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov rsi, rax
mov qword [rsp + 0x70], rax
test rax, rax
je 0x164c9ed72
mov rcx, rax
mov qword [rsp + 0xa0], rax
nop
mov rax, rcx
sub rax, rsi
cmp rax, 0x10000
jae 0x164c9ec24
cmp dword [rcx], 0x5f4d535f
je 0x164c9ec2a
add rcx, 0x10
mov qword [rsp + 0xa0], rcx
jmp 0x164c9ec00
je 0x164c9ed72
movzx edx, byte [rcx + 5]
lea eax, [rdx - 0x1e]
cmp al, 1
ja 0x164c9ed72
mov eax, edx
sub rax, rsi
add rax, rcx
cmp rax, 0x10000
ja 0x164c9ed72
movzx edx, word [rcx + 0x16]
test dx, dx
je 0x164c9ed72
mov eax, 0x494d445f
cmp eax, dword [rcx + 0x10]
jne 0x164c9ed72
mov eax, 0x5f
cmp al, byte [rcx + 0x14]
jne 0x164c9ed72
movzx ebx, byte [rcx + 6]
mov byte [rsp + 0x30], bl
movzx eax, byte [rcx + 7]
mov byte [rsp + 0x31], al
cmp bl, 2
jb 0x164c9ed72
mov ebx, dword [rcx + 0x18]
mov dword [rsp + 0x90], ebx
mov r15d, edx
mov dword [rsp + 0x94], r15d
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
mov r12d, ebx
and r12d, 0xfff
mov dword [rsp + 0x98], r12d
lea ecx, [r12 + r15]
add rcx, 0xfff
and rcx, 0xfffffffffffff000
sub ebx, r12d
mov qword [rsp + 0x20], rcx
mov r9d, ebx
xor r8d, r8d
lea edx, [r8 + 4]
mov rcx, qword [rsp + 0xa8]
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov rsi, rax
mov qword [rsp + 0x70], rax
test rax, rax
je 0x164c9ed72
mov ecx, r15d
add ecx, 0x400
mov r10, 0xffffffffffffffff
cmovb rcx, r10
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov r14, rax
mov qword [rsp + 0x80], rax
test rax, rax
jne 0x164c9ed2d
lea edi, [rax + 8]
jmp 0x164c9ed6e
lea r8d, [r15 + 0x400]
xor edx, edx
mov rcx, r14
call sub.VCRUNTIME140.dll_memset
mov r8, r15
mov edx, r12d
add rdx, rsi
mov rcx, r14
call sub.VCRUNTIME140.dll_memcpy
mov r13, r14
mov qword [rsp + 0x60], r14
mov dword [rsp + 0x34], r15d
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
xor esi, esi
mov qword [rsp + 0x70], rsi
xor edi, edi
mov dword [rsp + 0x50], edi
mov r10, 0xffffffffffffffff
jmp 0x164c9eda5
mov r12d, 0x490
mov rcx, qword [rsp + 0xa8]
test rcx, rcx
je 0x164c9edc5
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov r10, 0xffffffffffffffff
mov r15, r13
test edi, edi
jne 0x164c9f98f
mov r9d, r12d
mov dl, 1
test r13, r13
je 0x164c9efc9
mov r14d, dword [rsp + 0x34]
test r14d, r14d
je 0x164c9efce
mov rdi, r13
mov esi, r14d
lea r8, [r14 + r13]
lea r11, [r13 + 4]
mov qword [rsp + 0x58], r11
cmp r11, r8
ja 0x164c9ee39
cmp byte [rdi], 0
jne 0x164c9ee10
cmp dl, 1
je 0x164c9ee34
inc dl
movzx ecx, byte [rdi + 1]
add rcx, rdi
cmp byte [rcx], 0
jne 0x164c9ee22
cmp byte [rcx + 1], 0
je 0x164c9ee27
inc rcx
jmp 0x164c9ee17
lea rdi, [rcx + 2]
lea rax, [rdi + 4]
cmp rax, r8
jmp 0x164c9ee02
xor r9d, r9d
jmp 0x164c9ee41
mov rdi, qword [rsp + 0x88]
test r9d, r9d
jne 0x164c9efda
mov qword [rsp + 0xf8], 0
call fcn.164ca23d0
mov rcx, rax
test rax, rax
je 0x164c9f9ef
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [0x164cdeeb8]
lea rbx, [rax + 0x18]
mov qword [rsp + 0xf8], rbx
movzx r9d, byte [rdi + 8]
mov r8d, 1
movzx edx, byte [rdi + 1]
add rdx, rdi
mov r10, 0xffffffffffffffff
nop dword [rax]
cmp byte [rdx], 0
jne 0x164c9eebc
cmp byte [rdx + 1], 0
je 0x164c9ef80
inc r8d
mov ecx, 1
add rdx, rcx
jmp 0x164c9eea0
mov rcx, r10
nop
inc rcx
cmp byte [rdx + rcx], 0
jne 0x164c9eec0
cmp r8d, r9d
je 0x164c9eed3
add rdx, rcx
jmp 0x164c9eea0
mov r8d, ecx
lea rcx, [rsp + 0xf8]
call fcn.164ca0d00
lea rcx, [rsp + 0xf8]
call fcn.164ca03c0
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x100], xmm0
movups xmmword [rsp + 0x110], xmm0
mov dword [rsp + 0x120], eax
lea rax, [rsp + 0x114]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x10c]
lea r8, [rsp + 0x110]
lea rdx, str._d__d__d
mov rbx, qword [rsp + 0xf8]
mov rcx, rbx
call fcn.164ca2510
cmp eax, 3
jne 0x164c9ef80
dec dword [rsp + 0x110]
mov eax, dword [rsp + 0x114]
cmp eax, 0x76c
jl 0x164c9ef66
sub eax, 0x76c
mov dword [rsp + 0x114], eax
lea rcx, [rsp + 0x100]
call qword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__mkgmtime64]
mov rcx, qword [rsp + 0x40]
mov qword [rcx + 0x90], rax
lea rdx, [rbx - 0x18]
mov r10, 0xffffffffffffffff
mov eax, r10d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x164c9efbd
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x164cdeeb8]
mov dl, 1
mov r13, qword [rsp + 0x60]
mov r14d, dword [rsp + 0x34]
mov r10, 0xffffffffffffffff
jmp 0x164c9efee
mov r13, qword [rsp + 0x60]
mov r14d, dword [rsp + 0x34]
jmp 0x164c9efda
mov r14d, dword [rsp + 0x34]
mov esi, r14d
lea rax, [r13 + 4]
mov qword [rsp + 0x58], rax
mov dl, 1
test r13, r13
je 0x164c9f0cd
test r14d, r14d
je 0x164c9f0cd
mov rbx, r13
add rsi, r13
mov qword [rsp + 0x68], rsi
mov rcx, rsi
lea rax, [r13 + 4]
cmp rax, rsi
ja 0x164c9f0d1
nop dword [rax]
cmp byte [rbx], 1
jne 0x164c9f01c
cmp dl, 1
je 0x164c9f04c
inc dl
movzx ecx, byte [rbx + 1]
add rcx, rbx
cmp byte [rcx], 0
jne 0x164c9f02e
cmp byte [rcx + 1], 0
je 0x164c9f033
inc rcx
jmp 0x164c9f023
lea rbx, [rcx + 2]
lea rax, [rbx + 4]
cmp rax, rsi
jbe 0x164c9f010
mov qword [rsp + 0x68], rsi
mov dl, 1
jmp 0x164c9f0f7
mov r11, qword [rsp + 0x40]
lea rdi, [r11 + 8]
movzx r9d, byte [rbx + 7]
mov r8d, 1
movzx edx, byte [rbx + 1]
add rdx, rbx
cmp byte [rdx], 0
jne 0x164c9f07f
cmp byte [rdx + 1], 0
je 0x164c9f0ad
inc r8d
mov ecx, 1
add rdx, rcx
jmp 0x164c9f067
mov rcx, r10
inc rcx
cmp byte [rdx + rcx], 0
jne 0x164c9f082
cmp r8d, r9d
je 0x164c9f095
add rdx, rcx
jmp 0x164c9f067
mov r8d, ecx
mov rcx, rdi
call fcn.164ca0d00
mov rcx, rdi
call fcn.164ca03c0
mov r11, qword [rsp + 0x40]
cmp byte [rsp + 0x30], 2
ja 0x164c9f0c0
mov rcx, rsi
jne 0x164c9f0d1
cmp byte [rsp + 0x31], 1
jb 0x164c9f0d1
movups xmm0, xmmword [rbx + 8]
movups xmmword [r11 + 0x10], xmm0
mov dl, 1
jmp 0x164c9f0f7
lea rcx, [r15 + rsi]
mov rsi, rcx
mov qword [rsp + 0x68], rcx
test r13, r13
je 0x164c9f20a
mov dl, 1
mov rbx, qword [rsp + 0x58]
mov qword [rsp + 0x58], rbx
test r14d, r14d
je 0x164c9f20a
mov rbx, r13
cmp qword [rsp + 0x58], rsi
ja 0x164c9f136
cmp byte [rbx], 2
jne 0x164c9f10d
cmp dl, 1
je 0x164c9f131
inc dl
movzx ecx, byte [rbx + 1]
add rcx, rbx
cmp byte [rcx], 0
jne 0x164c9f11f
cmp byte [rcx + 1], 0
je 0x164c9f124
inc rcx
jmp 0x164c9f114
lea rbx, [rcx + 2]
lea rax, [rbx + 4]
cmp rax, rsi
jmp 0x164c9f0ff
xor r12d, r12d
jmp 0x164c9f13e
mov rbx, qword [rsp + 0x88]
mov r15, qword [rsp + 0x40]
test r12d, r12d
jne 0x164c9f20f
movzx r9d, byte [rbx + 7]
lea r8d, [r12 + 1]
movzx edx, byte [rbx + 1]
add rdx, rbx
nop dword [rax]
cmp byte [rdx], 0
jne 0x164c9f178
cmp byte [rdx + 1], 0
je 0x164c9f1a8
inc r8d
mov ecx, 1
add rdx, rcx
jmp 0x164c9f160
mov rcx, 0xffffffffffffffff
nop
inc rcx
cmp byte [rdx + rcx], 0
jne 0x164c9f180
cmp r8d, r9d
je 0x164c9f193
add rdx, rcx
jmp 0x164c9f160
mov r8d, ecx
lea rcx, [r15 + 0x20]
call fcn.164ca0d00
lea rcx, [r15 + 0x20]
call fcn.164ca03c0
movzx r9d, byte [rbx + 8]
mov r8d, 1
movzx edx, byte [rbx + 1]
add rdx, rbx
nop word [rax + rax]
cmp byte [rdx], 0
jne 0x164c9f1d8
cmp byte [rdx + 1], 0
je 0x164c9f20f
inc r8d
mov ecx, 1
add rdx, rcx
jmp 0x164c9f1c0
mov rcx, 0xffffffffffffffff
nop
inc rcx
cmp byte [rdx + rcx], 0
jne 0x164c9f1e0
cmp r8d, r9d
je 0x164c9f1f3
add rdx, rcx
jmp 0x164c9f1c0
mov r8d, ecx
lea rcx, [r15 + 0x28]
call fcn.164ca0d00
lea rcx, [r15 + 0x28]
call fcn.164ca03c0
jmp 0x164c9f20f
mov r15, qword [rsp + 0x40]
mov dl, 1
mov r12, qword [rsp + 0x58]
test r13, r13
je 0x164c9f458
test r14d, r14d
je 0x164c9f32c
mov rbx, r13
cmp r12, rsi
ja 0x164c9f32c
cmp byte [rbx], 3
jne 0x164c9f240
cmp dl, 1
je 0x164c9f26a
inc dl
movzx ecx, byte [rbx + 1]
add rcx, rbx
cmp byte [rcx], 0
jne 0x164c9f252
cmp byte [rcx + 1], 0
je 0x164c9f257
inc rcx
jmp 0x164c9f247
lea rbx, [rcx + 2]
lea rax, [rbx + 4]
cmp rax, rsi
ja 0x164c9f328
jmp 0x164c9f234
movzx r9d, byte [rbx + 7]
mov r8d, 1
movzx edx, byte [rbx + 1]
add rdx, rbx
nop dword [rax]
cmp byte [rdx], 0
jne 0x164c9f298
cmp byte [rdx + 1], 0
je 0x164c9f2c8
inc r8d
mov ecx, 1
add rdx, rcx
jmp 0x164c9f280
mov rcx, 0xffffffffffffffff
nop
inc rcx
cmp byte [rdx + rcx], 0
jne 0x164c9f2a0
cmp r8d, r9d
je 0x164c9f2b3
add rdx, rcx
jmp 0x164c9f280
mov r8d, ecx
lea rcx, [r15 + 0x30]
call fcn.164ca0d00
lea rcx, [r15 + 0x30]
call fcn.164ca03c0
movzx r9d, byte [rbx + 8]
mov r8d, 1
movzx edx, byte [rbx + 1]
add rdx, rbx
nop word [rax + rax]
cmp byte [rdx], 0
jne 0x164c9f2f8
cmp byte [rdx + 1], 0
je 0x164c9f328
inc r8d
mov ecx, 1
add rdx, rcx
jmp 0x164c9f2e0
mov rcx, 0xffffffffffffffff
nop
inc rcx
cmp byte [rdx + rcx], 0
jne 0x164c9f300
cmp r8d, r9d
je 0x164c9f313
add rdx, rcx
jmp 0x164c9f2e0
mov r8d, ecx
lea rcx, [r15 + 0x38]
call fcn.164ca0d00
lea rcx, [r15 + 0x38]
call fcn.164ca03c0
mov dl, 1
jmp 0x164c9f33a
mov qword [rsp + 0x68], rsi
test r14d, r14d
je 0x164c9f458
mov rbx, r13
cmp r12, rsi
ja 0x164c9f458
cmp byte [rbx], 4
jne 0x164c9f352
cmp dl, 1
je 0x164c9f37d
inc dl
movzx ecx, byte [rbx + 1]
add rcx, rbx
nop dword [rax]
cmp byte [rcx], 0
jne 0x164c9f36b
cmp byte [rcx + 1], 0
je 0x164c9f370
inc rcx
jmp 0x164c9f360
lea rbx, [rcx + 2]
lea rax, [rbx + 4]
cmp rax, rsi
jmp 0x164c9f340
mov rax, qword [rbx + 8]
mov qword [r15 + 0x40], rax
movzx edi, byte [rsp + 0x30]
cmp dil, 2
ja 0x164c9f3a1
jne 0x164c9f45d
cmp byte [rsp + 0x31], 3
jb 0x164c9f45d
movzx r9d, byte [rbx + 0x20]
mov r8d, 1
movzx edx, byte [rbx + 1]
add rdx, rbx
cmp byte [rdx], 0
jne 0x164c9f3cb
cmp byte [rdx + 1], 0
je 0x164c9f3fa
inc r8d
mov ecx, 1
add rdx, rcx
jmp 0x164c9f3b3
mov rcx, 0xffffffffffffffff
inc rcx
cmp byte [rdx + rcx], 0
jne 0x164c9f3d2
cmp r8d, r9d
je 0x164c9f3e5
add rdx, rcx
jmp 0x164c9f3b3
mov r8d, ecx
lea rcx, [r15 + 0x48]
call fcn.164ca0d00
lea rcx, [r15 + 0x48]
call fcn.164ca03c0
movzx r9d, byte [rbx + 0x21]
mov r8d, 1
movzx edx, byte [rbx + 1]
add rdx, rbx
nop dword [rax]
cmp byte [rdx], 0
jne 0x164c9f428
cmp byte [rdx + 1], 0
je 0x164c9f458
inc r8d
mov ecx, 1
add rdx, rcx
jmp 0x164c9f410
mov rcx, 0xffffffffffffffff
nop
inc rcx
cmp byte [rdx + rcx], 0
jne 0x164c9f430
cmp r8d, r9d
je 0x164c9f443
add rdx, rcx
jmp 0x164c9f410
mov r8d, ecx
lea rcx, [r15 + 0x50]
call fcn.164ca0d00
lea rcx, [r15 + 0x50]
call fcn.164ca03c0
movzx edi, byte [rsp + 0x30]
mov bl, 1
mov r15, 0xffffffffffffffff
nop word [rax + rax]
mov qword [rsp + 0xf0], 0
call fcn.164ca23d0
mov rcx, rax
test rax, rax
je 0x164c9f9ef
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [0x164cdeeb8]
add rax, 0x18
mov qword [rsp + 0xf0], rax
mov dl, 1
test r13, r13
je 0x164c9f6ca
test r14d, r14d
je 0x164c9f6ca
cmp r12, rsi
ja 0x164c9f6ca
cmp byte [r13], 0x11
jne 0x164c9f4d0
cmp bl, dl
je 0x164c9f4f5
inc dl
movzx ecx, byte [r13 + 1]
add rcx, r13
cmp byte [rcx], 0
jne 0x164c9f4e3
cmp byte [rcx + 1], 0
je 0x164c9f4e8
inc rcx
jmp 0x164c9f4d8
lea r13, [rcx + 2]
lea rax, [rcx + 6]
cmp rax, rsi
jmp 0x164c9f4bd
cmp dil, 2
ja 0x164c9f50c
jne 0x164c9f688
cmp byte [rsp + 0x31], 3
jb 0x164c9f688
movzx r9d, byte [r13 + 0x1a]
mov r8d, 1
movzx edx, byte [r13 + 1]
add rdx, r13
nop
cmp byte [rdx], 0
jne 0x164c9f538
cmp byte [rdx + 1], 0
je 0x164c9f58a
inc r8d
mov ecx, 1
add rdx, rcx
jmp 0x164c9f520
mov rdi, 0xffffffffffffffff
mov rcx, rdi
inc rcx
cmp byte [rdx + rcx], 0
jne 0x164c9f542
cmp r8d, r9d
je 0x164c9f555
add rdx, rcx
jmp 0x164c9f520
mov r8d, ecx
lea rcx, [rsp + 0xf0]
call fcn.164ca0d00
lea rcx, [rsp + 0xf0]
call fcn.164ca03c0
mov r14, qword [rsp + 0x40]
lea rcx, [r14 + 0x58]
lea rdx, [rsp + 0xf0]
call fcn.164ca0550
jmp 0x164c9f596
mov rdi, 0xffffffffffffffff
mov r14, qword [rsp + 0x40]
movzx r9d, byte [r13 + 0x18]
mov r8d, 1
movzx edx, byte [r13 + 1]
add rdx, r13
nop dword [rax]
cmp byte [rdx], 0
jne 0x164c9f5c8
cmp byte [rdx + 1], 0
je 0x164c9f611
inc r8d
mov ecx, 1
add rdx, rcx
jmp 0x164c9f5b0
mov rcx, rdi
nop dword [rax + rax]
inc rcx
cmp byte [rdx + rcx], 0
jne 0x164c9f5d0
cmp r8d, r9d
je 0x164c9f5e3
add rdx, rcx
jmp 0x164c9f5b0
mov r8d, ecx
lea rcx, [rsp + 0xf0]
call fcn.164ca0d00
lea rcx, [rsp + 0xf0]
call fcn.164ca03c0
lea rcx, [r14 + 0x60]
lea rdx, [rsp + 0xf0]
call fcn.164ca0550
movzx r9d, byte [r13 + 0x19]
mov r8d, 1
movzx edx, byte [r13 + 1]
add rdx, r13
cmp byte [rdx], 0
jne 0x164c9f63c
cmp byte [rdx + 1], 0
je 0x164c9f681
inc r8d
mov ecx, 1
add rdx, rcx
jmp 0x164c9f624
mov rcx, rdi
nop
inc rcx
cmp byte [rdx + rcx], 0
jne 0x164c9f640
cmp r8d, r9d
je 0x164c9f653
add rdx, rcx
jmp 0x164c9f624
mov r8d, ecx
lea rcx, [rsp + 0xf0]
call fcn.164ca0d00
lea rcx, [rsp + 0xf0]
call fcn.164ca03c0
lea rcx, [r14 + 0x68]
lea rdx, [rsp + 0xf0]
call fcn.164ca0550
mov r15, 0xffffffffffffffff
mov rdx, qword [rsp + 0xf0]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x164c9f6b1
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x164cdeeb8]
add bl, 1
je 0x164c9f6f3
mov r13, qword [rsp + 0x60]
mov r14d, dword [rsp + 0x34]
movzx edi, byte [rsp + 0x30]
jmp 0x164c9f470
mov rdx, qword [rsp + 0xf0]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x164c9f6f3
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x164cdeeb8]
movzx esi, byte [rsp + 0x30]
cmp sil, 2
ja 0x164c9f725
jne 0x164c9f716
cmp byte [rsp + 0x31], 1
jae 0x164c9f725
mov rbx, qword [rsp + 0x60]
mov r14, qword [rsp + 0x68]
jmp 0x164c9f7f8
mov rbx, qword [rsp + 0x60]
mov r14, qword [rsp + 0x68]
jmp 0x164c9f7ee
mov dl, 1
mov rbx, qword [rsp + 0x60]
mov r14, qword [rsp + 0x68]
test rbx, rbx
je 0x164c9f7e8
cmp dword [rsp + 0x34], 0
je 0x164c9f7e8
mov r8, rbx
cmp r12, r14
ja 0x164c9f7e8
cmp byte [r8], 0x16
jne 0x164c9f75e
cmp dl, 1
je 0x164c9f783
inc dl
movzx ecx, byte [r8 + 1]
add rcx, r8
cmp byte [rcx], 0
jne 0x164c9f771
cmp byte [rcx + 1], 0
je 0x164c9f776
inc rcx
jmp 0x164c9f766
lea r8, [rcx + 2]
lea rax, [r8 + 4]
cmp rax, r14
jmp 0x164c9f74b
mov rdi, qword [rsp + 0x40]
movzx r10d, byte [r8 + 7]
mov r9d, 1
movzx edx, byte [r8 + 1]
add rdx, r8
nop dword [rax + rax]
cmp byte [rdx], 0
jne 0x164c9f7b8
cmp byte [rdx + 1], 0
je 0x164c9f7e8
inc r9d
mov ecx, 1
add rdx, rcx
jmp 0x164c9f7a0
mov rcx, r15
nop dword [rax + rax]
inc rcx
cmp byte [rdx + rcx], 0
jne 0x164c9f7c0
cmp r9d, r10d
je 0x164c9f7d3
add rdx, rcx
jmp 0x164c9f7a0
mov r8d, ecx
lea rcx, [rdi + 0x70]
call fcn.164ca0d00
lea rcx, [rdi + 0x70]
call fcn.164ca03c0
cmp sil, 2
ja 0x164c9f803
cmp sil, 2
jne 0x164c9f97e
cmp byte [rsp + 0x31], 3
jb 0x164c9f97e
mov dl, 1
test rbx, rbx
je 0x164c9f97e
cmp dword [rsp + 0x34], 0
je 0x164c9f97e
cmp r12, r14
ja 0x164c9f97e
cmp byte [rbx], 0x27
jne 0x164c9f82e
cmp dl, 1
je 0x164c9f852
inc dl
movzx ecx, byte [rbx + 1]
add rcx, rbx
cmp byte [rcx], 0
jne 0x164c9f840
cmp byte [rcx + 1], 0
je 0x164c9f845
inc rcx
jmp 0x164c9f835
lea rbx, [rcx + 2]
lea rax, [rbx + 4]
cmp rax, r14
jmp 0x164c9f81c
mov rsi, qword [rsp + 0x40]
movzx r9d, byte [rbx + 0xa]
mov r8d, 1
movzx edx, byte [rbx + 1]
add rdx, rbx
nop dword [rax]
cmp byte [rdx], 0
jne 0x164c9f888
cmp byte [rdx + 1], 0
je 0x164c9f8b8
inc r8d
mov ecx, 1
add rdx, rcx
jmp 0x164c9f870
mov rcx, r15
nop dword [rax + rax]
inc rcx
cmp byte [rdx + rcx], 0
jne 0x164c9f890
cmp r8d, r9d
je 0x164c9f8a3
add rdx, rcx
jmp 0x164c9f870
mov r8d, ecx
lea rcx, [rsi + 0x78]
call fcn.164ca0d00
lea rcx, [rsi + 0x78]
call fcn.164ca03c0
movzx r9d, byte [rbx + 8]
mov r8d, 1
movzx edx, byte [rbx + 1]
add rdx, rbx
nop word [rax + rax]
cmp byte [rdx], 0
jne 0x164c9f8e8
cmp byte [rdx + 1], 0
je 0x164c9f91e
inc r8d
mov ecx, 1
add rdx, rcx
jmp 0x164c9f8d0
mov rcx, r15
nop dword [rax + rax]
inc rcx
cmp byte [rdx + rcx], 0
jne 0x164c9f8f0
cmp r8d, r9d
je 0x164c9f903
add rdx, rcx
jmp 0x164c9f8d0
mov r8d, ecx
lea rcx, [rsi + 0x80]
call fcn.164ca0d00
lea rcx, [rsi + 0x80]
call fcn.164ca03c0
movzx r9d, byte [rbx + 9]
mov r8d, 1
movzx edx, byte [rbx + 1]
add rdx, rbx
cmp byte [rdx], 0
jne 0x164c9f948
cmp byte [rdx + 1], 0
je 0x164c9f97e
inc r8d
mov ecx, 1
add rdx, rcx
jmp 0x164c9f930
mov rcx, r15
nop dword [rax + rax]
inc rcx
cmp byte [rdx + rcx], 0
jne 0x164c9f950
cmp r8d, r9d
je 0x164c9f963
add rdx, rcx
jmp 0x164c9f930
mov r8d, ecx
lea rcx, [rsi + 0x88]
call fcn.164ca0d00
lea rcx, [rsi + 0x88]
call fcn.164ca03c0
mov edi, dword [rsp + 0x50]
mov r14, qword [rsp + 0x80]
mov rsi, qword [rsp + 0x70]
test rsi, rsi
je 0x164c9f99d
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rax, qword [rsp + 0x40]
mov dword [rax], edi
mov eax, edi
mov rcx, qword [rsp + 0x128]
xor rcx, rsp
call fcn.164cd6f70
lea r11, [rsp + 0x130]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
mov ecx, 0x80004005
call fcn.164ca2080
int3