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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x60
mov rsi, qword [rcx]
xor edi, edi
mov qword [rsp + 0x58], rsi
mov r13d, r9d
mov dword [rsp + 0x50], edi
mov rbx, r8
mov dword [rsp + 0x4c], edi
mov r14, rdx
mov r12, rcx
mov ebp, edi
test r8, r8
je 0x1800aea28
cmp qword [rcx + 0x188], rdi
jne 0x1800aea28
cmp qword [r8 + 0x68], rdi
jne 0x1800aea28
call fcn.1800c1810
test rax, rax
jne 0x1800aea28
cmp dword [r14 + 0x54], edi
jne 0x1800aea28
cmp r13d, 0xb
jne 0x1800ae81f
cmp word [r14 + 0x44], di
jl 0x1800ae819
movzx r13d, byte [r14 + 0x4c]
cmp r13d, 0xb
jne 0x1800ae81f
mov r13d, 2
mov r8, qword [rbx + 0x28]
cmp dword [r8], 1
jne 0x1800aea28
cmp qword [r8 + 0x30], rdi
jne 0x1800aea28
cmp qword [rbx + 0x30], rdi
jne 0x1800aea28
cmp qword [rbx + 0x48], rdi
jne 0x1800aea28
cmp qword [rbx + 0x38], rdi
jne 0x1800aea28
cmp qword [rbx + 0x60], rdi
jne 0x1800aea28
cmp qword [rbx + 0x50], rdi
jne 0x1800aea28
test byte [rbx + 0xc], 1
jne 0x1800aea28
mov rax, qword [rbx]
cmp dword [rax], 1
jne 0x1800aea28
mov rax, qword [rax + 8]
cmp byte [rax], 0xac
jne 0x1800aea28
add r8, 8
xor edx, edx
mov rcx, r12
call fcn.180098250
mov qword [rsp + 0x40], rax
mov rbx, rax
test rax, rax
je 0x1800aea28
mov ecx, dword [r14 + 0x38]
cmp dword [rax + 0x38], ecx
jne 0x1800ae8c2
mov rcx, qword [r14 + 0x70]
cmp qword [rax + 0x70], rcx
je 0x1800aea28
mov eax, dword [rax + 0x40]
mov ecx, dword [r14 + 0x40]
shr ecx, 5
shr eax, 5
not ecx
not eax
xor ecx, eax
test cl, 1
jne 0x1800aea28
cmp dword [rbx + 0x54], edi
jne 0x1800aea28
cmp qword [rbx + 0x18], rdi
jne 0x1800aea28
movzx ecx, word [r14 + 0x46]
cmp cx, word [rbx + 0x46]
jne 0x1800aea28
movzx eax, word [rbx + 0x44]
cmp word [r14 + 0x44], ax
jne 0x1800aea28
cmp di, cx
jge 0x1800ae9e5
mov rbx, qword [r14 + 8]
mov rsi, rdi
mov rdi, qword [rsp + 0x40]
add rbx, 0x10
movsx r15, cx
mov rdi, qword [rdi + 8]
add rdi, 0x10
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [rdi + 9]
cmp byte [rbx + 9], al
jne 0x1800aea28
mov rdx, qword [rdi]
mov rcx, qword [rbx]
call fcn.180050700
test eax, eax
jne 0x1800aea28
cmp byte [rbx + 8], bpl
je 0x1800ae970
cmp byte [rdi + 8], bpl
je 0x1800aea28
test rsi, rsi
jle 0x1800ae9c7
mov rdx, qword [rbx - 8]
xor eax, eax
mov r8, qword [rdi - 8]
test rdx, rdx
mov ecx, eax
sete cl
test r8, r8
sete al
cmp ecx, eax
jne 0x1800aea28
test rdx, rdx
je 0x1800ae9c7
mov rax, qword [rdx + 8]
mov r8, qword [r8 + 8]
sub r8, rax
nop word [rax + rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x1800ae9c3
inc rax
test ecx, ecx
jne 0x1800ae9b0
test edx, edx
jne 0x1800aea28
inc rsi
add rbx, 0x20
add rdi, 0x20
cmp rsi, r15
jl 0x1800ae940
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x58]
mov rdi, qword [r14 + 0x10]
mov eax, 1
test rdi, rdi
je 0x1800aea7e
nop word [rax + rax]
cmp byte [rdi + 0x62], 0
mov rbx, qword [rbx + 0x10]
cmovne ebp, eax
test rbx, rbx
je 0x1800aea28
mov rdx, rbx
mov rcx, rdi
call fcn.1800ae680
test eax, eax
jne 0x1800aea42
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x1800aea10
xor eax, eax
mov rbx, qword [rsp + 0xa8]
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov eax, dword [rdi + 0x58]
cmp dword [rbx + 0x58], eax
mov rbx, qword [rsp + 0x40]
jne 0x1800aea70
mov rax, qword [r14 + 0x70]
cmp qword [rbx + 0x70], rax
jne 0x1800aea70
mov rax, qword [0x180186488]
test rax, rax
je 0x1800aea28
mov ecx, 0x19b
call rax
test eax, eax
je 0x1800aea28
mov rdi, qword [rdi + 0x28]
mov eax, 1
test rdi, rdi
jne 0x1800aea00
mov rdx, qword [r14 + 0x30]
test rdx, rdx
je 0x1800aea9a
mov rcx, qword [rbx + 0x30]
mov r8d, 0xffffffff
call fcn.180090860
test eax, eax
jne 0x1800aea28
mov rax, qword [rsi + 0x30]
bt rax, 0xe
jae 0x1800aeab0
cmp qword [r14 + 0x20], 0
jne 0x1800aea28
test al, al
js 0x1800aea28
mov rdx, qword [rbx + 0x70]
mov rcx, rsi
call fcn.1800b47f0
mov r15, qword [r12 + 0x10]
mov edi, eax
mov dword [rsp + 0x3c], eax
test r15, r15
jne 0x1800aeaf9
cmp qword [r12 + 0xa0], r15
jne 0x1800aeaee
mov rax, qword [r12]
test byte [rax + 0x5c], 8
jne 0x1800aeaee
mov byte [r12 + 0x23], 1
mov rcx, r12
call fcn.180071910
mov r15, rax
mov rcx, qword [r12 + 0xa0]
mov rdx, r12
test rcx, rcx
cmovne rdx, rcx
mov ecx, dword [rdx + 0x74]
bt ecx, edi
jb 0x1800aeb26
bts ecx, edi
mov dword [rdx + 0x74], ecx
cmp edi, 1
jne 0x1800aeb26
mov rcx, rdx
call fcn.18009f970
mov edi, dword [r12 + 0x34]
mov r8, r14
mov edx, dword [rsp + 0xc0]
mov rcx, r12
mov dword [rsp + 0x38], edi
inc edi
mov dword [rsp + 0x30], edi
lea eax, [rdi + 1]
mov dword [r12 + 0x34], eax
call fcn.1800aa520
movzx ecx, byte [r12 + 0x1f]
mov esi, eax
test cl, cl
jne 0x1800aeb75
inc dword [r12 + 0x38]
mov ecx, dword [r12 + 0x38]
inc dword [r12 + 0x38]
mov eax, dword [r12 + 0x38]
mov dword [rsp + 0x34], ecx
jmp 0x1800aebad
dec cl
movzx eax, cl
mov byte [r12 + 0x1f], al
mov ecx, dword [r12 + rax*4 + 0xcc]
mov dword [rsp + 0x34], ecx
test al, al
jne 0x1800aeb9b
inc dword [r12 + 0x38]
mov eax, dword [r12 + 0x38]
jmp 0x1800aebad
dec al
movzx eax, al
mov byte [r12 + 0x1f], al
mov eax, dword [r12 + rax*4 + 0xcc]
mov r8d, dword [rsp + 0xc0]
mov r9, r14
mov edx, edi
mov dword [rsp + 0xb0], eax
mov rcx, r12
mov dword [rsp + 0x20], 0x6d
call fcn.1800aa110
mov rax, qword [rsp + 0x58]
test byte [rax + 0x2c], 4
jne 0x1800aec2c
cmp word [r14 + 0x44], 0
jge 0x1800aebeb
cmp qword [r14 + 0x10], 0
jne 0x1800aebf8
test ebp, ebp
jne 0x1800aebf8
lea eax, [r13 - 1]
cmp eax, 1
jbe 0x1800aec2c
xor r9d, r9d
mov r8d, edi
mov rcx, r15
lea edx, [r9 + 0x24]
call fcn.180071e20
mov edx, 0xb
mov rcx, r15
mov ebx, eax
call fcn.180071d40
mov edx, ebx
mov dword [rsp + 0x50], eax
mov rcx, r15
call fcn.180072b30
mov rbx, qword [rsp + 0x40]
test byte [rbx + 0x40], 0x20
mov rcx, r12
jne 0x1800aee8a
mov ebp, dword [rsp + 0x38]
mov r9, rbx
mov r8d, dword [rsp + 0x3c]
mov edx, ebp
mov dword [rsp + 0x20], 0x6c
call fcn.1800aa110
xor r9d, r9d
mov r8d, ebp
mov rcx, r15
lea edx, [r9 + 0x24]
call fcn.180071e20
cmp word [r14 + 0x44], 0
mov dword [rsp + 0x4c], eax
jl 0x1800aecd4
mov ebx, dword [rsp + 0xb0]
mov r8d, ebp
mov r9d, ebx
mov edx, 0x80
mov rcx, r15
call fcn.180071e20
mov r8d, dword [rsp + 0x30]
xor r9d, r9d
mov rcx, r15
mov dword [rsp + 0x20], ebx
mov edi, eax
lea edx, [r9 + 0x1f]
call fcn.180071cd0
mov r8, r14
mov edx, r13d
mov rcx, r12
mov ebx, eax
call fcn.18009ff00
mov edx, ebx
mov rcx, r15
call fcn.180072b30
mov r8d, dword [rsp + 0xb0]
mov edx, esi
mov rcx, r12
call fcn.1800aa8f0
jmp 0x1800aed1e
cmp qword [r14 + 0x10], 0
jne 0x1800aed04
mov rax, qword [rsp + 0x58]
test byte [rax + 0x2c], 8
jne 0x1800aed04
mov r9d, dword [rsp + 0xb0]
mov r8d, edi
mov edx, 0x79
mov rcx, r15
mov esi, edi
call fcn.180071e20
mov edi, eax
jmp 0x1800aed22
mov r9d, dword [rsp + 0xb0]
mov r8d, ebp
mov edx, 0x80
mov rcx, r15
call fcn.180071e20
mov edi, eax
mov esi, dword [rsp + 0x30]
mov r13d, dword [rsp + 0x34]
mov eax, 1
mov r9d, r13d
mov dword [rsp + 0x20], eax
mov r8d, ebp
mov rcx, r15
lea edx, [rax + 0x7e]
call fcn.180071cd0
mov rax, qword [rsp + 0x58]
test byte [rax + 0x2c], 4
je 0x1800aed63
mov r8d, esi
mov edx, 0x82
mov rcx, r15
call fcn.180071db0
mov ebx, 0x39
jmp 0x1800aed68
mov ebx, 0x29
movsxd rdx, dword [r15 + 0x90]
cmp dword [r15 + 0x94], edx
jg 0x1800aed9a
mov eax, dword [rsp + 0xb0]
mov r9d, r13d
mov r8d, esi
mov dword [rsp + 0x20], eax
mov edx, 0x7a
mov rcx, r15
call fcn.180071c70
mov edx, eax
jmp 0x1800aedd4
mov r8d, dword [rsp + 0xb0]
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
xor r9d, r9d
mov dword [r15 + 0x90], eax
mov rax, qword [r15 + 0x88]
mov dword [rax + rcx*8], 0x7a
mov dword [rax + rcx*8 + 4], esi
mov dword [rax + rcx*8 + 8], r13d
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r9
mov rcx, qword [r15]
cmp byte [rcx + 0x61], 0
je 0x1800aedec
mov r8, r14
mov edx, 0xfffffffa
call fcn.180072d60
jmp 0x1800aee2d
test edx, edx
jns 0x1800aedf9
mov edx, dword [r15 + 0x90]
dec edx
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [r15 + 0x88]
cmp byte [rax + rcx*8 + 1], 0
lea rdx, [rax + rcx*8]
je 0x1800aee25
mov r9d, 0xfffffffa
mov r8, r14
mov rcx, r15
call fcn.180072f70
jmp 0x1800aee2d
mov qword [rdx + 0x10], r14
mov byte [rdx + 1], 0xfa
movsxd rax, dword [r15 + 0x90]
test eax, eax
jle 0x1800aee48
lea rcx, [rax + rax*2]
mov rax, qword [r15 + 0x88]
mov word [rax + rcx*8 - 0x16], bx
mov r9d, edi
mov r8d, ebp
mov edx, 5
mov rcx, r15
call fcn.180071e20
xor r9d, r9d
mov r8d, ebp
mov rcx, r15
lea edx, [r9 + 0x75]
call fcn.180071e20
xor r9d, r9d
mov r8d, esi
mov rcx, r15
lea edx, [r9 + 0x75]
call fcn.180071e20
mov rbx, qword [rsp + 0x40]
mov edi, dword [rsp + 0x3c]
jmp 0x1800aeec6
mov rax, qword [r14]
mov r9b, 1
mov r8d, dword [r14 + 0x38]
mov edx, dword [rsp + 0xc0]
mov qword [rsp + 0x20], rax
call fcn.180097560
mov rax, qword [rbx]
xor r9d, r9d
mov edi, dword [rsp + 0x3c]
mov rcx, r12
mov r8d, dword [rbx + 0x38]
mov edx, edi
mov qword [rsp + 0x20], rax
call fcn.180097560
mov esi, dword [rsp + 0x30]
mov rbp, qword [r14 + 0x10]
test rbp, rbp
je 0x1800af102
mov r14d, dword [rsp + 0x38]
nop dword [rax + rax]
mov rbx, qword [rbx + 0x10]
xor r13b, r13b
test rbx, rbx
je 0x1800aef08
nop dword [rax]
mov rdx, rbx
mov rcx, rbp
call fcn.1800ae680
test eax, eax
jne 0x1800aef08
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x1800aeef0
mov r9d, dword [rbx + 0x58]
mov r8d, r14d
mov edx, 0x6c
mov dword [rsp + 0x20], edi
mov rcx, r15
call fcn.180071cd0
mov rdx, rbx
mov rcx, r12
call fcn.180073130
mov eax, dword [rsp + 0xc0]
mov r8d, esi
mov r9d, dword [rbp + 0x58]
mov edx, 0x6d
mov rcx, r15
mov dword [rsp + 0x20], eax
call fcn.180071cd0
mov rdx, rbp
mov rcx, r12
call fcn.180073130
movsxd rax, dword [r15 + 0x90]
test eax, eax
jle 0x1800aef75
lea rcx, [rax + rax*2]
mov edx, 1
mov rax, qword [r15 + 0x88]
mov word [rax + rcx*8 - 0x16], dx
xor r9d, r9d
mov r8d, r14d
mov rcx, r15
lea edx, [r9 + 0x24]
call fcn.180071e20
mov r9d, dword [rsp + 0x34]
mov edi, eax
mov dword [rsp + 0x48], eax
mov r8d, r14d
mov eax, 1
mov rcx, r15
mov dword [rsp + 0x20], eax
lea edx, [rax + 0x7e]
call fcn.180071cd0
mov rax, qword [rsp + 0x58]
test byte [rax + 0x2c], 4
je 0x1800af05f
movzx r14d, word [rbx + 0x60]
xor eax, eax
mov edi, eax
mov r11d, eax
test r14d, r14d
je 0x1800af03e
mov r10, qword [rbx + 0x40]
lea r12, [0x18014fc3c]
lea rbx, [0x180150a50]
nop dword [rax + rax]
mov r9, qword [r10]
test r9, r9
je 0x1800af032
movzx eax, byte [r9]
mov r8, r12
movzx ecx, byte [rax + rbx]
mov eax, 0x62
sub eax, ecx
jne 0x1800af032
mov dl, 0x42
sub r9, r12
test dl, dl
je 0x1800af020
movzx eax, byte [r8 + r9 + 1]
inc r8
movzx ecx, byte [rax + rbx]
movzx edx, byte [r8]
movzx eax, byte [rdx + rbx]
sub eax, ecx
je 0x1800af001
jmp 0x1800af032
test eax, eax
jne 0x1800af032
inc edi
inc r11
add r10, 8
cmp r11, r14
jl 0x1800aefe0
mov r12, qword [rsp + 0xa0]
mov esi, dword [rsp + 0x30]
cmp edi, r14d
jne 0x1800af056
mov r8d, esi
mov edx, 0x82
mov rcx, r15
mov r13b, 0x10
call fcn.180071db0
mov r14d, dword [rsp + 0x38]
mov edi, dword [rsp + 0x48]
mov rbx, qword [rsp + 0x40]
test byte [rbx + 0x40], 0x20
je 0x1800af077
mov eax, dword [rbp + 0x64]
and al, 3
cmp al, 2
jne 0x1800af077
or r13b, 1
mov r9d, dword [rsp + 0x34]
mov r8d, esi
mov edx, 0x84
mov rcx, r15
call fcn.180071e20
movsxd rax, dword [r15 + 0x90]
test eax, eax
jle 0x1800af0af
lea rcx, [rax + rax*2]
or r13b, 8
mov rax, qword [r15 + 0x88]
movzx edx, r13b
mov word [rax + rcx*8 - 0x16], dx
lea r9d, [rdi + 1]
mov r8d, r14d
mov edx, 5
mov rcx, r15
call fcn.180071e20
mov edx, edi
mov rcx, r15
call fcn.180072b30
xor r9d, r9d
mov r8d, r14d
mov rcx, r15
lea edx, [r9 + 0x75]
call fcn.180071e20
xor r9d, r9d
mov r8d, esi
mov rcx, r15
lea edx, [r9 + 0x75]
call fcn.180071e20
mov rbp, qword [rbp + 0x28]
mov edi, dword [rsp + 0x3c]
test rbp, rbp
jne 0x1800aeee0
mov eax, dword [rsp + 0x4c]
test eax, eax
je 0x1800af114
mov edx, eax
mov rcx, r15
call fcn.180072b30
mov ecx, dword [rsp + 0xb0]
test ecx, ecx
je 0x1800af139
movzx eax, byte [r12 + 0x1f]
cmp al, 8
jae 0x1800af139
movzx eax, al
mov dword [r12 + rax*4 + 0xcc], ecx
inc byte [r12 + 0x1f]
mov ecx, dword [rsp + 0x34]
test ecx, ecx
je 0x1800af15b
movzx eax, byte [r12 + 0x1f]
cmp al, 8
jae 0x1800af15b
movzx eax, al
mov dword [r12 + rax*4 + 0xcc], ecx
inc byte [r12 + 0x1f]
mov ebx, dword [rsp + 0x50]
test ebx, ebx
je 0x1800af1a9
cmp qword [r12 + 0x98], 0
je 0x1800af176
mov rcx, r12
call fcn.1800aa960
xor r9d, r9d
xor r8d, r8d
mov rcx, r15
lea edx, [r9 + 0x45]
call fcn.180071e20
mov edx, ebx
mov rcx, r15
call fcn.180072b30
xor r9d, r9d
mov r8d, esi
mov rcx, r15
lea edx, [r9 + 0x75]
call fcn.180071e20
jmp 0x1800aea28
mov eax, 1
jmp 0x1800aea2a