Function at 0x1000052b8
Capabilities:
Accept command line arguments
Read file via mapping

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov r13, rcx
call fcn.100004db8
xor r15d, r15d
mov rdi, rax
cmp rax, r15
je 0x100005634
lea edx, [r15 + 0x20]
mov rcx, rax
call qword [0x100007038]
cmp rax, r15
jne 0x100005319
xor edx, edx
mov rcx, rdi
call qword [0x100007038]
cmp rax, r15
jne 0x100005319
lea rdx, [0x100001268]
jmp 0x100005624
sub rax, rdi
sar rax, 1
cmp rax, 2
jae 0x100005344
lea rdx, [0x100001280]
lea rcx, [0x100007060]
or r8d, 0xffffffff
call fcn.100006040
mov rdx, rdi
jmp 0x100005624
lea rsi, [rax + rax]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
lea r8, [rsi + 2]
mov rcx, rax
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r12, rax
cmp rax, r15
jne 0x100005371
lea rdx, [0x100001298]
jmp 0x100005624
mov r8, rsi
mov rdx, rdi
mov rcx, rax
call qword [0x100007020]
xor edx, edx
mov r8, r12
lea ecx, [rdx + 4]
mov word [rsi + r12], r15w
call qword [sym.imp.KERNEL32.dll_OpenFileMappingW]
mov r14, rax
cmp rax, r15
jne 0x1000053d1
lea rdx, [0x1000012b0]
lea rcx, [0x100007060]
or r8d, 0xffffffff
call fcn.100006040
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, [0x100007060]
mov edx, eax
mov r8d, 0xa
call fcn.100005f90
jmp 0x100005634
xor r9d, r9d
xor r8d, r8d
mov rcx, rax
lea edx, [r9 + 4]
mov qword [rsp + 0x20], r15
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov rbp, rax
cmp rax, r15
jne 0x1000053fa
lea rdx, [0x1000012c8]
jmp 0x1000053a2
mov r8d, 0x20
mov rdx, rax
mov rcx, r13
call qword [0x100007020]
call fcn.100004d08
mov rsi, rax
cmp rax, r15
je 0x100005634
movsxd rdi, dword [rbp + 0x20]
mov qword [rsp + 0x68], rdi
cmp dword [r13 + 0x18], r15d
je 0x100005441
lea rdx, [r13 + 0x18]
mov rcx, rax
call fcn.100004c68
cmp al, r15b
je 0x100005634
cmp edi, r15d
je 0x10000545c
lea rdx, [rsp + 0x68]
mov rcx, rsi
call fcn.100004c68
cmp al, r15b
je 0x100005634
movsxd rcx, dword [r13 + 0x18]
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 2]
mov qword [rsp + 0x20], r15
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov rdi, rax
cmp rax, r15
jne 0x100005489
lea rdx, [0x1000012e0]
jmp 0x1000053a2
cmp dword [rax + 0x50], r15d
je 0x10000561d
cmp dword [rax + 0x54], r15d
je 0x10000561d
mov eax, dword [rax + 0x40]
cmp eax, r15d
je 0x10000561d
cmp dword [rdi + 0x44], r15d
je 0x10000561d
lea ebx, [rax + 1]
add rbx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
mov rcx, rax
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r13, rax
cmp rax, r15
jne 0x1000054e1
lea rdx, [0x100001310]
jmp 0x100005624
mov r8d, dword [rdi + 0x40]
mov edx, dword [rdi + 0x44]
mov rcx, rax
add r8, r8
add rdx, rdi
call qword [0x100007020]
mov r11d, dword [rdi + 0x40]
mov word [r13 + r11*2], r15w
mov ebx, dword [rdi + 0x50]
inc ebx
add rbx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
mov rcx, rax
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
xor ebx, ebx
mov r15, rax
cmp rax, rbx
jne 0x100005533
lea rdx, [0x100001328]
jmp 0x100005624
mov r8d, dword [rdi + 0x50]
mov edx, dword [rdi + 0x54]
mov rcx, rax
add r8, r8
add rdx, rdi
call qword [0x100007020]
mov r11d, dword [rdi + 0x50]
mov word [r15 + r11*2], bx
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov rdx, r15
mov rcx, rax
call qword [0x100007040]
mov r11, qword gs:[0x30]
mov rdx, r13
mov rax, qword [r11 + 0x60]
mov rbx, qword [rax + 0x20]
lea rcx, [rbx + 0x60]
call qword [0x100007008]
lea rcx, [rbx + 0x70]
mov rdx, r15
call qword [0x100007008]
mov eax, dword [rbp + 0x24]
lea rbx, [rbp + 0x28]
lea r13, [rbx + rax*4]
cmp rbx, r13
je 0x1000055bb
mov edx, dword [rbx]
add rdx, rdi
cmp dword [rdx], 0
je 0x1000055b5
mov rcx, rsi
call fcn.100004c68
test al, al
je 0x100005634
add rbx, 4
jmp 0x10000559a
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.KERNEL32.dll_SetEvent]
test eax, eax
jne 0x1000055d6
lea rdx, [0x100001340]
jmp 0x1000053a2
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_CloseHandle]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r12
mov rcx, rax
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov al, 1
jmp 0x100005636
lea rdx, [0x1000012f8]
lea rcx, [0x100007060]
or r8d, 0xffffffff
call fcn.100006040
xor al, al
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
ret