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

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x78
mov rbp, qword [rdx]
mov rsi, qword [rcx + 0x10]
xor edi, edi
movzx eax, byte [rbp]
movsxd r10, r9d
mov r12, r8
mov rbx, rdx
mov qword [rsp + 0x60], rdx
mov r15, rcx
mov qword [rsp + 0x48], rbp
mov r9d, 0x400
mov r8d, 0x800
cmp al, 0x35
je 0x1800a385b
cmp al, 0x2d
je 0x1800a385b
cmp al, 0x32
jne 0x1800a3115
movsxd rcx, dword [rsi + 0x90]
mov edx, dword [rsp + 0xe8]
cmp dword [rsi + 0x94], ecx
jg 0x1800a30e7
mov r9d, edx
lea edx, [rdi + 0x4b]
xor r8d, r8d
mov rcx, rsi
mov dword [rsp + 0x20], edi
call fcn.1800343e0
mov edx, dword [rsp + 0xe8]
mov r9d, 0x400
mov r8d, 0x800
mov rcx, qword [r12 + 0x60]
test dword [rcx + 0x38], 0x200000
je 0x1800a3091
test word [rbx + 0x14], r8w
jne 0x1800a38a0
test byte [rbx + 0x12], 4
jne 0x1800a38a0
mov r8d, 0x200
cmp dword [r12], 0
je 0x1800a30b5
mov rax, qword [rbx]
test byte [rax + 4], 1
je 0x1800a38a0
mov rax, qword [rbx + 0x30]
test qword [r12 + 0x68], rax
jne 0x1800a38a0
test edi, edi
je 0x1800a3873
movzx eax, word [rbx + 0x12]
test r9w, ax
je 0x1800a3873
or ax, r8w
mov word [rbx + 0x12], ax
jmp 0x1800a3878
lea eax, [rcx + 1]
lea rcx, [rcx + rcx*2]
mov dword [rsi + 0x90], eax
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
mov qword [rax + rcx*8], 0x4b
jmp 0x1800a3078
mov r13, qword [r12 + 0x60]
mov dword [rsp + 0x30], 5
mov r14d, edi
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x38], rdi
test dword [r13 + 0x38], r9d
jne 0x1800a3156
mov rax, qword [r13 + 0x20]
test rax, rax
je 0x1800a3156
mov rax, qword [rax + 0x38]
cmp byte [r10 + rax], dil
je 0x1800a3156
mov eax, edi
cmp dword [rsp + 0xe0], eax
sete al
jmp 0x1800a315d
mov eax, dword [rsp + 0xe0]
mov dword [rsp + 0x34], eax
mov rdx, rdi
test r10d, r10d
jle 0x1800a318d
mov rcx, qword [r13 + 0x48]
nop dword [rax]
cmp qword [rcx], rdi
je 0x1800a3181
mov rax, qword [rcx]
cmp qword [rax], rbp
je 0x1800a3211
inc rdx
add rcx, 8
cmp rdx, r10
jl 0x1800a3170
movzx eax, word [r13 + 0x3c]
cmp r10d, eax
jge 0x1800a31bb
mov rax, qword [r13 + 0x48]
movzx edx, word [r13 + 0x3c]
lea rcx, [rax + r10*8]
sub edx, r10d
mov rax, qword [rcx]
cmp qword [rax], rbp
jne 0x1800a31b2
inc r14d
add rcx, 8
dec rdx
jne 0x1800a31a7
test dword [rbp + 4], 0x1000
mov dword [rsp + 0xc8], edi
je 0x1800a337a
mov rax, qword [rbp + 0x20]
mov rcx, qword [rax + 0x20]
cmp dword [rcx], 1
je 0x1800a337a
cmp dword [rbp + 0x2c], edi
je 0x1800a329a
test dword [rbp + 4], 0x2000000
je 0x1800a329a
mov rcx, qword [rbp + 0x10]
movzx eax, byte [rcx]
cmp al, 0xb0
jne 0x1800a3205
movzx eax, byte [rcx + 2]
cmp al, 0xb1
jne 0x1800a3228
mov rax, qword [rcx + 0x20]
mov ecx, dword [rax]
jmp 0x1800a323d
mov rdx, rbx
mov rcx, r12
call fcn.1800a2a80
mov eax, dword [rsp + 0xe8]
jmp 0x1800a38a2
cmp al, 0x8a
jne 0x1800a3238
mov rax, qword [rcx + 0x20]
mov rcx, qword [rax + 0x20]
mov ecx, dword [rcx]
jmp 0x1800a323d
mov ecx, 1
cmp r14d, ecx
cmovg ecx, r14d
movsxd rdx, ecx
mov rcx, qword [r15]
shl rdx, 2
call fcn.18000b550
mov rcx, qword [rsp + 0xc0]
xor r9d, r9d
mov r15, rax
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0xc8]
mov qword [rsp + 0x28], rax
lea r8d, [r9 + 4]
mov rdx, rbp
mov qword [rsp + 0x20], r15
call fcn.180052eb0
mov r15d, dword [rsp + 0xc8]
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x48], rbp
jmp 0x1800a33aa
mov r8, qword [rsp + 0x40]
mov r13, qword [r15]
mov r9, rbp
mov edx, r10d
mov rcx, r15
call fcn.1800a2c90
mov r12, rax
cmp byte [r13 + 0x67], dil
jne 0x1800a3345
mov rcx, qword [r15]
movsxd rbp, r14d
shl rbp, 2
test rcx, rcx
je 0x1800a32d9
mov rdx, rbp
call fcn.18000b5f0
mov r15, rax
jmp 0x1800a32ee
test rbp, rbp
je 0x1800a32eb
mov rcx, rbp
call fcn.18000af90
mov r15, rax
jmp 0x1800a32ee
mov r15, rdi
mov qword [rsp + 0x38], r15
test r15, r15
je 0x1800a3305
mov r8, rbp
xor edx, edx
mov rcx, r15
call fcn.18012d640
mov rcx, qword [rsp + 0xc0]
xor r9d, r9d
lea rax, [rsp + 0xc8]
mov qword [rsp + 0x28], rax
lea r8d, [r9 + 4]
mov rdx, r12
mov qword [rsp + 0x20], r15
call fcn.180052eb0
mov rbp, qword [rsp + 0x48]
mov r15d, dword [rsp + 0xc8]
mov dword [rsp + 0x30], eax
mov dword [rbp + 0x2c], r15d
jmp 0x1800a3352
mov r15d, dword [rsp + 0xc8]
mov eax, 5
test r12, r12
je 0x1800a3366
mov rdx, r12
mov rcx, r13
call fcn.180050f20
mov eax, dword [rsp + 0x30]
mov r13, qword [rsp + 0x40]
mov r12, qword [rsp + 0xd0]
mov qword [rsp + 0x48], rbp
jmp 0x1800a33aa
xor r9d, r9d
lea rax, [rsp + 0xc8]
mov rdx, rbp
mov qword [rsp + 0x28], rax
lea r8d, [r9 + 4]
mov rcx, r15
mov qword [rsp + 0x20], rdi
call fcn.180052eb0
mov r15d, dword [rsp + 0xc8]
mov dword [rsp + 0x30], eax
cmp eax, 4
jne 0x1800a33be
mov eax, edi
cmp dword [rsp + 0x34], eax
sete al
mov dword [rsp + 0x34], eax
jmp 0x1800a33c2
mov eax, dword [rsp + 0x34]
mov ecx, 0x20
test eax, eax
mov edx, 0x24
cmovne edx, ecx
movsxd rcx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], ecx
jg 0x1800a33f4
xor r9d, r9d
mov r8d, r15d
mov rcx, rsi
mov dword [rsp + 0x20], edi
call fcn.1800343e0
jmp 0x1800a3424
lea eax, [rcx + 1]
lea rcx, [rcx + rcx*2]
mov dword [rsi + 0x90], eax
mov rax, qword [rsi + 0x88]
mov byte [rax + rcx*8], dl
mov word [rax + rcx*8 + 2], di
mov dword [rax + rcx*8 + 4], r15d
mov qword [rax + rcx*8 + 8], rdi
mov qword [rax + rcx*8 + 0x10], rdi
mov byte [rax + rcx*8 + 1], dil
or dword [r13 + 0x38], 0x800
cmp dword [r12 + 0x50], edi
jne 0x1800a3446
mov rax, qword [rsp + 0xc0]
dec dword [rax + 0x44]
mov eax, dword [rax + 0x44]
mov dword [r12 + 0x10], eax
cmp dword [rsp + 0xd8], edi
jle 0x1800a3461
mov eax, dword [r13 + 0x38]
bt eax, 0x14
jb 0x1800a3461
bts eax, 0x12
mov dword [r13 + 0x38], eax
movsxd r15, dword [r12 + 0x50]
lea eax, [r15 + r14]
mov dword [r12 + 0x50], eax
mov r12, qword [r12 + 0x58]
cdqe
lea r14, [rax + rax*4]
mov rax, qword [rbx + 8]
mov r13, qword [rax]
shl r14, 2
mov rcx, qword [r13]
lea rdx, [r14 + 0x10]
mov rcx, qword [rcx]
call fcn.18000b5f0
mov rbp, rax
test rax, rax
je 0x1800a34c8
mov rax, qword [r13 + 0x60]
mov qword [rbp + 8], r14
mov qword [rbp], rax
mov qword [r13 + 0x60], rbp
add rbp, 0x10
je 0x1800a34c8
test r12, r12
je 0x1800a34c8
mov r8, qword [r12 - 8]
mov rdx, r12
mov rcx, rbp
call fcn.1801278d0
mov r12, qword [rsp + 0xd0]
mov qword [r12 + 0x58], rbp
test rbp, rbp
je 0x1800a3775
movsxd rax, dword [rsp + 0x30]
mov r8, qword [rsp + 0x40]
movsxd r10, dword [rsp + 0xd8]
mov r11, rax
mov qword [rsp + 0x58], rax
movzx eax, word [r8 + 0x3c]
lea rcx, [r15 + r15*4]
cmp r10d, eax
jge 0x1800a370a
mov rdx, qword [rsp + 0x38]
mov r13, qword [rsp + 0x48]
mov ebx, dword [rsp + 0xc8]
lea rbp, [rbp + rcx*4 + 4]
mov ecx, dword [rsp + 0xe8]
mov eax, r10d
mov r14d, ecx
lea r15, [r10*8]
mov r9, rdx
sub r14d, r10d
sub eax, ecx
mov qword [rsp + 0x50], rdx
mov dword [rsp + 0x30], eax
mov r12d, ecx
nop dword [rax]
mov rax, qword [r8 + 0x48]
mov rcx, qword [r15 + rax]
cmp qword [rcx], r13
jne 0x1800a36df
cmp r11, 1
jne 0x1800a35c2
movsxd rdx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], edx
jg 0x1800a359c
mov r9d, r12d
mov r8d, ebx
mov edx, 0x87
mov rcx, rsi
mov dword [rsp + 0x20], edi
call fcn.1800343e0
mov r10d, dword [rsp + 0xd8]
mov edx, eax
jmp 0x1800a3639
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [rsi + 0x90], eax
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8 + 8], r12d
mov dword [rax + rcx*8 + 0xc], edi
mov dword [rax + rcx*8], 0x87
jmp 0x1800a3630
test rdx, rdx
je 0x1800a35d5
mov r8d, dword [r9]
add r9, 4
mov qword [rsp + 0x50], r9
jmp 0x1800a35d8
mov r8d, edi
movsxd rdx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], edx
jg 0x1800a360b
mov r9d, r8d
mov edx, 0x5e
mov rcx, rsi
mov r8d, ebx
mov dword [rsp + 0x20], r12d
call fcn.1800343e0
mov r10d, dword [rsp + 0xd8]
mov edx, eax
jmp 0x1800a3639
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [rsi + 0x90], eax
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8 + 0xc], r12d
mov dword [rax + rcx*8], 0x5e
mov dword [rax + rcx*8 + 4], ebx
mov qword [rax + rcx*8 + 0x10], rdi
mov dword [rbp], edx
movsxd rcx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], ecx
jg 0x1800a366b
xor r9d, r9d
mov r8d, r12d
mov rcx, rsi
lea edx, [r9 + 0x32]
mov dword [rsp + 0x20], edi
call fcn.1800343e0
mov r10d, dword [rsp + 0xd8]
jmp 0x1800a3695
lea eax, [rcx + 1]
lea rcx, [rcx + rcx*2]
mov dword [rsi + 0x90], eax
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8 + 4], r12d
mov qword [rax + rcx*8 + 8], rdi
mov qword [rax + rcx*8 + 0x10], rdi
mov dword [rax + rcx*8], 0x32
mov ecx, dword [rsp + 0x30]
add ecx, r12d
cmp ecx, r10d
jne 0x1800a36c3
cmp dword [rsp + 0x34], edi
mov dword [rbp - 4], ebx
sete al
add al, 0x26
mov byte [rbp + 0xc], al
test r10d, r10d
jle 0x1800a36be
mov dword [rbp + 4], r14d
mov dword [rbp + 8], ecx
jmp 0x1800a36c7
mov dword [rbp + 8], edi
jmp 0x1800a36c7
mov byte [rbp + 0xc], 0xb8
mov rdx, qword [rsp + 0x38]
mov r9, qword [rsp + 0x50]
mov r8, qword [rsp + 0x40]
mov r11, qword [rsp + 0x58]
add rbp, 0x14
mov ecx, dword [rsp + 0x30]
movzx eax, word [r8 + 0x3c]
inc r12d
add ecx, r12d
dec r14d
add r15, 8
cmp ecx, eax
jl 0x1800a3550
mov rbx, qword [rsp + 0x60]
mov r12, qword [rsp + 0xd0]
test r10d, r10d
jle 0x1800a377a
test dword [r8 + 0x38], 0x100400
jne 0x1800a377a
movsxd rcx, dword [rsi + 0x90]
mov edx, dword [r12 + 8]
cmp dword [rsi + 0x94], ecx
jg 0x1800a3746
xor r9d, r9d
mov r8d, edx
mov rcx, rsi
lea edx, [r9 + 0x7d]
mov dword [rsp + 0x20], r10d
call fcn.1800343e0
jmp 0x1800a377a
lea eax, [rcx + 1]
lea rcx, [rcx + rcx*2]
mov dword [rsi + 0x90], eax
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], edi
mov dword [rax + rcx*8 + 0xc], r10d
mov qword [rax + rcx*8 + 0x10], rdi
mov dword [rax + rcx*8], 0x7d
jmp 0x1800a377a
mov dword [r12 + 0x50], edi
mov rax, qword [rsp + 0xc0]
mov rsi, qword [rsp + 0x38]
mov rcx, qword [rax]
test rsi, rsi
je 0x1800a3065
test rcx, rcx
je 0x1800a37f5
cmp rsi, qword [rcx + 0x208]
jae 0x1800a37df
cmp rsi, qword [rcx + 0x1f8]
jb 0x1800a37c0
mov rax, qword [rcx + 0x1f0]
mov qword [rsi], rax
mov qword [rcx + 0x1f0], rsi
jmp 0x1800a3065
cmp rsi, qword [rcx + 0x200]
jb 0x1800a37df
mov rax, qword [rcx + 0x1e0]
mov qword [rsi], rax
mov qword [rcx + 0x1e0], rsi
jmp 0x1800a3065
cmp qword [rcx + 0x320], rdi
je 0x1800a37f5
mov rdx, rsi
call fcn.18000b130
jmp 0x1800a3065
cmp dword [0x180171920], edi
je 0x1800a384d
mov rcx, qword [0x1801811a8]
test rcx, rcx
je 0x1800a380f
call qword [0x1801719a0]
mov rcx, rsi
call qword [0x180171958]
dec qword [0x180181138]
movsxd rcx, eax
sub qword [0x1801810f0], rcx
mov rcx, rsi
call qword [0x180171948]
mov rcx, qword [0x1801811a8]
test rcx, rcx
je 0x1800a3065
call qword [0x1801719b0]
jmp 0x1800a3065
mov rcx, rsi
call qword [0x180171948]
jmp 0x1800a3065
mov r8d, dword [rsp + 0xe8]
mov rdx, qword [rbp + 0x18]
call fcn.1800566a0
mov edx, eax
jmp 0x1800a306c
or word [rbx + 0x12], 4
movsxd rcx, dword [rbx + 0x18]
test ecx, ecx
js 0x1800a38a0
mov rax, qword [rbx + 8]
mov rbx, rcx
imul rbx, rbx, 0x38
add rbx, qword [rax + 0x20]
dec byte [rbx + 0x16]
jne 0x1800a38a0
inc edi
test byte [rbx + 0x12], 4
je 0x1800a30a1
mov eax, edx
add rsp, 0x78
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret