Function at 0x180002a30
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov r11, rsp
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
sub rsp, 0x90
mov qword [rsp + 0x58], 0xfffffffffffffffe
mov rax, qword [0x18008b590]
xor rax, rsp
mov qword [rsp + 0x88], rax
mov r12, r9
movzx edi, r8b
mov r13, rdx
mov rbx, rcx
mov rbp, qword [rsp + 0xf8]
mov rsi, qword [rsp + 0x100]
xor eax, eax
mov qword [r11 - 0x68], rax
mov qword [r11 - 0x60], rax
mov qword [r11 - 0x58], rax
mov byte [rsp + 0x78], al
mov dword [rsp + 0x7c], eax
mov dword [r11 - 0x48], eax
xor r14d, r14d
mov word [r11 - 0x4e], r14w
mov dword [rsp + 0x20], r14d
mov rax, qword [rcx]
lea r9, [rsp + 0x20]
lea r8d, [r14 + 0x19]
lea rdx, [r11 - 0x68]
call qword [rax + 0x18]
test eax, eax
jne 0x180002ad0
lea r9, [rsp + 0x20]
movzx r8d, dil
mov rdx, rbx
lea rcx, [rsp + 0x60]
call fcn.18000d2c0
test eax, eax
jne 0x180003086
mov qword [rsp + 0x30], rbx
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
nop
mov ecx, 0x28
call fcn.180058910
test rax, rax
je 0x180002b0b
mov r8d, dword [rsp + 0x75]
mov rdx, rbx
mov rcx, rax
call fcn.1800044c0
mov rdi, rax
jmp 0x180002b0e
mov rdi, r14
cmp rbx, rdi
je 0x180002b32
test rdi, rdi
je 0x180002b21
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 8]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
mov rbx, rdi
mov qword [rsp + 0x30], rbx
cmp byte [rsp + 0x6b], 0
je 0x180002eef
cmp qword [rsi], 0
jne 0x180002c09
mov qword [rsp + 0x20], r14
mov rax, qword [r12]
lea rdx, [rsp + 0x20]
mov rcx, r12
call qword [rax + 0x18]
mov edi, eax
test eax, eax
je 0x180002b82
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
nop
test rbx, rbx
je 0x180002b7b
mov rdx, qword [rbx]
mov rcx, rbx
call qword [rdx + 0x10]
mov eax, edi
jmp 0x180003086
mov rcx, qword [rsp + 0x20]
test rcx, rcx
je 0x180002bea
cmp word [rcx], 0
je 0x180002bea
mov ecx, 0x24
call fcn.180058910
mov rdi, rax
test rax, rax
je 0x180002bb9
mov qword [rax], r14
mov qword [rax + 8], r14
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], r14
mov dword [rax + 0x20], r14d
jmp 0x180002bbc
mov rdi, r14
inc dword [rdi + 0x20]
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.OLEAUT32.dll_SysAllocStringByteLen]
mov r8d, eax
mov rdx, qword [rsp + 0x20]
mov rcx, rdi
call fcn.18001dc10
mov qword [rsi], rdi
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
jmp 0x180002c09
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
nop
test rbx, rbx
je 0x180002bff
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
mov eax, 0xe00e0003
jmp 0x180003086
cmp dword [rsp + 0xf0], 0
je 0x180002d79
mov rcx, qword [rbp]
test rcx, rcx
jne 0x180002d1c
mov ecx, 0x30
call fcn.180058910
mov rdi, rax
mov qword [rsp + 0x20], rax
test rax, rax
je 0x180002c49
mov rcx, rax
call fcn.180003c50
mov dword [rdi + 0x28], r14d
jmp 0x180002c4c
mov rdi, r14
inc dword [rdi + 0x28]
mov qword [rsp + 0x20], rdi
mov rdx, qword [rsi]
mov rcx, rdi
call fcn.18001ddb0
mov esi, eax
test eax, eax
je 0x180002cb1
add dword [rdi + 0x28], 0xffffffff
jne 0x180002c9c
mov rcx, qword [rdi + 0x18]
test rcx, rcx
je 0x180002c7d
call fcn.18005821c
mov qword [rdi + 0x18], r14
mov rcx, qword [rdi]
test rcx, rcx
je 0x180002c93
add dword [rcx + 0x20], 0xffffffff
jne 0x180002c90
call fcn.18005821c
mov qword [rdi], r14
mov rcx, rdi
call fcn.18005821c
nop
test rbx, rbx
je 0x180002caa
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
mov eax, esi
jmp 0x180003086
movzx r8d, byte [rsp + 0x6c]
lea rdx, [rsp + 0x7c]
mov rcx, rdi
call fcn.18001de00
mov esi, eax
test eax, eax
je 0x180002d16
add dword [rdi + 0x28], 0xffffffff
jne 0x180002d01
mov rcx, qword [rdi + 0x18]
test rcx, rcx
je 0x180002ce2
call fcn.18005821c
mov qword [rdi + 0x18], r14
mov rcx, qword [rdi]
test rcx, rcx
je 0x180002cf8
add dword [rcx + 0x20], 0xffffffff
jne 0x180002cf5
call fcn.18005821c
mov qword [rdi], r14
mov rcx, rdi
call fcn.18005821c
nop
test rbx, rbx
je 0x180002d0f
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
mov eax, esi
jmp 0x180003086
mov qword [rbp], rdi
jmp 0x180002d21
call fcn.18001de90
mov ecx, 0x38
call fcn.180058910
test rax, rax
je 0x180002d44
mov r8, qword [rbp]
mov rdx, rbx
mov rcx, rax
call fcn.180004330
mov rdi, rax
jmp 0x180002d47
mov rdi, r14
cmp rbx, rdi
je 0x180002eef
test rdi, rdi
je 0x180002d5e
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 8]
test rbx, rbx
je 0x180002d6c
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
mov rbx, rdi
mov qword [rsp + 0x30], rbx
jmp 0x180002eef
mov ecx, 0x30
call fcn.180058910
mov rdi, rax
mov qword [rsp + 0x20], rax
test rax, rax
je 0x180002d9e
mov rcx, rax
call fcn.180003c50
mov dword [rdi + 0x28], r14d
jmp 0x180002da1
mov rdi, r14
inc dword [rdi + 0x28]
mov qword [rsp + 0x20], rdi
mov rdx, qword [rsi]
mov rcx, rdi
call fcn.18001ddb0
mov esi, eax
test eax, eax
je 0x180002e06
add dword [rdi + 0x28], 0xffffffff
jne 0x180002df1
mov rcx, qword [rdi + 0x18]
test rcx, rcx
je 0x180002dd2
call fcn.18005821c
mov qword [rdi + 0x18], r14
mov rcx, qword [rdi]
test rcx, rcx
je 0x180002de8
add dword [rcx + 0x20], 0xffffffff
jne 0x180002de5
call fcn.18005821c
mov qword [rdi], r14
mov rcx, rdi
call fcn.18005821c
nop
test rbx, rbx
je 0x180002dff
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
mov eax, esi
jmp 0x180003086
movzx r8d, byte [rsp + 0x6c]
lea rdx, [rsp + 0x7c]
mov rcx, rdi
call fcn.18001de00
mov esi, eax
test eax, eax
je 0x180002e6b
add dword [rdi + 0x28], 0xffffffff
jne 0x180002e56
mov rcx, qword [rdi + 0x18]
test rcx, rcx
je 0x180002e37
call fcn.18005821c
mov qword [rdi + 0x18], r14
mov rcx, qword [rdi]
test rcx, rcx
je 0x180002e4d
add dword [rcx + 0x20], 0xffffffff
jne 0x180002e4a
call fcn.18005821c
mov qword [rdi], r14
mov rcx, rdi
call fcn.18005821c
nop
test rbx, rbx
je 0x180002e64
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
mov eax, esi
jmp 0x180003086
mov ecx, 0x38
call fcn.180058910
test rax, rax
je 0x180002e8d
mov r8, rdi
mov rdx, rbx
mov rcx, rax
call fcn.180004330
mov rsi, rax
jmp 0x180002e90
mov rsi, r14
cmp rbx, rsi
je 0x180002eb9
test rsi, rsi
je 0x180002ea3
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 8]
test rbx, rbx
je 0x180002eb1
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
mov rbx, rsi
mov qword [rsp + 0x30], rbx
add dword [rdi + 0x28], 0xffffffff
jne 0x180002eef
mov rcx, qword [rdi + 0x18]
test rcx, rcx
je 0x180002ed1
call fcn.18005821c
mov qword [rdi + 0x18], r14
mov rcx, qword [rdi]
test rcx, rcx
je 0x180002ee7
add dword [rcx + 0x20], 0xffffffff
jne 0x180002ee4
call fcn.18005821c
mov qword [rdi], r14
mov rcx, rdi
call fcn.18005821c
mov edx, dword [rsp + 0x71]
mov rcx, r13
call fcn.180004210
mov r8d, dword [rsp + 0x71]
xor edx, edx
mov rcx, qword [r13 + 0x10]
call fcn.18005ce60
mov dword [rsp + 0x28], r14d
mov ecx, 0x20
call fcn.180058910
mov rdi, rax
test rax, rax
je 0x180002f45
mov rax, qword [r13 + 0x10]
mov ecx, dword [rsp + 0x71]
mov dword [rdi + 8], r14d
lea rdx, vtable.NKZ::COutBufStream.0
mov qword [rdi], rdx
mov qword [rdi + 0x10], rax
mov dword [rdi + 0x18], ecx
mov dword [rdi + 0x1c], r14d
jmp 0x180002f48
mov rdi, r14
mov qword [rsp + 0x20], rdi
test rdi, rdi
je 0x180002f5c
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 8]
nop
mov ecx, 0x28
call fcn.180058910
mov rsi, rax
test rax, rax
je 0x180002fb9
mov dword [rax + 8], r14d
lea rax, vtable.NKZ::COutStreamWithCRC.0
mov qword [rsi], rax
mov qword [rsi + 0x10], r14
lea rax, [rsp + 0x28]
mov qword [rsi + 0x20], rax
mov dword [rsi + 0x18], 0xffffffff
cmp qword [rsi + 0x10], rdi
je 0x180002fbc
test rdi, rdi
je 0x180002fa4
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 8]
mov rcx, qword [rsi + 0x10]
test rcx, rcx
je 0x180002fb3
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rsi + 0x10], rdi
jmp 0x180002fbc
mov rsi, r14
cmp rdi, rsi
je 0x180002fe5
test rsi, rsi
je 0x180002fcf
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 8]
test rdi, rdi
je 0x180002fdd
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
mov rdi, rsi
mov qword [rsp + 0x20], rsi
mov r8d, dword [rsp + 0x75]
mov edx, dword [rsp + 0x71]
movzx ecx, byte [rsp + 0x6a]
movzx eax, byte [rsp + 0x69]
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x3c], ecx
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x50], r8
mov dword [rsp + 0x40], r14d
xor r9d, r9d
mov r8, rdi
mov rdx, rbx
lea rcx, [rsp + 0x38]
call fcn.180002760
mov esi, eax
test eax, eax
je 0x180003049
test rdi, rdi
je 0x180003037
mov rdx, qword [rdi]
mov rcx, rdi
call qword [rdx + 0x10]
nop
test rbx, rbx
je 0x180003045
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
mov eax, esi
jmp 0x180003086
test rdi, rdi
je 0x180003057
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
mov eax, dword [rsp + 0x6d]
cmp dword [rsp + 0x28], eax
je 0x180003076
test rbx, rbx
je 0x18000306f
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
mov eax, 0xe00e0003
jmp 0x180003086
test rbx, rbx
je 0x180003084
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
xor eax, eax
mov rcx, qword [rsp + 0x88]
xor rcx, rsp
call fcn.180058240
add rsp, 0x90
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret