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

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x58
mov rax, qword [rcx + 0x28]
xor r13d, r13d
mov rdi, rcx
mov ebp, 0xff
cmp dword [rax + 0x74], r13d
jne 0x144df
movzx eax, bp
jmp 0x144e3
mov ax, word [rax + 0x1c]
movzx esi, ax
mov rax, qword [rcx]
lea r12, [0x00039da0]
mov rcx, qword [rax + 0x20]
lea r9, [rsp + 0xa0]
lea r8, [0x000399b0]
mov qword [rsp + 0x38], rcx
lea rcx, [rsp + 0x38]
mov rdx, r12
mov dword [rsp + 0xa0], ebp
call fcn.0001fe90
lea r9, [rsp + 0xb0]
lea r8, [0x000399d0]
lea rcx, [rsp + 0x38]
mov rdx, r12
mov dword [rsp + 0xb0], ebp
call fcn.0001fe90
lea r9, [rsp + 0xa8]
lea r8, [0x000399f0]
lea rcx, [rsp + 0x38]
mov rdx, r12
mov dword [rsp + 0xa8], ebp
call fcn.0001fe90
lea r9, [rdi + 0x300]
lea r8, [0x00039a10]
lea rcx, [rsp + 0x38]
mov rdx, r12
call fcn.0001fe90
lea r9, [rsp + 0xb8]
lea r8, [0x00039810]
lea rcx, [rsp + 0x38]
mov rdx, r12
mov dword [rsp + 0xb8], r13d
mov dword [rsp + 0x30], r13d
call fcn.0001fe90
lea r9, [rsp + 0x30]
lea r8, [0x00039820]
lea rcx, [rsp + 0x38]
mov rdx, r12
call fcn.0001fe90
mov r14d, 0x74786e43
mov edx, 0x60
mov r8d, r14d
xor ecx, ecx
call qword [sym.imp.ntoskrnl.exe_ExAllocatePoolWithTag]
mov rbx, rax
cmp rax, r13
je 0x14638
mov rcx, qword [rdi + 0x30]
lea rax, [0x0003da50]
xor edx, edx
mov qword [rbx + 8], rcx
mov cl, byte [rsp + 0xa0]
mov qword [rbx], rax
mov al, byte [rsp + 0xb8]
mov byte [rbx + 0x10], cl
mov cl, byte [rsp + 0xa8]
mov byte [rbx + 0x11], cl
mov cl, byte [rsp + 0xb0]
mov byte [rbx + 0x5c], al
mov al, byte [rsp + 0x30]
mov byte [rbx + 0x12], cl
lea rcx, [rbx + 0x20]
mov dword [rbx + 0x18], r13d
mov dword [rbx + 0x1c], r13d
mov dword [rbx + 0x58], r13d
mov byte [rbx + 0x5d], al
call qword [sym.imp.ntoskrnl.exe_KeInitializeMutex]
jmp 0x1463b
mov rbx, r13
mov qword [rdi + 0x18], rbx
cmp rbx, r13
je 0x152d3
mov rcx, rdi
call fcn.000123c8
movzx eax, word [rdi + 0x2dc]
mov edx, 7
lea ecx, [rdx - 4]
cmp ax, cx
je 0x14679
cmp ax, 6
je 0x14679
cmp ax, dx
je 0x14679
cmp ax, 0x11
jne 0x1471e
lea r9, [rsp + 0xa0]
lea r8, [0x000397f0]
lea rcx, [rsp + 0x38]
mov rdx, r12
mov dword [rsp + 0xa0], ebp
call fcn.0001fe90
lea r9, [rsp + 0xa8]
lea r8, [0x00039a30]
lea rcx, [rsp + 0x38]
mov rdx, r12
mov dword [rsp + 0xa8], ebp
call fcn.0001fe90
mov r8d, r14d
mov edx, 0x18
xor ecx, ecx
call qword [sym.imp.ntoskrnl.exe_ExAllocatePoolWithTag]
cmp rax, r13
je 0x146fc
mov rcx, qword [rdi + 0x18]
lea rdx, [0x0003d130]
mov qword [rax + 8], rcx
mov cl, byte [rsp + 0xa0]
mov qword [rax], rdx
mov byte [rax + 0x10], cl
mov cl, byte [rsp + 0xa8]
mov byte [rax + 0x11], cl
jmp 0x146ff
mov rax, r13
mov qword [rdi + 0x20], rax
cmp rax, r13
je 0x152d3
cmp word [rdi + 0x2dc], 0x12
je 0x1471e
mov rcx, rdi
call fcn.000174b0
lea r9, [rsp + 0xa0]
lea r8, [0x00039a50]
lea rcx, [rsp + 0x38]
mov rdx, r12
mov dword [rsp + 0xa0], ebp
call fcn.0001fe90
cmp eax, r13d
jne 0x14757
mov rcx, qword [rdi + 0x18]
mov dl, byte [rsp + 0xa0]
mov rax, qword [rcx]
call qword [rax + 0x40]
lea r9, [rsp + 0xa0]
lea r8, [0x00039a80]
lea rcx, [rsp + 0x38]
mov rdx, r12
mov dword [rsp + 0xa0], ebp
call fcn.0001fe90
cmp eax, r13d
jne 0x1478d
mov rcx, qword [rdi + 0x18]
mov al, byte [rsp + 0xa0]
mov byte [rcx + 0x16], al
lea r9, [rdi + 0x368]
lea r8, [0x00039a90]
lea rcx, [rsp + 0x38]
mov rdx, r12
mov dword [r9], r13d
call fcn.0001fe90
lea r9, [rdi + 0x36c]
lea r8, [0x00039ab0]
lea rcx, [rsp + 0x38]
mov rdx, r12
mov dword [r9], r13d
call fcn.0001fe90
mov ebp, 0x20
mov r8d, r14d
mov rdx, rbp
xor ecx, ecx
call qword [sym.imp.ntoskrnl.exe_ExAllocatePoolWithTag]
cmp rax, r13
je 0x147fc
mov rcx, qword [rdi + 0x18]
lea rdx, [0x0003dae0]
mov dword [rax + 0x10], esi
mov qword [rax], rdx
mov qword [rax + 0x18], rdi
mov qword [rax + 8], rcx
jmp 0x147ff
mov rax, r13
mov qword [rdi + 0x348], rax
cmp rax, r13
je 0x152d3
mov r15d, 0x68
mov r8d, r14d
xor ecx, ecx
mov rdx, r15
call qword [sym.imp.ntoskrnl.exe_ExAllocatePoolWithTag]
mov rbx, rax
cmp rax, r13
je 0x14862
mov rcx, qword [rdi + 0x28]
mov rdx, qword [rdi + 0x30]
lea rax, [0x0003d840]
mov qword [rbx + 0x48], rcx
mov qword [rbx + 0x50], rdx
lea rcx, [rbx + 8]
xor edx, edx
mov qword [rbx], rax
mov dword [rbx + 0x40], 1
mov qword [rbx + 0x58], rdi
mov dword [rbx + 0x60], r13d
call qword [sym.imp.ntoskrnl.exe_KeInitializeMutex]
jmp 0x14865
mov rbx, r13
mov qword [rdi + 0x1d0], rbx
cmp rbx, r13
je 0x152d3
mov r8d, r14d
mov rdx, rbp
xor ecx, ecx
call qword [sym.imp.ntoskrnl.exe_ExAllocatePoolWithTag]
cmp rax, r13
je 0x1489f
mov rdx, qword [rdi + 0x1d0]
mov r9, rdi
xor r8d, r8d
mov rcx, rax
call fcn.00023a08
jmp 0x148a2
mov rax, r13
mov qword [rdi + 0x80], rax
cmp rax, r13
je 0x152d3
mov r8d, r14d
mov rdx, rbp
xor ecx, ecx
call qword [sym.imp.ntoskrnl.exe_ExAllocatePoolWithTag]
cmp rax, r13
je 0x148dc
mov rdx, qword [rdi + 0x1d0]
mov r9, rdi
mov r8b, 1
mov rcx, rax
call fcn.00023a08
jmp 0x148df
mov rax, r13
mov qword [rdi + 0x88], rax
cmp rax, r13
je 0x152d3
mov r8d, r14d
mov rdx, rbp
xor ecx, ecx
call qword [sym.imp.ntoskrnl.exe_ExAllocatePoolWithTag]
cmp rax, r13
je 0x14919
mov rdx, qword [rdi + 0x1d0]
mov r9, rdi
mov r8b, 2
mov rcx, rax
call fcn.00023a08
jmp 0x1491c
mov rax, r13
mov qword [rdi + 0x90], rax
cmp rax, r13
je 0x152d3
xor ecx, ecx
cmp byte [rdi + 0x351], 2
mov ebx, 0x10
mov r8d, r14d
mov rdx, r15
jne 0x14985
call qword [sym.imp.ntoskrnl.exe_ExAllocatePoolWithTag]
cmp rax, r13
je 0x14969
mov r8, qword [rdi + 0x90]
mov r9d, esi
mov rdx, rdi
mov rcx, rax
mov qword [rsp + 0x20], r13
call fcn.0003478c
jmp 0x1496c
mov rax, r13
mov qword [rdi + 0x98], rax
cmp rax, r13
je 0x152d3
mov dword [rax + 0x60], 4
jmp 0x149c2
call qword [sym.imp.ntoskrnl.exe_ExAllocatePoolWithTag]
cmp rax, r13
je 0x149ac
mov r8, qword [rdi + 0x88]
mov r9d, esi
mov rdx, rdi
mov rcx, rax
mov qword [rsp + 0x20], r13
call fcn.0003478c
jmp 0x149af
mov rax, r13
mov qword [rdi + 0x98], rax
cmp rax, r13
je 0x152d3
mov dword [rax + 0x60], ebx
xor ecx, ecx
cmp byte [rdi + 0x350], 3
mov r8d, r14d
mov rdx, r15
jne 0x14a19
call qword [sym.imp.ntoskrnl.exe_ExAllocatePoolWithTag]
cmp rax, r13
je 0x14a01
mov rcx, qword [rdi + 0x348]
mov r8, qword [rdi + 0x88]
mov r9d, esi
mov qword [rsp + 0x20], rcx
mov rcx, rax
mov rdx, rdi
call fcn.0003478c
jmp 0x14a04
mov rax, r13
mov qword [rdi + 0xa0], rax
cmp rax, r13
je 0x152d3
mov dword [rax + 0x60], ebx
jmp 0x14a61
call qword [sym.imp.ntoskrnl.exe_ExAllocatePoolWithTag]
cmp rax, r13
je 0x14a47
mov rcx, qword [rdi + 0x348]
mov r8, qword [rdi + 0x90]
mov r9d, esi
mov qword [rsp + 0x20], rcx
mov rcx, rax
mov rdx, rdi
call fcn.0003478c
jmp 0x14a4a
mov rax, r13
mov qword [rdi + 0xa0], rax
cmp rax, r13
je 0x152d3
mov dword [rax + 0x60], 4
lea r9, [rsp + 0xa0]
lea r8, [0x00039ac0]
lea rcx, [rsp + 0x38]
mov rdx, r12
call fcn.0001fe90
lea r9, [rsp + 0xa0]
lea r8, [0x00039ad0]
lea rcx, [rsp + 0x38]
mov rdx, r12
mov dword [rsp + 0xa0], 0xc0
call fcn.0001fe90
mov eax, dword [rsp + 0xa0]
mov dl, 1
mov rcx, rdi
mov dword [rsp + 0xa8], r13d
mov dword [rdi + 0x37c], eax
mov byte [rsp + 0xa0], al
call fcn.00017420
mov rcx, qword [rdi + 0x98]
mov rax, qword [rcx]
lea rdx, [rsp + 0xa8]
lea r9, [rsp + 0xa0]
mov qword [rsp + 0x28], rdx
mov r8d, 1
mov dl, 0xa0
mov dword [rsp + 0x20], 4
call qword [rax + 0x20]
mov esi, dword [rsp + 0xa8]
mov eax, 0x1000
cmp esi, eax
ja 0x14b50
je 0x14b92
cmp esi, 0x40
ja 0x14b30
je 0x14b92
cmp esi, r13d
jbe 0x14b90
cmp esi, 2
jbe 0x14b92
cmp esi, 4
je 0x14b92
cmp esi, ebx
je 0x14b92
cmp esi, ebp
jmp 0x14b8e
cmp esi, 0x80
je 0x14b92
cmp esi, 0x100
je 0x14b92
cmp esi, 0x200
je 0x14b92
cmp esi, 0x400
jmp 0x14b8e
cmp esi, 0x2000
je 0x14b92
cmp esi, 0x4000
je 0x14b92
cmp esi, 0x8000
je 0x14b92
cmp esi, 0x10000
je 0x14b92
cmp esi, 0x20000
je 0x14b92
cmp esi, 0x40000
je 0x14b92
cmp esi, 0x80000
je 0x14b92
cmp esi, 0x100000
je 0x14b92
mov esi, ebx
lea r9, [rdi + 0x3c]
lea r8, [0x00039af0]
lea rcx, [rsp + 0x38]
mov rdx, r12
call fcn.0001fe90
lea r9, [rdi + 0x40]
lea r8, [0x00039b00]
lea rcx, [rsp + 0x38]
mov rdx, r12
mov dword [rdi + 0x40], r13d
call fcn.0001fe90
lea r9, [rdi + 0x44]
lea r8, [0x00039b20]
lea rdx, [0x00039da0]
lea rcx, [rsp + 0x38]
mov dword [rdi + 0x44], r13d
call fcn.0001fe90
cmp dword [rdi + 0x40], r13d
je 0x14bf3
mov dword [rdi + 0x4c], 3
mov r8d, r14d
mov edx, 0x50
xor ecx, ecx
call qword [sym.imp.ntoskrnl.exe_ExAllocatePoolWithTag]
mov rbx, rax
cmp rax, r13
je 0x14c99
mov rcx, qword [rdi + 0x80]
mov dword [rax + 0x40], 1
mov dword [rax + 0x48], r13d
mov qword [rax], rcx
mov rdx, qword [rcx]
call qword [rdx]
lea rcx, [rbx + 8]
xor edx, edx
call qword [sym.imp.ntoskrnl.exe_KeInitializeMutex]
mov edx, 0x800
mov r8d, 0x3000000
mov rcx, rbx
call fcn.0001d258
mov rcx, qword [rbx]
lea rdx, [rsp + 0xa0]
mov qword [rsp + 0x28], rdx
mov byte [rsp + 0xa8], r13b
mov byte [rsp + 0xa9], 1
mov rax, qword [rcx]
lea r9, [rsp + 0xa8]
mov r8d, 2
mov dl, 0x44
mov dword [rsp + 0x20], 1
call qword [rax + 0x30]
movzx r11d, byte [rsp + 0xa0]
and r11d, 0xf
mov dword [rbx + 0x44], r11d
jmp 0x14c9c
mov rbx, r13
mov qword [rdi + 0x180], rbx
cmp rbx, r13
je 0x152d3
mov r8d, r14d
mov edx, 0x40
xor ecx, ecx
call qword [sym.imp.ntoskrnl.exe_ExAllocatePoolWithTag]
mov rbx, rax
cmp rax, r13
je 0x14ce1
mov rcx, qword [rdi + 0x80]
mov qword [rax], rcx
mov rdx, qword [rcx]
call qword [rdx]
lea rcx, [rbx + 8]
xor edx, edx
call qword [sym.imp.ntoskrnl.exe_KeInitializeMutex]
jmp 0x14ce4
mov rbx, r13
mov qword [rdi + 0x188], rbx
cmp rbx, r13
je 0x152d3
mov r8d, r14d
mov rdx, rbp
xor ecx, ecx
call qword [sym.imp.ntoskrnl.exe_ExAllocatePoolWithTag]
cmp rax, r13
je 0x14d26
mov rcx, qword [rdi + 0x180]
mov qword [rax], rdi
mov dword [rax + 0x18], r13d
mov qword [rax + 8], rcx
mov ecx, 1
mov dword [rax + 0x14], ecx
mov dword [rax + 0x10], ecx
jmp 0x14d29
mov rax, r13
mov qword [rdi + 0x10], rax
cmp rax, r13
je 0x152d3
mov r8d, r14d
mov rdx, r15
xor ecx, ecx
call qword [sym.imp.ntoskrnl.exe_ExAllocatePoolWithTag]
mov r15d, 1
mov rbp, rax
cmp rax, r13
je 0x14d8d
mov rax, qword [rdi + 0x80]
mov rbx, qword [rdi + 0x10]
lea rcx, [rbp + 0x10]
xor edx, edx
mov qword [rbp], rax
mov dword [rbp + 0x48], 0x210
mov dword [rbp + 0x4c], 2
mov dword [rbp + 0x50], r15d
mov qword [rbp + 0x58], rdi
mov dword [rbp + 0x60], r15d
call qword [sym.imp.ntoskrnl.exe_KeInitializeMutex]
mov qword [rbp + 8], rbx
jmp 0x14d90
mov rbp, r13
mov qword [rdi + 0xa8], rbp
cmp rbp, r13
je 0x152d3
mov edx, dword [rbp + 0x48]
mov rcx, rbp
call fcn.00033064
cmp eax, r13d
jl 0x152d8
mov rcx, rbp
call fcn.0003312c
cmp eax, r13d
jl 0x152d8
mov ebp, 0x40
mov r8d, r14d
xor ecx, ecx
mov rdx, rbp
call qword [sym.imp.ntoskrnl.exe_ExAllocatePoolWithTag]
mov rbx, rax
cmp rax, r13
je 0x14df8
mov rax, qword [rdi + 0x80]
lea rcx, [rbx + 8]
xor edx, edx
mov qword [rbx], rax
call qword [sym.imp.ntoskrnl.exe_KeInitializeMutex]
jmp 0x14dfb
mov rbx, r13
mov qword [rdi + 0xb0], rbx
cmp rbx, r13
je 0x152d3
lea r8, [rsp + 0xa0]
mov dl, 0xe
mov rcx, rbx
call fcn.00033aec
cmp eax, r13d
jl 0x14e52
mov r8b, byte [rsp + 0xa0]
mov dl, 0xe
mov rcx, rbx
or r8b, 0x80
mov byte [rsp + 0xa0], r8b
call fcn.00033b7c
cmp eax, r13d
jl 0x14e52
xor r8d, r8d
mov dl, 0xf
mov rcx, rbx
call fcn.00033b7c
mov ebx, 0x88
mov r8d, r14d
xor ecx, ecx
mov rdx, rbx
call qword [sym.imp.ntoskrnl.exe_ExAllocatePoolWithTag]
cmp rax, r13
je 0x14e96
mov rcx, qword [rdi + 0xa8]
mov r9, qword [rdi + 0x180]
mov r8d, esi
mov qword [rsp + 0x28], rcx
mov rcx, qword [rdi + 0x10]
mov rdx, rdi
mov qword [rsp + 0x20], rcx
mov rcx, rax
call fcn.0001d9d8
jmp 0x14e99
mov rax, r13
mov qword [rdi + 0x58], rax
cmp rax, r13
je 0x152d3
mov r8d, r14d
mov edx, 0x70
xor ecx, ecx
call qword [sym.imp.ntoskrnl.exe_ExAllocatePoolWithTag]
cmp rax, r13
je 0x14edf
mov rcx, qword [rdi + 0x10]
mov r8, qword [rdi]
mov r9, qword [rdi + 0x180]
mov r8, qword [r8 + 0x20]
mov qword [rsp + 0x20], rcx
mov rdx, rdi
mov rcx, rax
call fcn.0001c1a4
jmp 0x14ee2
mov rax, r13
mov qword [rdi + 0x60], rax
cmp rax, r13
je 0x152d3
mov esi, 0xb
cmp byte [rdi + 0x288], r13b
jne 0x14fbf
cmp word [rdi + 0x2dc], si
jne 0x14fbf
mov r8d, r14d
mov rdx, rbx
xor ecx, ecx
call qword [sym.imp.ntoskrnl.exe_ExAllocatePoolWithTag]
mov rbx, rax
cmp rax, r13
je 0x14f7c
mov rcx, qword [rdi + 0x180]
mov rdx, qword [rdi + 0x188]
mov qword [rax], rdi
mov qword [rax + 8], rcx
mov qword [rax + 0x10], rdx
lea rcx, [rdi + 0x28c]
mov qword [rax + 0x68], rcx
mov dword [rax + 0x18], 0x44
mov byte [rax + 0x1c], r13b
mov byte [rax + 0x58], r13b
mov qword [rax + 0x60], r13
mov byte [rax + 0x70], r13b
mov qword [rax + 0x78], r13
mov rax, qword [rdi + 0x18]
lea rcx, [rbx + 0x20]
xor edx, edx
mov qword [rbx + 0x80], rax
call qword [sym.imp.ntoskrnl.exe_KeInitializeMutex]
jmp 0x14f7f
mov rbx, r13
mov qword [rdi + 0x2d0], rbx
cmp rbx, r13
je 0x152d3
mov rcx, rbx
call fcn.0001053c
cmp qword [rdi + 0x2d0], r13
je 0x14fbf
lea r9, [rdi + 0x35c]
lea r8, [0x00039b40]
lea rdx, [0x00039da0]
lea rcx, [rsp + 0x38]
call fcn.0001fe90
lea r9, [rdi + 0x304]
lea r8, [0x00039b50]
lea rdx, [0x00039da0]
lea rcx, [rsp + 0x38]
call fcn.0001fe90
mov rcx, rdi
call fcn.000124ec
lea r9, [rsp + 0xa0]
lea r8, [0x00039b70]
lea rdx, [0x00039da0]
lea rcx, [rsp + 0x38]
mov dword [rsp + 0xa0], 0xff
call fcn.0001fe90
mov r8d, r14d
mov rdx, rbp
xor ecx, ecx
call qword [sym.imp.ntoskrnl.exe_ExAllocatePoolWithTag]
mov rbx, rax
cmp rax, r13
je 0x1505e
mov rcx, qword [rdi + 0x58]
xor r8d, r8d
mov edx, r15d
mov qword [rax], rcx
mov ecx, dword [rsp + 0xa0]
mov qword [rax + 8], r13
mov dword [rax + 0x2c], ecx
lea rcx, [rax + 0x10]
mov dword [rax + 0x28], r13d
mov byte [rax + 0x30], r13b
mov dword [rax + 0x34], r13d
mov dword [rax + 0x38], r13d
call qword [sym.imp.ntoskrnl.exe_KeInitializeEvent]
jmp 0x15061
mov rbx, r13
mov qword [rdi + 0x68], rbx
cmp rbx, r13
je 0x152d3
mov rax, qword [rdi + 8]
mov rbx, qword [rax + 0x50]
cmp rbx, r13
jne 0x15085
mov eax, 0xc0000001
jmp 0x152d8
lea r9, [rsp + 0xa0]
lea r8, [0x00039b80]
lea rdx, [0x00039da0]
lea rcx, [rsp + 0x38]
mov ebp, 0x10
mov dword [rsp + 0xa0], ebp
call fcn.0001fe90
mov eax, dword [rsp + 0xa0]
lea r9, [rsp + 0xa0]
lea r8, [0x00039b90]
lea rdx, [0x00039da0]
lea rcx, [rsp + 0x38]
mov dword [rbx + 4], eax
mov dword [rsp + 0xa0], ebp
call fcn.0001fe90
test byte [rbx + 3], 0xe
mov eax, dword [rsp + 0xa0]
mov dword [rbx + 8], eax
je 0x151f8
mov r8, qword [rdi]
movzx eax, word [rdi + 0x2dc]
mov r9, qword [rdi + 8]
mov r8, qword [r8 + 0x20]
mov rdx, qword [rdi + 0x30]
mov rcx, qword [rdi + 0x28]
mov byte [rsp + 0x28], r13b
mov dword [rsp + 0x20], eax
call fcn.00036540
mov r8, qword [rdi]
mov r9, qword [rdi + 8]
mov rdx, qword [rdi + 0x30]
mov rcx, qword [rdi + 0x28]
mov qword [rdi + 0xb8], rax
mov r8, qword [r8 + 0x20]
movzx eax, word [rdi + 0x2dc]
cmp dword [rdi + 0x44], r13d
je 0x1514c
mov byte [rsp + 0x28], 0x81
jmp 0x15151
mov byte [rsp + 0x28], r15b
mov dword [rsp + 0x20], eax
call fcn.00036540
mov qword [rdi + 0xc0], rax
cmp byte [rdi + 0x1d8], r15b
jne 0x151de
mov r8, qword [rdi]
movzx eax, word [rdi + 0x2dc]
mov r9, qword [rdi + 8]
mov r8, qword [r8 + 0x20]
mov rdx, qword [rdi + 0x30]
mov rcx, qword [rdi + 0x28]
mov byte [rsp + 0x28], 2
mov dword [rsp + 0x20], eax
call fcn.00036540
mov r8, qword [rdi]
mov r9, qword [rdi + 8]
mov rdx, qword [rdi + 0x30]
mov rcx, qword [rdi + 0x28]
mov qword [rdi + 0xc8], rax
movzx eax, word [rdi + 0x2dc]
mov r8, qword [r8 + 0x20]
mov byte [rsp + 0x28], 3
mov dword [rsp + 0x20], eax
call fcn.00036540
mov qword [rdi + 0xd0], rax
cmp qword [rdi + 0xc8], r13
je 0x152d3
cmp rax, r13
je 0x152d3
cmp qword [rdi + 0xb8], r13
je 0x152d3
cmp qword [rdi + 0xc0], r13
je 0x152d3
test byte [rbx + 3], r15b
je 0x152cf
mov ebp, 0xff
cmp dword [rbx + 4], ebp
je 0x15257
mov eax, dword [rdi + 0x1e8]
cmp eax, 8
je 0x15223
cmp eax, 7
je 0x15223
mov byte [rsp + 0x28], 4
jmp 0x15228
mov byte [rsp + 0x28], 6
mov r8, qword [rdi]
movzx eax, word [rdi + 0x2dc]
mov r9, qword [rdi + 8]
mov r8, qword [r8 + 0x20]
mov rdx, qword [rdi + 0x30]
mov rcx, qword [rdi + 0x28]
mov dword [rsp + 0x20], eax
call fcn.00036540
mov qword [rdi + 0xd8], rax
cmp rax, r13
je 0x152d3
cmp word [rdi + 0x2dc], si
jne 0x15296
cmp byte [rdi + 0x288], r13b
jne 0x15296
mov r8, qword [rdi]
mov r9, qword [rdi + 8]
mov rdx, qword [rdi + 0x30]
mov r8, qword [r8 + 0x20]
mov rcx, qword [rdi + 0x28]
mov byte [rsp + 0x28], 7
mov dword [rsp + 0x20], esi
call fcn.00036540
mov qword [rdi + 0xe8], rax
cmp rax, r13
je 0x152d3
cmp dword [rbx + 8], ebp
je 0x152cf
mov r8, qword [rdi]
movzx eax, word [rdi + 0x2dc]
mov r9, qword [rdi + 8]
mov r8, qword [r8 + 0x20]
mov rdx, qword [rdi + 0x30]
mov rcx, qword [rdi + 0x28]
mov byte [rsp + 0x28], 5
mov dword [rsp + 0x20], eax
call fcn.00036540
mov qword [rdi + 0xe0], rax
cmp rax, r13
je 0x152d3
xor eax, eax
jmp 0x152d8
mov eax, 0xc000009a
add rsp, 0x58
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret