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

Disassembly:
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov eax, dword [rcx + 0x24]
mov rsi, rcx
mov rdx, rcx
mov dword [rcx + 0x20], eax
mov rcx, qword [rcx + 0x128]
call fcn.180022370
mov rcx, qword [rsi + 0x120]
mov edi, eax
call fcn.180017b30
test rax, rax
je 0x18001b92f
mov qword [rsp + 0x30], rbx
nop word [rax + rax]
test edi, edi
jne 0x18001b91d
mov edx, dword [rax + 0x30]
mov rbx, qword [rax + 0x20]
mov rcx, rsi
call fcn.18001b7f0
mov edi, eax
mov rax, rbx
test rbx, rbx
jne 0x18001b900
mov eax, edi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
mov eax, edi
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
push rbx
push rdi
push r13
push r14
sub rsp, 0x58
xor edi, edi
xor r13d, r13d
mov r14, rdx
mov rbx, rcx
test rdx, rdx
je 0x18001bc5f
mov ecx, dword [rdx + 0x18]
call fcn.180016c80
mov r13, rax
test rax, rax
jne 0x18001bc59
lea eax, [rdi + 7]
add rsp, 0x58
pop r14
pop r13
pop rdi
pop rbx
ret
mov eax, dword [r14 + 0x18]
jmp 0x18001bc62
mov eax, dword [rcx + 0x24]
mov dword [rbx + 0x20], eax
movzx eax, byte [rbx + 0x10]
mov byte [rbx + 0x17], al
test r14, r14
jne 0x18001bc8c
cmp qword [rbx + 0x128], rdi
je 0x18001bc8c
mov rcx, rbx
add rsp, 0x58
pop r14
pop r13
pop rdi
pop rbx
jmp 0x18001b8c0
mov qword [rsp + 0x80], rbp
lea rbp, [rbx + 0x60]
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x40], r15
mov r15, qword [rbp]
mov qword [rsp + 0x30], rbp
test r14, r14
je 0x18001bd0a
cmp qword [rbx + 0x128], rdi
jne 0x18001bd0a
mov rax, qword [r14 + 8]
mov rsi, r15
test rax, rax
cmovne rsi, rax
mov rax, qword [r14]
mov qword [rbp], rax
cmp qword [rbp], rsi
jge 0x18001bd00
mov r9d, 1
mov r8, r13
mov rdx, rbp
mov rcx, rbx
mov dword [rsp + 0x20], 1
call fcn.18001aa00
mov edi, eax
test eax, eax
je 0x18001bcd3
jmp 0x18001bdb7
test edi, edi
jne 0x18001bdb7
jmp 0x18001bd10
mov qword [rbp], rdi
nop
cmp qword [rbp], r15
jge 0x18001bdb7
lea rax, [rsp + 0x90]
lea r9, [rsp + 0x88]
mov r8, r15
xor edx, edx
mov rcx, rbx
mov dword [rsp + 0x88], 0
mov qword [rsp + 0x20], rax
call fcn.180019aa0
mov r12d, dword [rsp + 0x88]
mov edi, eax
test r12d, r12d
jne 0x18001bd82
mov eax, dword [rbx + 0xb8]
mov rcx, qword [rbp]
add rax, qword [rbx + 0x68]
cmp rax, rcx
jne 0x18001bd82
mov rax, r15
sub rax, rcx
mov rcx, qword [rbx + 0xc8]
add rcx, 8
cqo
idiv rcx
mov r12, rax
xor esi, esi
test edi, edi
jne 0x18001bdb7
cmp esi, r12d
jae 0x18001bd10
cmp qword [rbp], r15
jge 0x18001bdb7
mov r9d, 1
mov r8, r13
mov rdx, rbp
mov rcx, rbx
mov dword [rsp + 0x20], 1
call fcn.18001aa00
inc esi
mov edi, eax
test eax, eax
je 0x18001bd88
test r14, r14
je 0x18001c060
mov rcx, qword [rbx + 0xc8]
mov eax, dword [r14 + 0x1c]
add rcx, 4
imul rcx, rax
mov qword [rsp + 0x90], rcx
mov rcx, qword [rbx + 0x128]
test rcx, rcx
je 0x18001be26
mov eax, dword [rcx + 0x88]
cmp dword [r14 + 0x30], eax
je 0x18001be05
mov dword [r14 + 0x24], 0
mov eax, dword [rcx + 0x88]
mov dword [r14 + 0x30], eax
mov eax, dword [r14 + 0x24]
cmp eax, dword [rcx + 0x58]
jae 0x18001be24
mov dword [rcx + 0x58], eax
mov eax, dword [r14 + 0x28]
mov dword [rcx + 0x60], eax
mov eax, dword [r14 + 0x2c]
mov dword [rcx + 0x64], eax
call fcn.18001fbe0
xor edi, edi
mov eax, dword [r14 + 0x1c]
mov dword [rsp + 0x88], eax
test edi, edi
jne 0x18001c060
mov rbp, qword [rsp + 0x90]
cmp eax, dword [rbx + 0x3c]
jae 0x18001c05b
mov r12, qword [rbx + 0x58]
mov r14, qword [rbx + 0x118]
lea rdx, [rsp + 0x90]
mov rax, qword [r12]
mov r9, rbp
mov r8d, 4
mov rcx, r12
call qword [rax + 0x10]
mov edi, eax
test eax, eax
jne 0x18001c043
mov esi, dword [rsp + 0x90]
mov rax, qword [r12]
mov r8d, dword [rbx + 0xc8]
lea r9, [rbp + 4]
mov rdx, r14
mov rcx, r12
bswap esi
call qword [rax + 0x10]
mov edi, eax
test eax, eax
jne 0x18001c043
mov rax, qword [rbx + 0xc8]
lea rbp, [rax + rbp + 4]
test esi, esi
je 0x18001c03e
cmp esi, dword [rbx + 0xc0]
je 0x18001c03e
cmp esi, dword [rbx + 0x20]
ja 0x18001c03a
test r13, r13
je 0x18001bef9
mov edx, esi
mov rcx, r13
call fcn.180016d10
test eax, eax
jne 0x18001c03a
mov edx, esi
mov rcx, r13
call fcn.180016df0
mov edi, eax
test eax, eax
jne 0x18001c043
cmp esi, 1
jne 0x18001bf13
movzx eax, byte [r14 + 0x14]
cmp word [rbx + 0xb2], ax
je 0x18001bf13
mov word [rbx + 0xb2], ax
cmp qword [rbx + 0x128], 0
je 0x18001bf85
xor eax, eax
mov qword [rsp + 0x98], rax
mov edx, 1
mov r10, qword [rbx + 0x48]
cmp qword [r10], 0
je 0x18001bfa6
movzx ecx, byte [rbx + 0x15]
cmp cl, 4
jae 0x18001bf43
test cl, cl
jne 0x18001bfa6
test edx, edx
je 0x18001bfa6
mov rax, qword [r10]
mov r8d, dword [rbx + 0xc8]
lea r9d, [rsi - 1]
imul r9, qword [rbx + 0xc8]
mov rdx, r14
mov rcx, r10
call qword [rax + 0x18]
mov edi, eax
cmp esi, dword [rbx + 0x28]
jbe 0x18001bf70
mov dword [rbx + 0x28], esi
mov rcx, qword [rbx + 0x70]
test rcx, rcx
je 0x18001bfdd
mov r8, r14
mov edx, esi
call fcn.180032150
jmp 0x18001bfdd
mov edx, esi
mov rcx, rbx
call fcn.18001ddc0
mov qword [rsp + 0x98], rax
test rax, rax
je 0x18001bf27
test byte [rax + 0x34], 8
je 0x18001bf27
xor edx, edx
jmp 0x18001bf2c
test rax, rax
jne 0x18001bfea
or byte [rbx + 0x19], 2
lea r9d, [rax + 1]
lea r8, [rsp + 0x98]
mov edx, esi
mov rcx, rbx
call qword [rbx + 0x110]
and byte [rbx + 0x19], 0xfd
mov edi, eax
test eax, eax
jne 0x18001c043
mov rcx, qword [rsp + 0x98]
call fcn.180017770
mov rax, qword [rsp + 0x98]
test rax, rax
je 0x18001c043
mov r12, qword [rax + 8]
mov r8, qword [rbx + 0xc8]
mov rdx, r14
mov rcx, r12
call fcn.1801278d0
mov rcx, qword [rsp + 0x98]
call qword [rbx + 0x108]
cmp esi, 1
jne 0x18001c02b
mov rax, qword [r12 + 0x18]
mov qword [rbx + 0x88], rax
mov rax, qword [r12 + 0x20]
mov qword [rbx + 0x90], rax
mov rcx, qword [rsp + 0x98]
call fcn.180017620
jmp 0x18001c043
xor edi, edi
jmp 0x18001c043
mov edi, 0x65
mov eax, dword [rsp + 0x88]
inc eax
mov dword [rsp + 0x88], eax
test edi, edi
je 0x18001be41
mov rbp, qword [rsp + 0x30]
mov r12, qword [rsp + 0x48]
test r13, r13
je 0x18001c0ec
cmp dword [r13 + 8], 0
je 0x18001c091
lea rbx, [r13 + 0x10]
mov esi, 0x3e
nop
mov rcx, qword [rbx]
call fcn.180017150
add rbx, 8
dec rsi
jne 0x18001c080
cmp dword [0x180171920], 0
je 0x18001c0e3
mov rcx, qword [0x1801811a8]
test rcx, rcx
je 0x18001c0ac
call qword [0x1801719a0]
mov rcx, r13
call qword [0x180171958]
dec qword [0x180181138]
movsxd rcx, eax
sub qword [0x1801810f0], rcx
mov rcx, r13
call qword [0x180171948]
mov rcx, qword [0x1801811a8]
test rcx, rcx
je 0x18001c0ec
call qword [0x1801719b0]
jmp 0x18001c0ec
mov rcx, r13
call qword [0x180171948]
mov rsi, qword [rsp + 0x50]
test edi, edi
jne 0x18001c0f9
mov qword [rbp], r15
mov r15, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x80]
mov eax, edi
add rsp, 0x58
pop r14
pop r13
pop rdi
pop rbx
ret
mov dword [rsp + 0x10], edx
push rsi
push r12
sub rsp, 0x48
mov r12d, dword [rcx + 0x30]
mov r9d, edx
mov rsi, rcx
test r12d, r12d
jne 0x18001ee9a
mov eax, dword [rcx + 0x80]
cmp r8d, eax
jge 0x18001ee9a
xor ecx, ecx
cmp r9d, 1
mov qword [rsp + 0x28], r14
mov edx, ecx
setne dl
mov qword [rsp + 0x20], r15
add edx, r8d
mov dword [rsp + 0x60], edx
mov r14d, edx
movsxd r15, edx
cmp edx, eax
jge 0x18001edf2
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x40], rbp
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x30], r13
mov r13, r15
imul r13, r13, 0x38
mov rax, qword [rsi + 0x78]
mov rbp, qword [r13 + rax + 0x10]
test rbp, rbp
je 0x18001edbf
cmp dword [rbp + 8], 0
je 0x18001ed64
lea rbx, [rbp + 0x10]
mov edi, 0x3e
mov rcx, qword [rbx]
call fcn.180017150
add rbx, 8
dec rdi
jne 0x18001ed53
cmp dword [0x180171920], 0
je 0x18001edb6
mov rcx, qword [0x1801811a8]
test rcx, rcx
je 0x18001ed7f
call qword [0x1801719a0]
mov rcx, rbp
call qword [0x180171958]
dec qword [0x180181138]
mov rcx, rbp
movsxd rdx, eax
sub qword [0x1801810f0], rdx
call qword [0x180171948]
mov rcx, qword [0x1801811a8]
test rcx, rcx
je 0x18001edbf
call qword [0x1801719b0]
jmp 0x18001edbf
mov rcx, rbp
call qword [0x180171948]
inc r14d
add r13, 0x38
cmp r14d, dword [rsi + 0x80]
jl 0x18001ed32
mov edx, dword [rsp + 0x60]
mov r9d, dword [rsp + 0x68]
mov r13, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x70]
xor ecx, ecx
mov r14, qword [rsp + 0x28]
mov dword [rsi + 0x80], edx
cmp r9d, 1
jne 0x18001ee5d
imul r15, r15, 0x38
add r15, qword [rsi + 0x78]
cmp dword [r15 + 0x20], 0
je 0x18001ee4d
mov rcx, qword [rsi + 0x58]
mov rax, qword [rcx]
test rax, rax
je 0x18001ee4d
lea rdx, [0x1801449d0]
cmp rax, rdx
jne 0x18001ee46
mov eax, dword [r15 + 0x1c]
mov rdx, qword [rsi + 0xc8]
add rdx, 4
imul rdx, rax
mov rax, qword [rcx]
call qword [rax + 0x20]
mov r12d, eax
mov ecx, dword [r15 + 0x1c]
mov dword [rsi + 0x3c], ecx
mov eax, r12d
mov r15, qword [rsp + 0x20]
add rsp, 0x48
pop r12
pop rsi
ret
cmp qword [rsi + 0x128], 0
jne 0x18001ee71
mov rax, qword [rsi + 0x50]
cmp qword [rax], 0
je 0x18001ee4d
test edx, edx
je 0x18001ee83
lea eax, [rdx - 1]
movsxd rcx, eax
imul rcx, rcx, 0x38
add rcx, qword [rsi + 0x78]
mov rdx, rcx
mov rcx, rsi
mov r15, qword [rsp + 0x20]
add rsp, 0x48
pop r12
pop rsi
jmp 0x18001bc20
mov eax, r12d
add rsp, 0x48
pop r12
pop rsi
ret