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

Disassembly:
push rbp
push rsi
push rdi
sub rsp, 0x120
mov rax, qword [0x1801715d0]
xor rax, rsp
mov qword [rsp + 0x100], rax
mov rax, qword [rcx]
mov qword [rsp + 0x68], rcx
mov r10, rdx
mov rax, qword [rax]
mov qword [rsp + 0x70], rdx
mov rdx, rcx
mov rcx, qword [rax]
mov rdi, qword [rdx + 0x10]
mov word [rsp + 0x32], r9w
mov qword [rsp + 0x78], rcx
xor ecx, ecx
mov rsi, r8
mov qword [rsp + 0x88], rax
mov ebp, ecx
mov dword [rsp + 0x50], ecx
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x58], rcx
cmp dword [rax + 0x30], ecx
je 0x1800aef7f
mov eax, dword [rax + 0x18]
jmp 0x1800af709
mov eax, dword [rdi + 0x38]
mov ecx, 0x18
mov qword [rsp + 0x118], rbx
test al, 0x20
mov dword [rsp + 0x64], eax
mov eax, 0x1bf
cmovne eax, ecx
test byte [r8 + 0x64], 4
je 0x1800aefa7
and eax, 0xffffffc3
movzx r8d, word [rdi + 0x1a]
movzx ecx, word [rdi + 0x18]
mov rdx, qword [rdx + 8]
mov word [rsp + 0x3a], r8w
movzx r8d, word [rdi + 0x1c]
mov word [rsp + 0x30], cx
mov word [rsp + 0x3e], r8w
movzx r8d, word [rdi + 0x3e]
mov r9d, ecx
mov word [rsp + 0x3c], r8w
movzx r8d, word [rdi + 0x3c]
lea rcx, [rsp + 0x90]
mov word [rsp + 0x40], r8w
mov r8, qword [rdi]
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x80], r8
movzx r8d, word [rdi + 0x16]
mov dword [rsp + 0x20], eax
mov word [rsp + 0x36], r8w
mov r8d, dword [r10 + 0x44]
call fcn.1800abed0
xor edx, edx
mov word [rdi + 0x12], dx
mov rcx, qword [rsi + 0x10]
mov rbx, rax
movzx eax, word [rcx]
mov word [rsp + 0x60], ax
cmp ax, 0xa
jg 0x1800af03a
mov word [rsp + 0x38], dx
mov ecx, 0x100
jmp 0x1800af057
movsx rcx, ax
call fcn.180011b70
mov ecx, 0x100
sub ax, 0x21
xor edx, edx
mov word [rsp + 0x38], ax
jmp 0x1800af057
xor edx, edx
test rbx, rbx
je 0x1800af5cc
movzx r9d, word [rbx + 0x14]
mov ebp, edx
mov word [rsp + 0x34], r9w
cmp r9w, cx
je 0x1800af07d
test byte [rbx + 0x12], 0x80
je 0x1800af13c
movzx r10d, word [rsp + 0x30]
mov rax, qword [rsi + 8]
movsx r8, word [rax + r10*2]
test r8d, r8d
js 0x1800af12d
mov rdx, qword [rsi + 0x18]
lea rcx, [r8 + r8*2]
mov rax, qword [rdx + 8]
mov edx, dword [rax + rcx*8 + 8]
and edx, 0xf
jne 0x1800af5a5
mov ecx, 0x100
mov rax, qword [rbx + 0x28]
test qword [rdi + 8], rax
jne 0x1800af5a5
test word [rbx + 0x12], cx
je 0x1800af0d2
cmp r9w, 0x10
je 0x1800af5a5
mov r11, qword [rsp + 0x70]
movzx edx, byte [r11 + 0x3c]
test dl, 0x58
je 0x1800af10e
mov rcx, qword [rbx]
mov r8d, dword [rcx + 4]
test r8b, 3
je 0x1800af5a5
mov eax, dword [r11 + 0x44]
cmp dword [rcx + 0x34], eax
jne 0x1800af5a5
test dl, 0x18
je 0x1800af10e
test r8b, 2
jne 0x1800af5a5
cmp byte [rsi + 0x62], 0
je 0x1800af147
movzx eax, word [rsi + 0x5e]
movzx ecx, r10w
dec eax
cmp ecx, eax
jne 0x1800af147
mov rax, qword [rsp + 0x68]
or byte [rax + 0x20], 2
jmp 0x1800af150
cmp r8d, 0xffffffff
je 0x1800af5a5
jmp 0x1800af0ae
movzx r10d, word [rsp + 0x30]
jmp 0x1800af0b3
mov rax, qword [rsp + 0x68]
or byte [rax + 0x20], 1
mov eax, dword [rsp + 0x64]
mov word [rdi + 0x18], r10w
mov dword [rdi + 0x38], eax
movzx eax, word [rsp + 0x3a]
mov word [rdi + 0x1a], ax
movzx eax, word [rsp + 0x3e]
mov word [rdi + 0x1c], ax
movzx eax, word [rsp + 0x40]
mov word [rdi + 0x3c], ax
cmp ax, word [rdi + 0x40]
jb 0x1800af1aa
mov rcx, qword [rsp + 0x78]
movzx r8d, ax
mov rdx, rdi
inc r8d
call fcn.1800ae2c0
test eax, eax
jne 0x1800af5c8
movzx r9d, word [rsp + 0x34]
movzx r10d, word [rsp + 0x30]
mov r11, qword [rsp + 0x70]
movzx ecx, word [rdi + 0x3c]
mov rax, qword [rdi + 0x48]
mov qword [rax + rcx*8], rbx
inc word [rdi + 0x3c]
mov rcx, qword [rbx + 0x28]
or rcx, qword [rsp + 0x80]
mov rax, qword [rdi + 8]
not rax
and rcx, rax
mov qword [rdi], rcx
test r9b, 1
je 0x1800af2d9
mov r8, qword [rbx]
test dword [r8 + 4], 0x1000
je 0x1800af226
movzx eax, word [rdi + 0x3c]
mov ebp, 0x2e
dec eax
test eax, eax
jle 0x1800af23e
movzx edx, word [rdi + 0x3c]
mov rcx, qword [rdi + 0x48]
dec edx
xor r9d, r9d
cmp qword [rcx], r9
je 0x1800af215
mov rax, qword [rcx]
cmp qword [rax], r8
cmove ebp, r9d
add rcx, 8
dec rdx
jne 0x1800af206
movzx r9d, word [rsp + 0x34]
jmp 0x1800af23e
mov rax, qword [r8 + 0x20]
test rax, rax
je 0x1800af23e
movsxd rcx, dword [rax]
test ecx, ecx
je 0x1800af23e
call fcn.180011b70
movsx ebp, ax
test byte [rsi + 0x64], 0x80
je 0x1800af2ab
movzx r11d, word [rsp + 0x38]
cmp r11w, 0xa
jl 0x1800af2ab
mov rax, qword [rsi + 0x10]
movzx ecx, r10w
movzx r8d, word [rax + rcx*2]
cmp bp, 0xa
jg 0x1800af268
xor eax, eax
jmp 0x1800af275
movsx rcx, bp
call fcn.180011b70
sub ax, 0x21
sub ax, bp
sub ax, r11w
add ax, r8w
add ax, 0xa
jns 0x1800af2ab
cmp word [rsp + 0x32], 2
jge 0x1800af5a5
mov rax, qword [rsp + 0x78]
test dword [rax + 0x60], 0x20000
jne 0x1800af5a5
or dword [rdi + 0x38], 0x100000
or dword [rdi + 0x38], 4
mov rcx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x48]
mov r10d, 0x100
test byte [rdi + 0x38], 2
je 0x1800af44c
mov r8, rdi
mov rdx, rax
call fcn.1800ae0e0
jmp 0x1800af49c
test r9b, 0x82
je 0x1800af352
mov rax, qword [rsi + 8]
movzx ecx, r10w
movsx edx, word [rax + rcx*2]
or dword [rdi + 0x38], 1
mov ecx, dword [rdi + 0x38]
cmp edx, 0xffffffff
je 0x1800af331
test edx, edx
js 0x1800af338
cmp word [rsp + 0x32], 0
jne 0x1800af338
movzx edx, word [rsi + 0x5e]
movzx r8d, r10w
lea eax, [rdx - 1]
cmp r8d, eax
jne 0x1800af338
test byte [rsi + 0x64], 8
jne 0x1800af331
cmp edx, 1
jne 0x1800af32b
cmp byte [rsi + 0x62], 0
je 0x1800af32b
cmp r9w, 2
je 0x1800af331
bts ecx, 0x10
jmp 0x1800af335
bts ecx, 0xc
mov dword [rdi + 0x38], ecx
cmp byte [rsp + 0xb9], 1
jbe 0x1800af2af
or dword [rdi + 0x38], 0x200000
jmp 0x1800af2af
mov eax, 0x100
test ax, r9w
je 0x1800af366
or dword [rdi + 0x38], 8
jmp 0x1800af2af
mov edx, dword [r11 + 0x44]
mov rcx, qword [rsp + 0x88]
movzx r9d, r10w
mov r8, rsi
mov qword [rsp + 0x20], rbx
call fcn.1800aed10
movzx r9d, word [rsp + 0x34]
mov r10d, 0x100
test r9b, 0x24
je 0x1800af410
or dword [rdi + 0x38], 0x22
mov word [rdi + 0x1a], ax
xor eax, eax
mov qword [rsp + 0x48], rax
mov rcx, rbx
mov qword [rsp + 0x58], rbx
test word [rbx + 0x12], r10w
je 0x1800af2bf
movzx r8d, word [rdi + 0x3c]
mov rcx, qword [rsp + 0x78]
lea rax, [rbx + 0x38]
inc r8d
mov rdx, rdi
mov qword [rsp + 0x48], rax
call fcn.1800ae2c0
test eax, eax
jne 0x1800af5c8
movzx ecx, word [rdi + 0x3c]
mov rax, qword [rdi + 0x48]
mov r8, qword [rsp + 0x48]
movzx r9d, word [rsp + 0x34]
mov qword [rax + rcx*8], r8
inc word [rdi + 0x3c]
or dword [rdi + 0x38], 0x10
mov eax, 1
mov rcx, rbx
mov word [rdi + 0x1c], ax
mov rax, r8
jmp 0x1800af2b9
or dword [rdi + 0x38], 0x12
test byte [rdi + 0x38], 0x20
mov word [rdi + 0x1c], ax
mov rax, rbx
mov qword [rsp + 0x48], rbx
je 0x1800af440
mov rax, qword [rdi + 0x48]
movzx ecx, word [rdi + 0x3c]
mov rcx, qword [rax + rcx*8 - 0x10]
mov rax, rbx
mov qword [rsp + 0x58], rcx
jmp 0x1800af2bf
xor ecx, ecx
mov qword [rsp + 0x58], rcx
jmp 0x1800af2bf
inc word [rdi + 0x18]
movzx edx, word [rbx + 0x10]
movzx r8d, word [rdi + 0x18]
test dx, dx
jg 0x1800af477
movzx ecx, word [rsp + 0x30]
mov rax, qword [rsi + 8]
cmp word [rax + rcx*2], 0
jl 0x1800af477
sub dx, bp
add word [rdi + 0x16], dx
jmp 0x1800af49c
mov rcx, qword [rsi + 0x10]
movzx eax, word [rcx + r8*2]
sub ax, word [rcx + r8*2 - 2]
add word [rdi + 0x16], ax
movzx eax, word [rdi + 0x16]
test r10w, r9w
je 0x1800af49c
add ax, 0xa
mov word [rdi + 0x16], ax
mov eax, dword [rsi + 0x64]
and eax, 3
cmp al, 3
jne 0x1800af4b0
movzx eax, word [rdi + 0x16]
add ax, 0x10
jmp 0x1800af4d0
mov rcx, qword [rsp + 0x70]
movsx eax, word [rsi + 0x5c]
mov rcx, qword [rcx + 0x20]
imul eax, eax, 0xf
cdq
movsx r8d, word [rcx + 0x3c]
idiv r8d
add ax, word [rdi + 0x16]
inc ax
movzx ecx, word [rsp + 0x38]
movzx edx, ax
call fcn.180011af0
test dword [rdi + 0x38], 0x4000140
mov word [rdi + 0x14], ax
jne 0x1800af4fe
movzx edx, word [rdi + 0x16]
movzx ecx, ax
add dx, 0x10
call fcn.180011af0
mov word [rdi + 0x14], ax
movzx ecx, word [rsp + 0x32]
movzx ebx, word [rdi + 0x16]
movzx r8d, word [rsp + 0x60]
lea eax, [rbp + rcx]
mov rdx, rdi
add word [rdi + 0x14], ax
lea eax, [rbp + rcx]
mov rcx, qword [rsp + 0x68]
add word [rdi + 0x16], ax
mov rcx, qword [rcx + 8]
call fcn.1800aeaa0
mov rcx, qword [rsp + 0x68]
mov rdx, rdi
call fcn.1800ae930
mov ecx, dword [rdi + 0x38]
test cl, 2
mov dword [rsp + 0x50], eax
cmovne bx, word [rsp + 0x36]
mov word [rdi + 0x16], bx
test cl, 0x10
jne 0x1800af59c
movzx ecx, word [rdi + 0x18]
cmp cx, word [rsi + 0x60]
jae 0x1800af59c
cmp cx, word [rsi + 0x5e]
jb 0x1800af56d
mov eax, dword [rsi + 0x64]
and al, 3
cmp al, 2
je 0x1800af59c
cmp cx, 3
jbe 0x1800af580
mov rcx, qword [rsp + 0x88]
call fcn.18000fd50
movzx r9d, word [rsp + 0x32]
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x68]
add r9w, bp
mov r8, rsi
call fcn.1800aef10
movzx ecx, word [rsp + 0x36]
mov word [rdi + 0x16], cx
lea rcx, [rsp + 0x90]
call fcn.1800abb20
mov ebp, dword [rsp + 0x50]
mov ecx, 0x100
mov rbx, rax
test ebp, ebp
je 0x1800af055
jmp 0x1800af5cc
mov ebp, dword [rsp + 0x50]
mov rax, qword [rsp + 0x80]
movzx edx, word [rsp + 0x30]
movzx ecx, word [rsp + 0x3c]
movzx r8d, word [rsp + 0x40]
mov qword [rdi], rax
movzx eax, word [rsp + 0x3a]
mov word [rdi + 0x1a], ax
movzx eax, word [rsp + 0x3e]
mov word [rdi + 0x18], dx
mov word [rdi + 0x1c], ax
mov eax, dword [rsp + 0x64]
mov word [rdi + 0x3e], cx
mov dword [rdi + 0x38], eax
movzx eax, word [rsp + 0x36]
mov word [rdi + 0x3c], r8w
mov word [rdi + 0x16], ax
cmp dx, cx
jne 0x1800af6ff
movzx ecx, word [rsi + 0x5e]
movzx eax, dx
inc eax
cmp eax, ecx
jge 0x1800af6ff
cmp dx, r8w
jne 0x1800af6ff
mov eax, dword [rsi + 0x64]
test al, 0x40
jne 0x1800af6ff
test al, al
jns 0x1800af6ff
mov rcx, qword [rsp + 0x78]
test dword [rcx + 0x60], 0x4000
jne 0x1800af6ff
mov rax, qword [rsi + 0x10]
movzx ebx, dx
cmp word [rax + rbx*2 + 2], 0x2a
jl 0x1800af6ff
movzx r8d, r8w
mov rdx, rdi
inc r8d
call fcn.1800ae2c0
mov ebp, eax
test eax, eax
jne 0x1800af6ff
inc word [rdi + 0x18]
inc word [rdi + 0x3e]
movzx ecx, word [rdi + 0x3c]
mov rax, qword [rdi + 0x48]
mov rdx, qword [rsp + 0x70]
mov r8, rsi
mov qword [rax + rcx*8], 0
inc word [rdi + 0x3c]
or dword [rdi + 0x38], 0x8000
mov rax, qword [rsi + 0x10]
mov rcx, qword [rsp + 0x68]
movzx r9d, word [rax + rbx*2]
sub r9w, word [rax + rbx*2 + 2]
sub word [rdi + 0x16], r9w
add r9w, word [rsp + 0x32]
add r9w, 5
call fcn.1800aef10
movzx eax, word [rsp + 0x36]
movzx ecx, word [rsp + 0x30]
movzx r8d, word [rsp + 0x3c]
mov word [rdi + 0x16], ax
mov eax, dword [rsp + 0x64]
mov dword [rdi + 0x38], eax
mov word [rdi + 0x18], cx
mov word [rdi + 0x3e], r8w
mov rbx, qword [rsp + 0x118]
mov eax, ebp
mov rcx, qword [rsp + 0x100]
xor rcx, rsp
call fcn.180128570
add rsp, 0x120
pop rdi
pop rsi
pop rbp
ret