Function at 0x1800a3240
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 0x1800a3acb
cmp al, 0x2d
je 0x1800a3acb
cmp al, 0x32
jne 0x1800a3385
movsxd rcx, dword [rsi + 0x90]
mov edx, dword [rsp + 0xe8]
cmp dword [rsi + 0x94], ecx
jg 0x1800a3357
mov r9d, edx
lea edx, [rdi + 0x4b]
xor r8d, r8d
mov rcx, rsi
mov dword [rsp + 0x20], edi
call fcn.1800346c0
mov edx, dword [rsp + 0xe8]
mov r9d, 0x400
mov r8d, 0x800
mov rcx, qword [r12 + 0x60]
test dword [rcx + 0x38], 0x200000
je 0x1800a3301
test word [rbx + 0x14], r8w
jne 0x1800a3b10
test byte [rbx + 0x12], 4
jne 0x1800a3b10
mov r8d, 0x200
cmp dword [r12], 0
je 0x1800a3325
mov rax, qword [rbx]
test byte [rax + 4], 1
je 0x1800a3b10
mov rax, qword [rbx + 0x30]
test qword [r12 + 0x68], rax
jne 0x1800a3b10
test edi, edi
je 0x1800a3ae3
movzx eax, word [rbx + 0x12]
test r9w, ax
je 0x1800a3ae3
or ax, r8w
mov word [rbx + 0x12], ax
jmp 0x1800a3ae8
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 0x1800a32e8
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 0x1800a33c6
mov rax, qword [r13 + 0x20]
test rax, rax
je 0x1800a33c6
mov rax, qword [rax + 0x38]
cmp byte [r10 + rax], dil
je 0x1800a33c6
mov eax, edi
cmp dword [rsp + 0xe0], eax
sete al
jmp 0x1800a33cd
mov eax, dword [rsp + 0xe0]
mov dword [rsp + 0x34], eax
mov rdx, rdi
test r10d, r10d
jle 0x1800a33fd
mov rcx, qword [r13 + 0x48]
nop dword [rax]
cmp qword [rcx], rdi
je 0x1800a33f1
mov rax, qword [rcx]
cmp qword [rax], rbp
je 0x1800a3481
inc rdx
add rcx, 8
cmp rdx, r10
jl 0x1800a33e0
movzx eax, word [r13 + 0x3c]
cmp r10d, eax
jge 0x1800a342b
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 0x1800a3422
inc r14d
add rcx, 8
dec rdx
jne 0x1800a3417
test dword [rbp + 4], 0x1000
mov dword [rsp + 0xc8], edi
je 0x1800a35ea
mov rax, qword [rbp + 0x20]
mov rcx, qword [rax + 0x20]
cmp dword [rcx], 1
je 0x1800a35ea
cmp dword [rbp + 0x2c], edi
je 0x1800a350a
test dword [rbp + 4], 0x2000000
je 0x1800a350a
mov rcx, qword [rbp + 0x10]
movzx eax, byte [rcx]
cmp al, 0xb0
jne 0x1800a3475
movzx eax, byte [rcx + 2]
cmp al, 0xb1
jne 0x1800a3498
mov rax, qword [rcx + 0x20]
mov ecx, dword [rax]
jmp 0x1800a34ad
mov rdx, rbx
mov rcx, r12
call fcn.1800a2cf0
mov eax, dword [rsp + 0xe8]
jmp 0x1800a3b12
cmp al, 0x8a
jne 0x1800a34a8
mov rax, qword [rcx + 0x20]
mov rcx, qword [rax + 0x20]
mov ecx, dword [rcx]
jmp 0x1800a34ad
mov ecx, 1
cmp r14d, ecx
cmovg ecx, r14d
movsxd rdx, ecx
mov rcx, qword [r15]
shl rdx, 2
call fcn.18000b6f0
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.180053130
mov r15d, dword [rsp + 0xc8]
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x48], rbp
jmp 0x1800a361a
mov r8, qword [rsp + 0x40]
mov r13, qword [r15]
mov r9, rbp
mov edx, r10d
mov rcx, r15
call fcn.1800a2f00
mov r12, rax
cmp byte [r13 + 0x67], dil
jne 0x1800a35b5
mov rcx, qword [r15]
movsxd rbp, r14d
shl rbp, 2
test rcx, rcx
je 0x1800a3549
mov rdx, rbp
call fcn.18000b790
mov r15, rax
jmp 0x1800a355e
test rbp, rbp
je 0x1800a355b
mov rcx, rbp
call fcn.18000b130
mov r15, rax
jmp 0x1800a355e
mov r15, rdi
mov qword [rsp + 0x38], r15
test r15, r15
je 0x1800a3575
mov r8, rbp
xor edx, edx
mov rcx, r15
call fcn.18012da30
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.180053130
mov rbp, qword [rsp + 0x48]
mov r15d, dword [rsp + 0xc8]
mov dword [rsp + 0x30], eax
mov dword [rbp + 0x2c], r15d
jmp 0x1800a35c2
mov r15d, dword [rsp + 0xc8]
mov eax, 5
test r12, r12
je 0x1800a35d6
mov rdx, r12
mov rcx, r13
call fcn.1800511a0
mov eax, dword [rsp + 0x30]
mov r13, qword [rsp + 0x40]
mov r12, qword [rsp + 0xd0]
mov qword [rsp + 0x48], rbp
jmp 0x1800a361a
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.180053130
mov r15d, dword [rsp + 0xc8]
mov dword [rsp + 0x30], eax
cmp eax, 4
jne 0x1800a362e
mov eax, edi
cmp dword [rsp + 0x34], eax
sete al
mov dword [rsp + 0x34], eax
jmp 0x1800a3632
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 0x1800a3664
xor r9d, r9d
mov r8d, r15d
mov rcx, rsi
mov dword [rsp + 0x20], edi
call fcn.1800346c0
jmp 0x1800a3694
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 0x1800a36b6
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 0x1800a36d1
mov eax, dword [r13 + 0x38]
bt eax, 0x14
jb 0x1800a36d1
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.18000b790
mov rbp, rax
test rax, rax
je 0x1800a3738
mov rax, qword [r13 + 0x60]
mov qword [rbp + 8], r14
mov qword [rbp], rax
mov qword [r13 + 0x60], rbp
add rbp, 0x10
je 0x1800a3738
test r12, r12
je 0x1800a3738
mov r8, qword [r12 - 8]
mov rdx, r12
mov rcx, rbp
call fcn.180127c70
mov r12, qword [rsp + 0xd0]
mov qword [r12 + 0x58], rbp
test rbp, rbp
je 0x1800a39e5
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 0x1800a397a
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 0x1800a394f
cmp r11, 1
jne 0x1800a3832
movsxd rdx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], edx
jg 0x1800a380c
mov r9d, r12d
mov r8d, ebx
mov edx, 0x87
mov rcx, rsi
mov dword [rsp + 0x20], edi
call fcn.1800346c0
mov r10d, dword [rsp + 0xd8]
mov edx, eax
jmp 0x1800a38a9
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 0x1800a38a0
test rdx, rdx
je 0x1800a3845
mov r8d, dword [r9]
add r9, 4
mov qword [rsp + 0x50], r9
jmp 0x1800a3848
mov r8d, edi
movsxd rdx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], edx
jg 0x1800a387b
mov r9d, r8d
mov edx, 0x5e
mov rcx, rsi
mov r8d, ebx
mov dword [rsp + 0x20], r12d
call fcn.1800346c0
mov r10d, dword [rsp + 0xd8]
mov edx, eax
jmp 0x1800a38a9
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 0x1800a38db
xor r9d, r9d
mov r8d, r12d
mov rcx, rsi
lea edx, [r9 + 0x32]
mov dword [rsp + 0x20], edi
call fcn.1800346c0
mov r10d, dword [rsp + 0xd8]
jmp 0x1800a3905
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 0x1800a3933
cmp dword [rsp + 0x34], edi
mov dword [rbp - 4], ebx
sete al
add al, 0x26
mov byte [rbp + 0xc], al
test r10d, r10d
jle 0x1800a392e
mov dword [rbp + 4], r14d
mov dword [rbp + 8], ecx
jmp 0x1800a3937
mov dword [rbp + 8], edi
jmp 0x1800a3937
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 0x1800a37c0
mov rbx, qword [rsp + 0x60]
mov r12, qword [rsp + 0xd0]
test r10d, r10d
jle 0x1800a39ea
test dword [r8 + 0x38], 0x100400
jne 0x1800a39ea
movsxd rcx, dword [rsi + 0x90]
mov edx, dword [r12 + 8]
cmp dword [rsi + 0x94], ecx
jg 0x1800a39b6
xor r9d, r9d
mov r8d, edx
mov rcx, rsi
lea edx, [r9 + 0x7d]
mov dword [rsp + 0x20], r10d
call fcn.1800346c0
jmp 0x1800a39ea
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 0x1800a39ea
mov dword [r12 + 0x50], edi
mov rax, qword [rsp + 0xc0]
mov rsi, qword [rsp + 0x38]
mov rcx, qword [rax]
test rsi, rsi
je 0x1800a32d5
test rcx, rcx
je 0x1800a3a65
cmp rsi, qword [rcx + 0x208]
jae 0x1800a3a4f
cmp rsi, qword [rcx + 0x1f8]
jb 0x1800a3a30
mov rax, qword [rcx + 0x1f0]
mov qword [rsi], rax
mov qword [rcx + 0x1f0], rsi
jmp 0x1800a32d5
cmp rsi, qword [rcx + 0x200]
jb 0x1800a3a4f
mov rax, qword [rcx + 0x1e0]
mov qword [rsi], rax
mov qword [rcx + 0x1e0], rsi
jmp 0x1800a32d5
cmp qword [rcx + 0x320], rdi
je 0x1800a3a65
mov rdx, rsi
call fcn.18000b2d0
jmp 0x1800a32d5
cmp dword [0x180171920], edi
je 0x1800a3abd
mov rcx, qword [0x1801811a8]
test rcx, rcx
je 0x1800a3a7f
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 0x1800a32d5
call qword [0x1801719b0]
jmp 0x1800a32d5
mov rcx, rsi
call qword [0x180171948]
jmp 0x1800a32d5
mov r8d, dword [rsp + 0xe8]
mov rdx, qword [rbp + 0x18]
call fcn.180056920
mov edx, eax
jmp 0x1800a32dc
or word [rbx + 0x12], 4
movsxd rcx, dword [rbx + 0x18]
test ecx, ecx
js 0x1800a3b10
mov rax, qword [rbx + 8]
mov rbx, rcx
imul rbx, rbx, 0x38
add rbx, qword [rax + 0x20]
dec byte [rbx + 0x16]
jne 0x1800a3b10
inc edi
test byte [rbx + 0x12], 4
je 0x1800a3311
mov eax, edx
add rsp, 0x78
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret