Function at 0x1800a3f70
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 0x1800a47fb
cmp al, 0x2d
je 0x1800a47fb
cmp al, 0x32
jne 0x1800a40b5
movsxd rcx, dword [rsi + 0x90]
mov edx, dword [rsp + 0xe8]
cmp dword [rsi + 0x94], ecx
jg 0x1800a4087
mov r9d, edx
lea edx, [rdi + 0x4b]
xor r8d, r8d
mov rcx, rsi
mov dword [rsp + 0x20], edi
call fcn.180035350
mov edx, dword [rsp + 0xe8]
mov r9d, 0x400
mov r8d, 0x800
mov rcx, qword [r12 + 0x60]
test dword [rcx + 0x38], 0x200000
je 0x1800a4031
test word [rbx + 0x14], r8w
jne 0x1800a4840
test byte [rbx + 0x12], 4
jne 0x1800a4840
mov r8d, 0x200
cmp dword [r12], 0
je 0x1800a4055
mov rax, qword [rbx]
test byte [rax + 4], 1
je 0x1800a4840
mov rax, qword [rbx + 0x30]
test qword [r12 + 0x68], rax
jne 0x1800a4840
test edi, edi
je 0x1800a4813
movzx eax, word [rbx + 0x12]
test r9w, ax
je 0x1800a4813
or ax, r8w
mov word [rbx + 0x12], ax
jmp 0x1800a4818
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 0x1800a4018
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 0x1800a40f6
mov rax, qword [r13 + 0x20]
test rax, rax
je 0x1800a40f6
mov rax, qword [rax + 0x38]
cmp byte [r10 + rax], dil
je 0x1800a40f6
mov eax, edi
cmp dword [rsp + 0xe0], eax
sete al
jmp 0x1800a40fd
mov eax, dword [rsp + 0xe0]
mov dword [rsp + 0x34], eax
mov rdx, rdi
test r10d, r10d
jle 0x1800a412d
mov rcx, qword [r13 + 0x48]
nop dword [rax]
cmp qword [rcx], rdi
je 0x1800a4121
mov rax, qword [rcx]
cmp qword [rax], rbp
je 0x1800a41b1
inc rdx
add rcx, 8
cmp rdx, r10
jl 0x1800a4110
movzx eax, word [r13 + 0x3c]
cmp r10d, eax
jge 0x1800a415b
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 0x1800a4152
inc r14d
add rcx, 8
dec rdx
jne 0x1800a4147
test dword [rbp + 4], 0x1000
mov dword [rsp + 0xc8], edi
je 0x1800a431a
mov rax, qword [rbp + 0x20]
mov rcx, qword [rax + 0x20]
cmp dword [rcx], 1
je 0x1800a431a
cmp dword [rbp + 0x2c], edi
je 0x1800a423a
test dword [rbp + 4], 0x2000000
je 0x1800a423a
mov rcx, qword [rbp + 0x10]
movzx eax, byte [rcx]
cmp al, 0xb0
jne 0x1800a41a5
movzx eax, byte [rcx + 2]
cmp al, 0xb1
jne 0x1800a41c8
mov rax, qword [rcx + 0x20]
mov ecx, dword [rax]
jmp 0x1800a41dd
mov rdx, rbx
mov rcx, r12
call fcn.1800a3a20
mov eax, dword [rsp + 0xe8]
jmp 0x1800a4842
cmp al, 0x8a
jne 0x1800a41d8
mov rax, qword [rcx + 0x20]
mov rcx, qword [rax + 0x20]
mov ecx, dword [rcx]
jmp 0x1800a41dd
mov ecx, 1
cmp r14d, ecx
cmovg ecx, r14d
movsxd rdx, ecx
mov rcx, qword [r15]
shl rdx, 2
call fcn.18000c400
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.180053e40
mov r15d, dword [rsp + 0xc8]
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x48], rbp
jmp 0x1800a434a
mov r8, qword [rsp + 0x40]
mov r13, qword [r15]
mov r9, rbp
mov edx, r10d
mov rcx, r15
call fcn.1800a3c30
mov r12, rax
cmp byte [r13 + 0x67], dil
jne 0x1800a42e5
mov rcx, qword [r15]
movsxd rbp, r14d
shl rbp, 2
test rcx, rcx
je 0x1800a4279
mov rdx, rbp
call fcn.18000c4a0
mov r15, rax
jmp 0x1800a428e
test rbp, rbp
je 0x1800a428b
mov rcx, rbp
call fcn.18000be40
mov r15, rax
jmp 0x1800a428e
mov r15, rdi
mov qword [rsp + 0x38], r15
test r15, r15
je 0x1800a42a5
mov r8, rbp
xor edx, edx
mov rcx, r15
call fcn.18012e4b0
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.180053e40
mov rbp, qword [rsp + 0x48]
mov r15d, dword [rsp + 0xc8]
mov dword [rsp + 0x30], eax
mov dword [rbp + 0x2c], r15d
jmp 0x1800a42f2
mov r15d, dword [rsp + 0xc8]
mov eax, 5
test r12, r12
je 0x1800a4306
mov rdx, r12
mov rcx, r13
call fcn.180051eb0
mov eax, dword [rsp + 0x30]
mov r13, qword [rsp + 0x40]
mov r12, qword [rsp + 0xd0]
mov qword [rsp + 0x48], rbp
jmp 0x1800a434a
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.180053e40
mov r15d, dword [rsp + 0xc8]
mov dword [rsp + 0x30], eax
cmp eax, 4
jne 0x1800a435e
mov eax, edi
cmp dword [rsp + 0x34], eax
sete al
mov dword [rsp + 0x34], eax
jmp 0x1800a4362
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 0x1800a4394
xor r9d, r9d
mov r8d, r15d
mov rcx, rsi
mov dword [rsp + 0x20], edi
call fcn.180035350
jmp 0x1800a43c4
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 0x1800a43e6
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 0x1800a4401
mov eax, dword [r13 + 0x38]
bt eax, 0x14
jb 0x1800a4401
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.18000c4a0
mov rbp, rax
test rax, rax
je 0x1800a4468
mov rax, qword [r13 + 0x60]
mov qword [rbp + 8], r14
mov qword [rbp], rax
mov qword [r13 + 0x60], rbp
add rbp, 0x10
je 0x1800a4468
test r12, r12
je 0x1800a4468
mov r8, qword [r12 - 8]
mov rdx, r12
mov rcx, rbp
call fcn.180128740
mov r12, qword [rsp + 0xd0]
mov qword [r12 + 0x58], rbp
test rbp, rbp
je 0x1800a4715
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 0x1800a46aa
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 0x1800a467f
cmp r11, 1
jne 0x1800a4562
movsxd rdx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], edx
jg 0x1800a453c
mov r9d, r12d
mov r8d, ebx
mov edx, 0x87
mov rcx, rsi
mov dword [rsp + 0x20], edi
call fcn.180035350
mov r10d, dword [rsp + 0xd8]
mov edx, eax
jmp 0x1800a45d9
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 0x1800a45d0
test rdx, rdx
je 0x1800a4575
mov r8d, dword [r9]
add r9, 4
mov qword [rsp + 0x50], r9
jmp 0x1800a4578
mov r8d, edi
movsxd rdx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], edx
jg 0x1800a45ab
mov r9d, r8d
mov edx, 0x5e
mov rcx, rsi
mov r8d, ebx
mov dword [rsp + 0x20], r12d
call fcn.180035350
mov r10d, dword [rsp + 0xd8]
mov edx, eax
jmp 0x1800a45d9
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 0x1800a460b
xor r9d, r9d
mov r8d, r12d
mov rcx, rsi
lea edx, [r9 + 0x32]
mov dword [rsp + 0x20], edi
call fcn.180035350
mov r10d, dword [rsp + 0xd8]
jmp 0x1800a4635
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 0x1800a4663
cmp dword [rsp + 0x34], edi
mov dword [rbp - 4], ebx
sete al
add al, 0x26
mov byte [rbp + 0xc], al
test r10d, r10d
jle 0x1800a465e
mov dword [rbp + 4], r14d
mov dword [rbp + 8], ecx
jmp 0x1800a4667
mov dword [rbp + 8], edi
jmp 0x1800a4667
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 0x1800a44f0
mov rbx, qword [rsp + 0x60]
mov r12, qword [rsp + 0xd0]
test r10d, r10d
jle 0x1800a471a
test dword [r8 + 0x38], 0x100400
jne 0x1800a471a
movsxd rcx, dword [rsi + 0x90]
mov edx, dword [r12 + 8]
cmp dword [rsi + 0x94], ecx
jg 0x1800a46e6
xor r9d, r9d
mov r8d, edx
mov rcx, rsi
lea edx, [r9 + 0x7d]
mov dword [rsp + 0x20], r10d
call fcn.180035350
jmp 0x1800a471a
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 0x1800a471a
mov dword [r12 + 0x50], edi
mov rax, qword [rsp + 0xc0]
mov rsi, qword [rsp + 0x38]
mov rcx, qword [rax]
test rsi, rsi
je 0x1800a4005
test rcx, rcx
je 0x1800a4795
cmp rsi, qword [rcx + 0x208]
jae 0x1800a477f
cmp rsi, qword [rcx + 0x1f8]
jb 0x1800a4760
mov rax, qword [rcx + 0x1f0]
mov qword [rsi], rax
mov qword [rcx + 0x1f0], rsi
jmp 0x1800a4005
cmp rsi, qword [rcx + 0x200]
jb 0x1800a477f
mov rax, qword [rcx + 0x1e0]
mov qword [rsi], rax
mov qword [rcx + 0x1e0], rsi
jmp 0x1800a4005
cmp qword [rcx + 0x320], rdi
je 0x1800a4795
mov rdx, rsi
call fcn.18000bfe0
jmp 0x1800a4005
cmp dword [0x180172920], edi
je 0x1800a47ed
mov rcx, qword [0x1801821a8]
test rcx, rcx
je 0x1800a47af
call qword [0x1801729a0]
mov rcx, rsi
call qword [0x180172958]
dec qword [0x180182138]
movsxd rcx, eax
sub qword [0x1801820f0], rcx
mov rcx, rsi
call qword [0x180172948]
mov rcx, qword [0x1801821a8]
test rcx, rcx
je 0x1800a4005
call qword [0x1801729b0]
jmp 0x1800a4005
mov rcx, rsi
call qword [0x180172948]
jmp 0x1800a4005
mov r8d, dword [rsp + 0xe8]
mov rdx, qword [rbp + 0x18]
call fcn.180057630
mov edx, eax
jmp 0x1800a400c
or word [rbx + 0x12], 4
movsxd rcx, dword [rbx + 0x18]
test ecx, ecx
js 0x1800a4840
mov rax, qword [rbx + 8]
mov rbx, rcx
imul rbx, rbx, 0x38
add rbx, qword [rax + 0x20]
dec byte [rbx + 0x16]
jne 0x1800a4840
inc edi
test byte [rbx + 0x12], 4
je 0x1800a4041
mov eax, edx
add rsp, 0x78
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret