Function at 0x1800aef00
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 0x1800aef6f
mov eax, dword [rax + 0x18]
jmp 0x1800af6f9
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 0x1800aef97
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.1800abec0
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 0x1800af02a
mov word [rsp + 0x38], dx
mov ecx, 0x100
jmp 0x1800af047
movsx rcx, ax
call fcn.180011b70
mov ecx, 0x100
sub ax, 0x21
xor edx, edx
mov word [rsp + 0x38], ax
jmp 0x1800af047
xor edx, edx
test rbx, rbx
je 0x1800af5bc
movzx r9d, word [rbx + 0x14]
mov ebp, edx
mov word [rsp + 0x34], r9w
cmp r9w, cx
je 0x1800af06d
test byte [rbx + 0x12], 0x80
je 0x1800af12c
movzx r10d, word [rsp + 0x30]
mov rax, qword [rsi + 8]
movsx r8, word [rax + r10*2]
test r8d, r8d
js 0x1800af11d
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 0x1800af595
mov ecx, 0x100
mov rax, qword [rbx + 0x28]
test qword [rdi + 8], rax
jne 0x1800af595
test word [rbx + 0x12], cx
je 0x1800af0c2
cmp r9w, 0x10
je 0x1800af595
mov r11, qword [rsp + 0x70]
movzx edx, byte [r11 + 0x3c]
test dl, 0x58
je 0x1800af0fe
mov rcx, qword [rbx]
mov r8d, dword [rcx + 4]
test r8b, 3
je 0x1800af595
mov eax, dword [r11 + 0x44]
cmp dword [rcx + 0x34], eax
jne 0x1800af595
test dl, 0x18
je 0x1800af0fe
test r8b, 2
jne 0x1800af595
cmp byte [rsi + 0x62], 0
je 0x1800af137
movzx eax, word [rsi + 0x5e]
movzx ecx, r10w
dec eax
cmp ecx, eax
jne 0x1800af137
mov rax, qword [rsp + 0x68]
or byte [rax + 0x20], 2
jmp 0x1800af140
cmp r8d, 0xffffffff
je 0x1800af595
jmp 0x1800af09e
movzx r10d, word [rsp + 0x30]
jmp 0x1800af0a3
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 0x1800af19a
mov rcx, qword [rsp + 0x78]
movzx r8d, ax
mov rdx, rdi
inc r8d
call fcn.1800ae2b0
test eax, eax
jne 0x1800af5b8
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 0x1800af2c9
mov r8, qword [rbx]
test dword [r8 + 4], 0x1000
je 0x1800af216
movzx eax, word [rdi + 0x3c]
mov ebp, 0x2e
dec eax
test eax, eax
jle 0x1800af22e
movzx edx, word [rdi + 0x3c]
mov rcx, qword [rdi + 0x48]
dec edx
xor r9d, r9d
cmp qword [rcx], r9
je 0x1800af205
mov rax, qword [rcx]
cmp qword [rax], r8
cmove ebp, r9d
add rcx, 8
dec rdx
jne 0x1800af1f6
movzx r9d, word [rsp + 0x34]
jmp 0x1800af22e
mov rax, qword [r8 + 0x20]
test rax, rax
je 0x1800af22e
movsxd rcx, dword [rax]
test ecx, ecx
je 0x1800af22e
call fcn.180011b70
movsx ebp, ax
test byte [rsi + 0x64], 0x80
je 0x1800af29b
movzx r11d, word [rsp + 0x38]
cmp r11w, 0xa
jl 0x1800af29b
mov rax, qword [rsi + 0x10]
movzx ecx, r10w
movzx r8d, word [rax + rcx*2]
cmp bp, 0xa
jg 0x1800af258
xor eax, eax
jmp 0x1800af265
movsx rcx, bp
call fcn.180011b70
sub ax, 0x21
sub ax, bp
sub ax, r11w
add ax, r8w
add ax, 0xa
jns 0x1800af29b
cmp word [rsp + 0x32], 2
jge 0x1800af595
mov rax, qword [rsp + 0x78]
test dword [rax + 0x60], 0x20000
jne 0x1800af595
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 0x1800af43c
mov r8, rdi
mov rdx, rax
call fcn.1800ae0d0
jmp 0x1800af48c
test r9b, 0x82
je 0x1800af342
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 0x1800af321
test edx, edx
js 0x1800af328
cmp word [rsp + 0x32], 0
jne 0x1800af328
movzx edx, word [rsi + 0x5e]
movzx r8d, r10w
lea eax, [rdx - 1]
cmp r8d, eax
jne 0x1800af328
test byte [rsi + 0x64], 8
jne 0x1800af321
cmp edx, 1
jne 0x1800af31b
cmp byte [rsi + 0x62], 0
je 0x1800af31b
cmp r9w, 2
je 0x1800af321
bts ecx, 0x10
jmp 0x1800af325
bts ecx, 0xc
mov dword [rdi + 0x38], ecx
cmp byte [rsp + 0xb9], 1
jbe 0x1800af29f
or dword [rdi + 0x38], 0x200000
jmp 0x1800af29f
mov eax, 0x100
test ax, r9w
je 0x1800af356
or dword [rdi + 0x38], 8
jmp 0x1800af29f
mov edx, dword [r11 + 0x44]
mov rcx, qword [rsp + 0x88]
movzx r9d, r10w
mov r8, rsi
mov qword [rsp + 0x20], rbx
call fcn.1800aed00
movzx r9d, word [rsp + 0x34]
mov r10d, 0x100
test r9b, 0x24
je 0x1800af400
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 0x1800af2af
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.1800ae2b0
test eax, eax
jne 0x1800af5b8
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 0x1800af2a9
or dword [rdi + 0x38], 0x12
test byte [rdi + 0x38], 0x20
mov word [rdi + 0x1c], ax
mov rax, rbx
mov qword [rsp + 0x48], rbx
je 0x1800af430
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 0x1800af2af
xor ecx, ecx
mov qword [rsp + 0x58], rcx
jmp 0x1800af2af
inc word [rdi + 0x18]
movzx edx, word [rbx + 0x10]
movzx r8d, word [rdi + 0x18]
test dx, dx
jg 0x1800af467
movzx ecx, word [rsp + 0x30]
mov rax, qword [rsi + 8]
cmp word [rax + rcx*2], 0
jl 0x1800af467
sub dx, bp
add word [rdi + 0x16], dx
jmp 0x1800af48c
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 0x1800af48c
add ax, 0xa
mov word [rdi + 0x16], ax
mov eax, dword [rsi + 0x64]
and eax, 3
cmp al, 3
jne 0x1800af4a0
movzx eax, word [rdi + 0x16]
add ax, 0x10
jmp 0x1800af4c0
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 0x1800af4ee
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.1800aea90
mov rcx, qword [rsp + 0x68]
mov rdx, rdi
call fcn.1800ae920
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 0x1800af58c
movzx ecx, word [rdi + 0x18]
cmp cx, word [rsi + 0x60]
jae 0x1800af58c
cmp cx, word [rsi + 0x5e]
jb 0x1800af55d
mov eax, dword [rsi + 0x64]
and al, 3
cmp al, 2
je 0x1800af58c
cmp cx, 3
jbe 0x1800af570
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.1800aef00
movzx ecx, word [rsp + 0x36]
mov word [rdi + 0x16], cx
lea rcx, [rsp + 0x90]
call fcn.1800abb10
mov ebp, dword [rsp + 0x50]
mov ecx, 0x100
mov rbx, rax
test ebp, ebp
je 0x1800af045
jmp 0x1800af5bc
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 0x1800af6ef
movzx ecx, word [rsi + 0x5e]
movzx eax, dx
inc eax
cmp eax, ecx
jge 0x1800af6ef
cmp dx, r8w
jne 0x1800af6ef
mov eax, dword [rsi + 0x64]
test al, 0x40
jne 0x1800af6ef
test al, al
jns 0x1800af6ef
mov rcx, qword [rsp + 0x78]
test dword [rcx + 0x60], 0x4000
jne 0x1800af6ef
mov rax, qword [rsi + 0x10]
movzx ebx, dx
cmp word [rax + rbx*2 + 2], 0x2a
jl 0x1800af6ef
movzx r8d, r8w
mov rdx, rdi
inc r8d
call fcn.1800ae2b0
mov ebp, eax
test eax, eax
jne 0x1800af6ef
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.1800aef00
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.180128580
add rsp, 0x120
pop rdi
pop rsi
pop rbp
ret