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

Disassembly:
push rbp
push rsi
push rdi
sub rsp, 0x120
mov rax, qword [0x1801705d0]
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 0x1800adfdf
mov eax, dword [rax + 0x18]
jmp 0x1800ae769
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 0x1800ae007
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.1800aaf30
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 0x1800ae09a
mov word [rsp + 0x38], dx
mov ecx, 0x100
jmp 0x1800ae0b7
movsx rcx, ax
call fcn.180010bb0
mov ecx, 0x100
sub ax, 0x21
xor edx, edx
mov word [rsp + 0x38], ax
jmp 0x1800ae0b7
xor edx, edx
test rbx, rbx
je 0x1800ae62c
movzx r9d, word [rbx + 0x14]
mov ebp, edx
mov word [rsp + 0x34], r9w
cmp r9w, cx
je 0x1800ae0dd
test byte [rbx + 0x12], 0x80
je 0x1800ae19c
movzx r10d, word [rsp + 0x30]
mov rax, qword [rsi + 8]
movsx r8, word [rax + r10*2]
test r8d, r8d
js 0x1800ae18d
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 0x1800ae605
mov ecx, 0x100
mov rax, qword [rbx + 0x28]
test qword [rdi + 8], rax
jne 0x1800ae605
test word [rbx + 0x12], cx
je 0x1800ae132
cmp r9w, 0x10
je 0x1800ae605
mov r11, qword [rsp + 0x70]
movzx edx, byte [r11 + 0x3c]
test dl, 0x58
je 0x1800ae16e
mov rcx, qword [rbx]
mov r8d, dword [rcx + 4]
test r8b, 3
je 0x1800ae605
mov eax, dword [r11 + 0x44]
cmp dword [rcx + 0x34], eax
jne 0x1800ae605
test dl, 0x18
je 0x1800ae16e
test r8b, 2
jne 0x1800ae605
cmp byte [rsi + 0x62], 0
je 0x1800ae1a7
movzx eax, word [rsi + 0x5e]
movzx ecx, r10w
dec eax
cmp ecx, eax
jne 0x1800ae1a7
mov rax, qword [rsp + 0x68]
or byte [rax + 0x20], 2
jmp 0x1800ae1b0
cmp r8d, 0xffffffff
je 0x1800ae605
jmp 0x1800ae10e
movzx r10d, word [rsp + 0x30]
jmp 0x1800ae113
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 0x1800ae20a
mov rcx, qword [rsp + 0x78]
movzx r8d, ax
mov rdx, rdi
inc r8d
call fcn.1800ad320
test eax, eax
jne 0x1800ae628
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 0x1800ae339
mov r8, qword [rbx]
test dword [r8 + 4], 0x1000
je 0x1800ae286
movzx eax, word [rdi + 0x3c]
mov ebp, 0x2e
dec eax
test eax, eax
jle 0x1800ae29e
movzx edx, word [rdi + 0x3c]
mov rcx, qword [rdi + 0x48]
dec edx
xor r9d, r9d
cmp qword [rcx], r9
je 0x1800ae275
mov rax, qword [rcx]
cmp qword [rax], r8
cmove ebp, r9d
add rcx, 8
dec rdx
jne 0x1800ae266
movzx r9d, word [rsp + 0x34]
jmp 0x1800ae29e
mov rax, qword [r8 + 0x20]
test rax, rax
je 0x1800ae29e
movsxd rcx, dword [rax]
test ecx, ecx
je 0x1800ae29e
call fcn.180010bb0
movsx ebp, ax
test byte [rsi + 0x64], 0x80
je 0x1800ae30b
movzx r11d, word [rsp + 0x38]
cmp r11w, 0xa
jl 0x1800ae30b
mov rax, qword [rsi + 0x10]
movzx ecx, r10w
movzx r8d, word [rax + rcx*2]
cmp bp, 0xa
jg 0x1800ae2c8
xor eax, eax
jmp 0x1800ae2d5
movsx rcx, bp
call fcn.180010bb0
sub ax, 0x21
sub ax, bp
sub ax, r11w
add ax, r8w
add ax, 0xa
jns 0x1800ae30b
cmp word [rsp + 0x32], 2
jge 0x1800ae605
mov rax, qword [rsp + 0x78]
test dword [rax + 0x60], 0x20000
jne 0x1800ae605
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 0x1800ae4ac
mov r8, rdi
mov rdx, rax
call fcn.1800ad140
jmp 0x1800ae4fc
test r9b, 0x82
je 0x1800ae3b2
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 0x1800ae391
test edx, edx
js 0x1800ae398
cmp word [rsp + 0x32], 0
jne 0x1800ae398
movzx edx, word [rsi + 0x5e]
movzx r8d, r10w
lea eax, [rdx - 1]
cmp r8d, eax
jne 0x1800ae398
test byte [rsi + 0x64], 8
jne 0x1800ae391
cmp edx, 1
jne 0x1800ae38b
cmp byte [rsi + 0x62], 0
je 0x1800ae38b
cmp r9w, 2
je 0x1800ae391
bts ecx, 0x10
jmp 0x1800ae395
bts ecx, 0xc
mov dword [rdi + 0x38], ecx
cmp byte [rsp + 0xb9], 1
jbe 0x1800ae30f
or dword [rdi + 0x38], 0x200000
jmp 0x1800ae30f
mov eax, 0x100
test ax, r9w
je 0x1800ae3c6
or dword [rdi + 0x38], 8
jmp 0x1800ae30f
mov edx, dword [r11 + 0x44]
mov rcx, qword [rsp + 0x88]
movzx r9d, r10w
mov r8, rsi
mov qword [rsp + 0x20], rbx
call fcn.1800add70
movzx r9d, word [rsp + 0x34]
mov r10d, 0x100
test r9b, 0x24
je 0x1800ae470
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 0x1800ae31f
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.1800ad320
test eax, eax
jne 0x1800ae628
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 0x1800ae319
or dword [rdi + 0x38], 0x12
test byte [rdi + 0x38], 0x20
mov word [rdi + 0x1c], ax
mov rax, rbx
mov qword [rsp + 0x48], rbx
je 0x1800ae4a0
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 0x1800ae31f
xor ecx, ecx
mov qword [rsp + 0x58], rcx
jmp 0x1800ae31f
inc word [rdi + 0x18]
movzx edx, word [rbx + 0x10]
movzx r8d, word [rdi + 0x18]
test dx, dx
jg 0x1800ae4d7
movzx ecx, word [rsp + 0x30]
mov rax, qword [rsi + 8]
cmp word [rax + rcx*2], 0
jl 0x1800ae4d7
sub dx, bp
add word [rdi + 0x16], dx
jmp 0x1800ae4fc
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 0x1800ae4fc
add ax, 0xa
mov word [rdi + 0x16], ax
mov eax, dword [rsi + 0x64]
and eax, 3
cmp al, 3
jne 0x1800ae510
movzx eax, word [rdi + 0x16]
add ax, 0x10
jmp 0x1800ae530
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.180010b30
test dword [rdi + 0x38], 0x4000140
mov word [rdi + 0x14], ax
jne 0x1800ae55e
movzx edx, word [rdi + 0x16]
movzx ecx, ax
add dx, 0x10
call fcn.180010b30
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.1800adb00
mov rcx, qword [rsp + 0x68]
mov rdx, rdi
call fcn.1800ad990
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 0x1800ae5fc
movzx ecx, word [rdi + 0x18]
cmp cx, word [rsi + 0x60]
jae 0x1800ae5fc
cmp cx, word [rsi + 0x5e]
jb 0x1800ae5cd
mov eax, dword [rsi + 0x64]
and al, 3
cmp al, 2
je 0x1800ae5fc
cmp cx, 3
jbe 0x1800ae5e0
mov rcx, qword [rsp + 0x88]
call fcn.18000eea0
movzx r9d, word [rsp + 0x32]
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x68]
add r9w, bp
mov r8, rsi
call fcn.1800adf70
movzx ecx, word [rsp + 0x36]
mov word [rdi + 0x16], cx
lea rcx, [rsp + 0x90]
call fcn.1800aab80
mov ebp, dword [rsp + 0x50]
mov ecx, 0x100
mov rbx, rax
test ebp, ebp
je 0x1800ae0b5
jmp 0x1800ae62c
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 0x1800ae75f
movzx ecx, word [rsi + 0x5e]
movzx eax, dx
inc eax
cmp eax, ecx
jge 0x1800ae75f
cmp dx, r8w
jne 0x1800ae75f
mov eax, dword [rsi + 0x64]
test al, 0x40
jne 0x1800ae75f
test al, al
jns 0x1800ae75f
mov rcx, qword [rsp + 0x78]
test dword [rcx + 0x60], 0x4000
jne 0x1800ae75f
mov rax, qword [rsi + 0x10]
movzx ebx, dx
cmp word [rax + rbx*2 + 2], 0x2a
jl 0x1800ae75f
movzx r8d, r8w
mov rdx, rdi
inc r8d
call fcn.1800ad320
mov ebp, eax
test eax, eax
jne 0x1800ae75f
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.1800adf70
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.180127700
add rsp, 0x120
pop rdi
pop rsi
pop rbp
ret