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

Disassembly:
push rbx
push rdi
sub rsp, 0x68
mov rax, qword [0x1401ea8a0]
xor rax, rsp
mov qword [rsp + 0x48], rax
mov rdi, rcx
mov qword [rsp + 0x50], r15
mov rcx, qword [rcx + 0x20]
mov r15d, edx
mov rcx, qword [rcx + 0x18]
call fcn.140180d90
mov rcx, qword [rdi + 0x28]
call fcn.14016a8f0
mov r8, qword [rdi]
test r8, r8
je 0x14015de8b
mov rcx, qword [r8 + 0x18]
call fcn.140180d90
mov r8, qword [rdi]
mov ebx, dword [rdi + 0x30]
mov ecx, ebx
call fcn.14015e570
test eax, eax
jne 0x14015e2f1
mov r9, qword [rdi + 0x28]
mov qword [rsp + 0x88], rbp
mov rcx, r9
mov qword [rsp + 0x90], rsi
mov qword [rsp + 0x98], r12
mov qword [rsp + 0x60], r13
mov qword [rsp + 0x58], r14
call fcn.14015fc30
mov rcx, qword [rdi + 8]
mov qword [rsp + 0x28], rax
call fcn.14015fc30
mov dword [rsp + 0x24], 0
mov r12, rax
test r8, r8
je 0x14015defa
mov rcx, qword [r9 + 8]
cmp byte [rcx + 0x24], 2
jne 0x14015defa
mov ebx, 5
jmp 0x14015df1c
mov rcx, r9
xor ebx, ebx
call fcn.14015ebe0
test eax, eax
jne 0x14015df1c
xor r8d, r8d
xor edx, edx
call fcn.1401671a0
mov ebx, eax
mov dword [rsp + 0x24], 1
cmp dword [rdi + 0x14], 0
mov esi, 7
jne 0x14015df3b
test ebx, ebx
jne 0x14015df64
mov rcx, rdi
call fcn.14015e6e0
cmp eax, esi
jne 0x14015df3f
mov ebx, esi
jmp 0x14015df64
test ebx, ebx
jne 0x14015df64
cmp dword [rdi + 0x14], 0
jne 0x14015df64
mov rcx, qword [rdi + 8]
lea r8, [rdi + 0x10]
mov edx, 2
call fcn.1401671a0
mov ebx, eax
test eax, eax
jne 0x14015df64
mov dword [rdi + 0x14], 1
mov rdx, qword [rdi + 0x28]
mov rcx, rdx
call fcn.140167ac0
mov rcx, qword [rdi + 8]
movsxd r13, eax
call fcn.140167ac0
mov r8d, eax
mov dword [rsp + 0x20], eax
call fcn.14015fc30
mov rcx, rax
call fcn.14016e5c0
mov dword [rsp + 0x38], eax
test ebx, ebx
jne 0x14015dfb4
cmp eax, 5
je 0x14015dfa9
mov rcx, r12
call fcn.14016ebe0
test eax, eax
je 0x14015dfb4
cmp r13d, r8d
mov eax, 8
cmovne ebx, eax
mov rcx, rdx
call fcn.1401686b0
mov r14d, eax
xor ebp, ebp
test r15d, r15d
js 0x14015dfcb
cmp ebp, r15d
jge 0x14015e03c
mov esi, dword [rdi + 0x18]
cmp esi, r14d
ja 0x14015e03c
test ebx, ebx
jne 0x14015e06b
mov rax, qword [rdi + 0x28]
xor edx, edx
mov rcx, qword [rax + 8]
mov eax, dword [0x1401ecf28]
div dword [rcx + 0x34]
inc eax
cmp esi, eax
je 0x14015e035
mov rcx, qword [rsp + 0x28]
lea r9d, [rbx + 2]
lea r8, [rsp + 0x40]
mov edx, esi
call fcn.14016f720
mov ebx, eax
test eax, eax
jne 0x14015e035
mov rcx, qword [rsp + 0x40]
call fcn.14016e750
mov r8, rax
xor r9d, r9d
mov edx, esi
mov rcx, rdi
call fcn.14015e3e0
mov rcx, qword [rsp + 0x40]
mov ebx, eax
call fcn.14016f6a0
inc dword [rdi + 0x18]
inc ebp
jmp 0x14015dfc1
test ebx, ebx
jne 0x14015e06b
mov eax, r14d
mov dword [rdi + 0x38], r14d
sub eax, dword [rdi + 0x18]
inc eax
mov dword [rdi + 0x34], eax
cmp dword [rdi + 0x18], r14d
ja 0x14015e074
cmp dword [rdi + 0x3c], ebx
jne 0x14015e29e
mov rcx, rdi
call fcn.14015e340
jmp 0x14015e29e
cmp ebx, 0x65
jne 0x14015e29e
test r14d, r14d
jne 0x14015e097
mov rcx, qword [rdi + 8]
call fcn.1401674b0
mov ebx, eax
mov r14d, 1
test eax, eax
je 0x14015e097
cmp eax, 0x65
jne 0x14015e29e
mov r8d, dword [rdi + 0x10]
mov edx, 1
mov rcx, qword [rdi + 8]
inc r8d
call fcn.14015fd60
mov ebx, eax
test eax, eax
jne 0x14015e29e
mov rcx, qword [rdi]
test rcx, rcx
je 0x14015e0c3
call fcn.140138770
cmp dword [rsp + 0x38], 5
jne 0x14015e0e2
mov rcx, qword [rdi + 8]
mov edx, 2
call fcn.14015e890
mov ebx, eax
test eax, eax
jne 0x14015e29e
mov ecx, dword [rsp + 0x20]
cmp r13d, ecx
jge 0x14015e263
mov eax, ecx
movsxd r10, r14d
cdq
mov r15, r13
idiv r13d
imul r10, r13
mov ecx, eax
dec eax
add eax, r14d
mov qword [rsp + 0x30], r10
cdq
idiv ecx
mov rcx, r12
mov r9d, eax
call fcn.14016e920
lea rdx, [rsp + 0x38]
mov r14, rax
call fcn.140170db0
mov rcx, qword [rdi + 8]
lea esi, [r9 - 1]
mov eax, dword [0x1401ecf28]
xor edx, edx
mov ebp, dword [rsp + 0x38]
mov r8, qword [rcx + 8]
div dword [r8 + 0x34]
inc eax
cmp r9d, eax
cmovne esi, r9d
nop dword [rax + rax]
cmp esi, ebp
ja 0x14015e1a6
mov rax, qword [rdi + 8]
xor edx, edx
mov rcx, qword [rax + 8]
mov eax, dword [0x1401ecf28]
div dword [rcx + 0x34]
inc eax
cmp esi, eax
je 0x14015e19b
xor r9d, r9d
lea r8, [rsp + 0x40]
mov edx, esi
mov rcx, r12
call fcn.14016f720
mov ebx, eax
test eax, eax
jne 0x14015e19b
mov rcx, qword [rsp + 0x40]
call fcn.14016f110
mov rcx, qword [rsp + 0x40]
mov ebx, eax
call fcn.14016f6a0
inc esi
test ebx, ebx
je 0x14015e150
jmp 0x14015e29e
test ebx, ebx
jne 0x14015e1ba
xor edx, edx
lea r8d, [rbx + 1]
mov rcx, r12
call fcn.14016ee00
mov ebx, eax
mov ecx, dword [0x1401ecf28]
mov eax, dword [rsp + 0x20]
add eax, ecx
movsxd rbp, eax
cmp rbp, qword [rsp + 0x30]
lea eax, [rcx + r13]
movsxd rsi, eax
cmovge rbp, qword [rsp + 0x30]
test ebx, ebx
jne 0x14015e29e
cmp rsi, rbp
jge 0x14015e244
mov rcx, qword [rsp + 0x28]
lea r8, [rsp + 0x38]
mov rax, rsi
mov qword [rsp + 0x38], 0
cqo
xor r9d, r9d
idiv r15
lea edx, [rax + 1]
call fcn.14016f720
mov ebx, eax
test eax, eax
jne 0x14015e231
mov rcx, qword [rsp + 0x38]
call fcn.14016e750
mov rdx, rax
mov r9, rsi
mov r8d, r13d
mov rcx, r14
call fcn.140181780
mov ebx, eax
mov rcx, qword [rsp + 0x38]
call fcn.14016f6a0
add rsi, r15
test ebx, ebx
je 0x14015e1e3
jmp 0x14015e29e
mov rdx, qword [rsp + 0x30]
mov rcx, r14
call fcn.14015e380
mov ebx, eax
test eax, eax
jne 0x14015e29e
xor edx, edx
mov rcx, r12
call fcn.14016efe0
jmp 0x14015e281
mov eax, r13d
cdq
idiv ecx
mov rcx, r12
imul eax, r14d
mov edx, eax
call fcn.140170d40
xor r8d, r8d
xor edx, edx
call fcn.14016ee00
mov ebx, eax
test eax, eax
jne 0x14015e29e
mov rcx, qword [rdi + 8]
xor edx, edx
call fcn.140166610
mov ebx, eax
mov eax, 0x65
test ebx, ebx
cmove ebx, eax
cmp dword [rsp + 0x24], 0
mov r14, qword [rsp + 0x58]
mov r13, qword [rsp + 0x60]
mov r12, qword [rsp + 0x98]
mov rsi, qword [rsp + 0x90]
mov rbp, qword [rsp + 0x88]
je 0x14015e2dd
mov rcx, qword [rdi + 0x28]
xor edx, edx
call fcn.140166720
mov rcx, qword [rdi + 0x28]
xor edx, edx
call fcn.140166610
mov r8, qword [rdi]
cmp ebx, 0xc0a
mov eax, 7
cmove ebx, eax
mov dword [rdi + 0x30], ebx
mov r15, qword [rsp + 0x50]
test r8, r8
je 0x14015e304
mov rcx, qword [r8 + 0x18]
call fcn.140180d50
mov rcx, qword [rdi + 0x28]
call fcn.14016a840
mov rcx, qword [rdi + 0x20]
mov rcx, qword [rcx + 0x18]
call fcn.140180d50
mov eax, ebx
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.1400b5540
add rsp, 0x68
pop rdi
pop rbx
ret