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

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x110
mov rax, qword [0x18014f0c0]
xor rax, rsp
mov qword [rsp + 0x100], rax
mov rax, qword [rsp + 0x180]
movzx r10d, r9w
mov r14, qword [rsp + 0x178]
mov r13, rcx
mov qword [rsp + 0xc0], r8
xor r8d, r8d
mov qword [rsp + 0xc8], rax
mov ebx, r8d
movzx eax, word [rsp + 0x170]
mov ebp, r8d
mov word [rsp + 0x34], r9w
mov r9, rdx
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0xa0], rcx
mov qword [rsp + 0x98], r14
mov qword [rsp + 0x40], rbx
test ax, ax
je 0x1800cc8b1
mov rax, qword [rcx]
mov rcx, qword [rax]
test byte [rcx + 0x60], 0x40
jne 0x1800cd256
movzx eax, word [rsp + 0x170]
movzx edi, word [rdx]
mov word [rsp + 0x62], di
cmp edi, 0x3f
ja 0x1800cd256
mov ecx, edi
mov dword [rsp + 0x7c], edi
mov esi, r8d
mov qword [rsp + 0xb0], r8
mov edx, 1
mov qword [rsp + 0x70], r8
shl rdx, cl
mov r15d, edi
dec rdx
mov dword [rsp + 0x80], r8d
mov ecx, 0x803
mov qword [rsp + 0x90], rdx
test cx, r10w
mov r12b, 1
mov dword [rsp + 0x38], r12d
mov r11, r8
setne sil
add si, 0x182
xor edi, edi
mov dword [rsp + 0x50], esi
mov ecx, edi
mov qword [rsp + 0xa8], rcx
cmp rbx, rdx
jae 0x1800cd1ed
movzx eax, ax
cmp r8d, eax
jg 0x1800cd218
test r8d, r8d
jle 0x1800cc946
or r11, qword [rbp + 8]
mov qword [rsp + 0x70], r11
cmp r8d, eax
jge 0x1800cc970
bt r10w, 0xb
mov rax, qword [rsp + 0xc0]
mov rax, qword [rax + 0x18]
mov r8, qword [rax + rcx*8]
mov qword [rsp + 0x58], r8
jae 0x1800cc978
mov rbp, r8
jmp 0x1800cd1ae
mov r8, r14
mov qword [rsp + 0x58], r14
test dword [r8 + 0x38], 0x400
jne 0x1800cd1fd
movzx eax, r10w
mov ecx, 0x80
and ax, cx
mov word [rsp + 0x78], ax
je 0x1800cc9a3
xor r10d, r10d
mov word [r8 + 0x1e], r10w
jmp 0x1800cc9a6
xor r10d, r10d
movzx eax, byte [r8 + 0x10]
mov ebp, r10d
imul rcx, rax, 0x68
mov rax, qword [r13 + 8]
mov edx, dword [rcx + rax + 0x4c]
mov dword [rsp + 0x48], edx
test r15d, r15d
je 0x1800ccbbe
mov r12d, dword [rsp + 0x50]
nop dword [rax]
mov eax, ebp
bt rbx, rax
jb 0x1800ccbaa
mov esi, ebp
shl rsi, 5
add rsi, r9
mov r14d, ebp
mov rbx, qword [rsi + 8]
test rbx, rbx
je 0x1800ccba5
mov eax, dword [rbx + 4]
test eax, 0x82000
je 0x1800cca26
bt eax, 0x13
jae 0x1800cca0f
mov rax, qword [rbx + 0x20]
mov rbx, qword [rax + 8]
jmp 0x1800cca18
cmp byte [rbx], 0x71
jne 0x1800cca1d
mov rbx, qword [rbx + 0x10]
test rbx, rbx
jne 0x1800cc9f5
test rbx, rbx
je 0x1800ccba5
movzx eax, byte [rbx]
add al, 0x59
test al, 0xfd
jne 0x1800ccba5
cmp dword [rbx + 0x2c], edx
jne 0x1800ccba5
movsx r8d, word [rbx + 0x30]
lea rcx, [r13 + 0x70]
mov r9, r11
movzx eax, r12w
mov qword [rsp + 0x28], r10
not r9
mov dword [rsp + 0x20], eax
call fcn.1800c6980
mov rdi, rax
test rax, rax
je 0x1800ccb8f
movzx r9d, word [rax + 0x14]
cmp r9w, 1
jne 0x1800ccaac
mov r8, qword [rsp + 0x58]
xor r10d, r10d
mov ecx, r10d
movzx edx, word [r8 + 0x3c]
test edx, edx
je 0x1800ccaa4
mov r8, qword [r8 + 0x48]
nop dword [rax]
movsxd rax, ecx
cmp rdi, qword [r8 + rax*8]
je 0x1800cca9f
inc ecx
cmp ecx, edx
jl 0x1800cca90
mov r8, qword [rsp + 0x58]
cmp ecx, edx
jge 0x1800ccb97
test r9b, 0x82
je 0x1800ccb51
cmp word [rbx + 0x30], 0
jl 0x1800ccb51
mov rbx, qword [r13]
mov rdx, qword [rsi + 8]
mov rcx, rbx
call fcn.18005b9a0
mov rsi, rax
test rax, rax
jne 0x1800ccae0
mov rax, qword [rbx]
mov rsi, qword [rax + 0x10]
mov rax, qword [rdi]
test dword [rax + 4], 0x400
je 0x1800ccaf6
mov rdi, qword [rax + 0x10]
mov rdx, qword [rax + 0x18]
jmp 0x1800ccafe
mov rdi, qword [rax + 0x18]
mov rdx, qword [rax + 0x10]
test dword [rdx + 4], 0x200
jne 0x1800ccb25
test rdi, rdi
je 0x1800ccb15
test dword [rdi + 4], 0x200
jne 0x1800ccb22
mov rcx, rbx
call fcn.18005b9a0
test rax, rax
jne 0x1800ccb32
mov rdx, rdi
mov rcx, rbx
call fcn.18005b9a0
test rax, rax
je 0x1800ccb8f
mov r8, qword [rsi]
mov r9, qword [rax]
sub r9, r8
nop dword [rax + rax]
movzx ecx, byte [r8]
movzx eax, byte [r9 + r8]
cmp ecx, eax
jne 0x1800ccb77
test ecx, ecx
jne 0x1800ccb8a
mov rbx, qword [rsp + 0x40]
mov edx, dword [rsp + 0x48]
bts rbx, r14
mov r8, qword [rsp + 0x58]
xor r10d, r10d
mov r9, qword [rsp + 0x68]
mov r11, qword [rsp + 0x70]
mov qword [rsp + 0x40], rbx
jmp 0x1800ccbaa
lea rdi, [0x18012da20]
movzx edx, byte [rax + rdi]
movzx ecx, byte [rcx + rdi]
cmp ecx, edx
jne 0x1800ccb8f
inc r8
jmp 0x1800ccb40
mov r8, qword [rsp + 0x58]
xor r10d, r10d
mov edx, dword [rsp + 0x48]
mov r9, qword [rsp + 0x68]
mov r11, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x40]
inc ebp
cmp ebp, r15d
jl 0x1800cc9d0
mov r12d, dword [rsp + 0x38]
mov esi, dword [rsp + 0x50]
mov eax, dword [r8 + 0x38]
bt eax, 0xc
jb 0x1800cd00b
bt eax, 8
jae 0x1800ccbec
xor r9d, r9d
mov r11d, r9d
mov qword [rsp + 0x88], r9
mov word [rsp + 0x60], r9w
lea ecx, [r9 + 1]
jmp 0x1800ccc38
mov r11, qword [r8 + 0x20]
mov qword [rsp + 0x88], r11
test r11, r11
je 0x1800cd256
test byte [r11 + 0x64], 4
jne 0x1800cd256
cmp byte [r11 + 0x62], 0
movzx ecx, word [r11 + 0x5e]
mov word [rsp + 0x60], cx
movzx ecx, word [r11 + 0x60]
je 0x1800ccc2d
bt eax, 0xf
jb 0x1800ccc2d
mov r12b, 1
jmp 0x1800ccc30
xor r12b, r12b
xor r9d, r9d
mov dword [rsp + 0x38], r12d
xor al, al
xor dil, dil
mov byte [rsp + 0x32], al
mov r13d, r9d
mov byte [rsp + 0x31], al
movzx eax, cx
mov dword [rsp + 0x4c], edi
mov dword [rsp + 0x84], eax
test eax, eax
je 0x1800cd00b
nop
movzx r10d, word [r8 + 0x18]
mov r15b, 1
cmp r13d, r10d
jge 0x1800cccdb
movzx eax, word [r8 + 0x3e]
cmp r13d, eax
jl 0x1800cccdb
mov r9, qword [r8 + 0x48]
movsxd rax, r13d
mov rcx, qword [r9 + rax*8]
movzx eax, word [rcx + 0x14]
test ax, si
je 0x1800ccca6
mov ecx, 0x180
test cx, ax
je 0x1800ccfed
xor r12b, r12b
mov dword [rsp + 0x38], r12d
jmp 0x1800ccfed
test r15b, al
je 0x1800cccd8
mov r8, qword [rcx]
lea edx, [r13 + 1]
cmp edx, r10d
jge 0x1800cccd8
nop word [rax + rax]
movsxd rax, edx
mov rcx, qword [r9 + rax*8]
cmp qword [rcx], r8
je 0x1800cccd5
inc edx
cmp edx, r10d
jl 0x1800cccc0
jmp 0x1800cccd8
xor r15b, r15b
xor r9d, r9d
test r11, r11
je 0x1800ccd11
mov rax, qword [r11 + 8]
movsxd rcx, r13d
movsx r14d, word [rax + rcx*2]
mov rax, qword [r11 + 0x38]
movzx edx, byte [rcx + rax]
mov rax, qword [r11 + 0x18]
and dl, 1
mov byte [rsp + 0x30], dl
movsx ecx, word [rax + 0x34]
mov eax, 0xffffffff
cmp r14d, ecx
cmove r14d, eax
jmp 0x1800ccd1e
mov eax, 0xffffffff
mov byte [rsp + 0x30], 0
mov r14d, eax
test r12b, r12b
je 0x1800ccd5c
test r14d, r14d
js 0x1800ccd4b
cmp r13d, r10d
jl 0x1800ccd5c
movsxd rax, r14d
lea rdx, [rax + rax*2]
mov rax, qword [r11 + 0x18]
mov rcx, qword [rax + 8]
test byte [rcx + rdx*8 + 8], 0xf
jne 0x1800ccd5c
xor al, al
mov dword [rsp + 0x38], eax
jmp 0x1800ccd5c
cmp r14d, 0xfffffffe
movzx r12d, r12b
cmove r12d, r9d
mov dword [rsp + 0x38], r12d
mov esi, r9d
test r15b, r15b
je 0x1800ccf0c
nop dword [rax + rax]
cmp esi, dword [rsp + 0x7c]
jge 0x1800ccf08
mov eax, esi
bt rbx, rax
jb 0x1800ccf69
mov rbp, qword [rsp + 0x68]
movsxd r12, esi
mov rax, r12
shl rax, 5
add rbp, rax
mov rdx, qword [rbp + 8]
test rdx, rdx
je 0x1800ccf69
mov eax, dword [rdx + 4]
test eax, 0x82000
je 0x1800ccdd6
bt eax, 0x13
jae 0x1800ccdbf
mov rdx, qword [rdx + 0x20]
mov rdx, qword [rdx + 8]
jmp 0x1800ccdc8
cmp byte [rdx], 0x71
jne 0x1800ccdcd
mov rdx, qword [rdx + 0x10]
test rdx, rdx
jne 0x1800ccda5
test rdx, rdx
je 0x1800ccf69
test byte [rsp + 0x34], 0xc0
movzx r15d, r15b
cmove r15d, r9d
cmp r14d, 0xffffffff
jl 0x1800cce15
movzx eax, byte [rdx]
add al, 0x59
test al, 0xfd
jne 0x1800ccf69
mov eax, dword [rsp + 0x48]
cmp dword [rdx + 0x2c], eax
jne 0x1800ccf69
movsx eax, word [rdx + 0x30]
cmp eax, r14d
jne 0x1800ccf69
movsxd rdi, r13d
jmp 0x1800cce71
mov rax, qword [r11 + 0x50]
movsxd rdi, r13d
mov rcx, rdi
shl rcx, 5
mov r8, qword [rcx + rax + 8]
test r8, r8
je 0x1800cce43
nop dword [rax]
test dword [r8 + 4], 0x2000
je 0x1800cce43
mov r8, qword [r8 + 0x10]
test r8, r8
jne 0x1800cce30
test dword [rdx + 4], 0x2000
je 0x1800cce55
mov rdx, qword [rdx + 0x10]
test rdx, rdx
jne 0x1800cce43
mov r9d, dword [rsp + 0x48]
xor ecx, ecx
call fcn.1800672c0
mov r11, qword [rsp + 0x88]
test eax, eax
jne 0x1800ccf66
cmp r14d, 0xffffffff
je 0x1800ccec9
mov rax, qword [rsp + 0xa0]
mov rdx, qword [rbp + 8]
mov rbx, qword [rax]
mov rcx, rbx
call fcn.18005b9a0
test rax, rax
jne 0x1800cce9a
mov rax, qword [rbx]
mov rax, qword [rax + 0x10]
mov r8, qword [rax]
mov r11, qword [rsp + 0x88]
mov rax, qword [r11 + 0x40]
mov r9, qword [rax + rdi*8]
sub r9, r8
movzx ecx, byte [r8]
movzx eax, byte [r9 + r8]
cmp ecx, eax
jne 0x1800ccf41
test ecx, ecx
jne 0x1800ccf59
cmp word [rsp + 0x78], 0
mov r8, qword [rsp + 0x58]
je 0x1800ccedf
lea eax, [r13 + 1]
mov word [r8 + 0x1e], ax
test byte [rsp + 0x34], 0x40
jne 0x1800ccfa2
movzx eax, byte [rbp + 0x18]
and al, 1
cmp byte [rsp + 0x32], 0
je 0x1800ccf76
movzx ecx, byte [rsp + 0x30]
xor cl, byte [rsp + 0x31]
cmp cl, al
je 0x1800ccfa2
mov edi, dword [rsp + 0x4c]
test r13d, r13d
je 0x1800ccf1b
movzx eax, word [rsp + 0x60]
cmp r13d, eax
jge 0x1800ccf21
xor al, al
mov dword [rsp + 0x38], eax
mov rbx, qword [rsp + 0x40]
mov r15d, dword [rsp + 0x7c]
test dil, dil
je 0x1800cd006
mov r12b, 1
mov dword [rsp + 0x38], r12d
jmp 0x1800cd014
lea r10, [0x18012da20]
movzx edx, byte [rax + r10]
mov rax, rcx
movzx ecx, byte [rcx + r10]
cmp ecx, edx
jne 0x1800ccf61
inc r8
jmp 0x1800cceb0
mov rbx, qword [rsp + 0x40]
xor r9d, r9d
inc esi
test r15b, r15b
jne 0x1800ccd70
jmp 0x1800ccf08
movzx ebx, al
xor bl, byte [rsp + 0x30]
mov byte [rsp + 0x31], bl
je 0x1800ccf9d
mov rdx, qword [rsp + 0xc8]
movsxd rax, dword [rsp + 0x80]
mov rcx, qword [rdx]
bts rcx, rax
mov qword [rdx], rcx
mov byte [rsp + 0x32], 1
test byte [rbp + 0x18], 2
je 0x1800ccfbe
movzx eax, word [r8 + 0x18]
cmp r13d, eax
jne 0x1800ccf08
or dword [r8 + 0x38], 0x80000
mov edi, dword [rsp + 0x4c]
cmp r14d, 0xffffffff
mov rbx, qword [rsp + 0x40]
mov eax, 1
mov esi, dword [rsp + 0x50]
movzx edi, dil
cmove edi, eax
bts rbx, r12
mov r12d, dword [rsp + 0x38]
mov qword [rsp + 0x40], rbx
mov dword [rsp + 0x4c], edi
inc r13d
cmp r13d, dword [rsp + 0x84]
jge 0x1800ccf26
xor r9d, r9d
jmp 0x1800ccc60
mov r12d, dword [rsp + 0x38]
test r12b, r12b
je 0x1800cd1f6
mov r14, qword [rsp + 0xb0]
xor r11d, r11d
mov rbp, qword [rsp + 0x58]
mov esi, r11d
or r14, qword [rbp + 8]
mov qword [rsp + 0xb0], r14
test r15d, r15d
je 0x1800cd18a
mov r12, qword [rsp + 0xa0]
mov rbp, qword [rsp + 0x68]
nop dword [rax]
mov eax, esi
bt rbx, rax
jb 0x1800cd175
mov eax, esi
shl rax, 5
mov rdi, qword [rax + rbp + 8]
test rdi, rdi
je 0x1800cd0c7
cmp byte [rdi], 0xa7
jne 0x1800cd145
test byte [rdi + 4], 0x20
jne 0x1800cd145
mov r8d, dword [rdi + 0x2c]
mov ebx, 1
cmp dword [r12 + 0x260], r8d
je 0x1800cd0ca
movsxd r9, dword [r12 + 0x25c]
mov edx, ebx
mov ecx, ebx
cmp rbx, r9
jge 0x1800cd0c7
lea rax, [r12 + 0x264]
nop dword [rax + rax]
cmp dword [rax], r8d
je 0x1800cd13e
inc edx
inc rcx
add rax, 4
cmp rcx, r9
jl 0x1800cd0b0
mov rbx, r11
test rbx, rbx
jne 0x1800cd121
mov qword [rsp + 0xd0], r11
mov eax, 1
mov word [rsp + 0xf4], ax
lea rax, [fcn.18005f4f0]
mov qword [rsp + 0xd8], rax
lea rax, [0x18005f270]
mov qword [rsp + 0xe0], rax
test rdi, rdi
je 0x1800cd121
mov rdx, rdi
lea rcx, [rsp + 0xd0]
call fcn.180057560
cmp word [rsp + 0xf4], bx
je 0x1800cd16d
mov rax, r14
not rax
test rbx, rax
mov rbx, qword [rsp + 0x40]
jne 0x1800cd172
mov eax, esi
bts rbx, rax
mov qword [rsp + 0x40], rbx
jmp 0x1800cd172
mov ecx, edx
shl rbx, cl
jmp 0x1800cd0ca
test dword [rdi + 4], 0x810000
jne 0x1800cd0c7
mov rdx, rdi
lea rcx, [r12 + 0x258]
call fcn.1800c58a0
mov rbx, rax
xor r11d, r11d
jmp 0x1800cd0ca
mov rbx, qword [rsp + 0x40]
xor r11d, r11d
inc esi
cmp esi, r15d
jl 0x1800cd050
mov rbp, qword [rsp + 0x58]
mov r12d, dword [rsp + 0x38]
mov r9, qword [rsp + 0x68]
movzx r10d, word [rsp + 0x34]
mov esi, dword [rsp + 0x50]
mov r11, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x90]
mov r14, qword [rsp + 0x98]
mov r8d, dword [rsp + 0x80]
inc qword [rsp + 0xa8]
inc r8d
mov r13, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0xa8]
movzx eax, word [rsp + 0x170]
mov dword [rsp + 0x80], r8d
test r12b, r12b
jne 0x1800cc923
cmp rbx, rdx
jne 0x1800cd218
movzx eax, byte [rsp + 0x62]
jmp 0x1800cd258
mov rbp, qword [rsp + 0x58]
jmp 0x1800cd18a
cmp byte [r8 + 0x20], 0
je 0x1800cd218
mov eax, 0x280
and r10w, ax
mov eax, 0x80
cmp r10w, ax
jne 0x1800cd1ef
test r12b, r12b
jne 0x1800cd288
movzx ecx, word [rsp + 0x62]
dec ecx
test ecx, ecx
jle 0x1800cd256
xor edi, edi
nop word [rax + rax]
cmp ecx, 0x40
jge 0x1800cd242
mov edx, 1
shl rdx, cl
dec rdx
jmp 0x1800cd245
mov rdx, rdi
mov rax, rdx
and rax, rbx
cmp rax, rdx
je 0x1800cd283
dec ecx
test ecx, ecx
jg 0x1800cd230
xor al, al
mov rcx, qword [rsp + 0x100]
xor rcx, rsp
call fcn.1800f0be0
mov rbx, qword [rsp + 0x168]
add rsp, 0x110
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
movzx eax, cl
jmp 0x1800cd258
mov al, 0xff
jmp 0x1800cd258