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

Disassembly:
mov rax, rsp
mov dword [rax + 0x20], r9d
mov qword [rax + 0x18], r8
mov dword [rax + 0x10], edx
mov qword [rax + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x68
mov r13, qword [rcx + 0x10]
xor edi, edi
xor ebp, ebp
mov dword [rsp + 0x30], edi
mov r15, r8
mov rsi, rcx
mov dword [rsp + 0x48], ebp
cmp dword [rcx + 0x30], edi
jne 0x1400895d8
and dword [rsp + 0x3c], edi
mov r14, qword [r8 + 0x28]
mov byte [r8], 1
cmp dword [r8 + 0x30], edi
jle 0x14008956e
mov rax, qword [r14]
xor r12d, r12d
and dword [rsp + 0x38], 0
and dword [rsp + 0x34], r12d
test dword [rax + 4], 0x1000000
mov r10, qword [rax + 0x20]
mov qword [rsp + 0x50], r10
je 0x14008925a
mov rax, qword [rax + 0x40]
mov rbx, qword [rax + 0x48]
cmp dword [r15 + 0x24], r12d
je 0x140089237
mov rax, qword [r14 + 8]
test byte [rax + 4], 0x20
je 0x140089237
test edx, edx
je 0x140089237
test edi, edi
jne 0x14008921f
inc dword [rsi + 0x38]
mov edi, dword [rsi + 0x38]
mov dword [rsp + 0x30], edi
and dword [rsp + 0x20], r12d
mov r8d, edx
mov edx, 0x50
mov r9d, edi
mov rcx, r13
call fcn.14004a230
dec dword [rsi + 0x44]
mov r9d, 0x10
mov ebp, dword [rsi + 0x44]
mov rdx, rbx
mov r8d, ebp
mov dword [rsp + 0x38], ebp
mov rcx, rsi
call fcn.140061c9c
mov r10, qword [rsp + 0x50]
cmp dword [r14 + 0x18], r12d
jl 0x140089407
mov rax, qword [r14]
cmp byte [r14 + 0x1d], 0
mov ebx, dword [r10]
mov rcx, qword [rax + 0x10]
mov rdi, qword [rcx + 0x20]
mov eax, dword [rdi]
lea r12d, [rax + 1]
cmovne r12d, eax
cmp byte [r14 + 0x1c], 0
je 0x14008928b
add r12d, ebx
cmp byte [r14 + 0x1e], 0
je 0x140089295
add r12d, ebx
inc r12d
mov rcx, rsi
mov edx, r12d
call fcn.1400631dc
xor r9d, r9d
mov dword [rsp + 0x34], eax
mov r8d, eax
mov byte [rsp + 0x20], 1
mov rcx, rsi
mov rdx, rdi
mov ebp, eax
call fcn.140061650
cmp byte [r14 + 0x1d], 0
mov edi, dword [rdi]
jne 0x1400892e4
mov r8d, dword [r14 + 0x18]
lea r9d, [rdi + rbp]
and dword [rsp + 0x20], 0
mov edx, 0x7e
mov rcx, r13
call fcn.14004a230
inc edi
cmp byte [r14 + 0x1c], 0
je 0x14008930c
mov rdx, qword [rsp + 0x50]
lea eax, [rdi + rbp]
mov r8d, eax
mov dword [rsp + 0x34], eax
xor r9d, r9d
mov byte [rsp + 0x20], 1
mov rcx, rsi
call fcn.140061650
add edi, ebx
cmp byte [r14 + 0x1e], 0
mov ecx, dword [rsp + 0x34]
je 0x14008936a
cmp byte [r14 + 0x1c], 0
mov eax, ebp
cmovne eax, ecx
and dword [rsp + 0x40], 0
test ebx, ebx
jle 0x14008936a
mov r15d, dword [rsp + 0x40]
add edi, ebp
mov esi, eax
and dword [rsp + 0x20], 0
lea r8d, [r15 + rsi]
mov r9d, edi
mov edx, 0xb5
mov rcx, r13
call fcn.14004a230
inc r15d
inc edi
cmp r15d, ebx
jl 0x140089333
mov rsi, qword [rsp + 0xb0]
mov r15, qword [rsp + 0xc0]
mov ecx, dword [rsp + 0x34]
mov edi, dword [rsp + 0x30]
mov r10, qword [rsp + 0x50]
cmp dword [r14 + 0x10], 0
jl 0x1400893b4
test r10, r10
je 0x1400893b4
mov eax, dword [rsp + 0x38]
test eax, eax
jne 0x140089391
dec dword [rsi + 0x44]
mov eax, dword [rsi + 0x44]
mov dword [rsp + 0x38], eax
mov r8d, dword [r14 + 0x10]
mov r9d, eax
mov edx, dword [rsp + 0xc8]
mov dword [rsp + 0x28], ecx
mov rcx, rsi
mov qword [rsp + 0x20], r10
call fcn.1400825d0
mov dword [r14 + 0x10], eax
cmp dword [r14 + 0x18], 0
jl 0x140089445
lea edi, [r12 - 1]
mov r8d, ebp
lea ebx, [r12 - 1]
add edi, ebp
mov r9d, ebx
mov dword [rsp + 0x20], edi
mov edx, 0x61
mov rcx, r13
call fcn.14004a230
mov r8d, dword [r14 + 0x18]
mov r9d, edi
mov edx, 0x8a
mov dword [rsp + 0x28], ebx
mov rcx, r13
mov dword [rsp + 0x20], ebp
call fcn.14004a2ac
mov edi, dword [rsp + 0x30]
jmp 0x14008951b
test r10, r10
je 0x140089438
mov ebx, dword [r10]
mov rcx, rsi
mov edx, ebx
call fcn.1400631dc
xor r9d, r9d
mov byte [rsp + 0x20], 1
mov r8d, eax
mov rcx, rsi
mov rdx, r10
mov ebp, eax
call fcn.140061650
mov ecx, ebp
jmp 0x14008936e
mov ecx, dword [rsp + 0x34]
xor ebx, ebx
xor ebp, ebp
jmp 0x140089373
mov rax, qword [r14 + 8]
test byte [rax + 4], 0x20
je 0x1400894c3
mov r12, qword [rsp + 0x50]
xor edi, edi
add r12, 8
cmp edi, ebx
jge 0x14008947a
mov rdx, qword [r12]
mov rcx, rsi
call fcn.14005b708
inc edi
add r12, 0x20
test rax, rax
je 0x14008945a
mov r12, rax
jmp 0x140089481
mov rax, qword [rsi]
mov r12, qword [rax + 0x10]
mov edi, dword [rsp + 0x30]
test edi, edi
jne 0x140089499
cmp dword [r15 + 0x24], edi
je 0x140089499
inc dword [rsi + 0x38]
mov edi, dword [rsi + 0x38]
mov dword [rsp + 0x30], edi
and dword [rsp + 0x20], 0
xor r9d, r9d
mov r8d, edi
mov rcx, r13
lea edx, [r9 + 0x55]
call fcn.14004a230
mov r9d, 0xfffffffe
mov r8, r12
mov edx, eax
mov rcx, r13
call fcn.14004ad84
mov eax, dword [r15 + 0x20]
mov r9d, ebp
add eax, dword [r15 + 0xc]
xor r8d, r8d
add eax, dword [rsp + 0x3c]
mov edx, 0xa2
mov rcx, r13
mov dword [rsp + 0x20], eax
call fcn.14004a230
mov rdx, qword [r14 + 8]
mov r8d, 0xfffffff9
mov rcx, r13
call fcn.14004ae0c
movsxd rax, dword [r13 + 0x90]
test eax, eax
jle 0x140089518
lea rcx, [rax + rax*2]
movzx r8d, bl
mov rax, qword [r13 + 0x88]
mov word [rax + rcx*8 - 0x16], r8w
mov r12d, ebx
mov r8d, r12d
mov edx, ebp
mov rcx, rsi
call fcn.140063230
mov eax, dword [rsp + 0x38]
test eax, eax
je 0x14008953a
mov edx, eax
mov rcx, r13
call fcn.14004a848
mov ecx, dword [rsp + 0x3c]
add r14, 0x20
mov edx, dword [rsp + 0xb8]
inc ecx
mov dword [rsp + 0x3c], ecx
cmp ecx, dword [r15 + 0x30]
jl 0x1400891d3
test edi, edi
je 0x140089563
lea rbx, [r15 + 0x24]
jmp 0x140089580
mov edx, dword [rsp + 0xb8]
mov ebp, dword [rsp + 0x48]
lea rbx, [r15 + 0x24]
cmp dword [rbx], 0
mov rdi, rbx
je 0x14008959c
test edx, edx
je 0x14008959c
mov edi, edx
and dword [rsp + 0x20], 0
xor r9d, r9d
mov r8d, edi
mov rcx, r13
lea edx, [r9 + 0x10]
call fcn.14004a230
mov ebp, eax
mov rdi, rbx
mov r14, qword [r15 + 0x18]
xor ebx, ebx
cmp dword [rdi], ebx
jle 0x1400895c6
add r14, 8
mov r8d, dword [r15 + 0xc]
mov rcx, rsi
mov rdx, qword [r14]
add r8d, ebx
call fcn.140061510
inc ebx
lea r14, [r14 + 0x18]
cmp ebx, dword [rdi]
jl 0x1400895aa
mov byte [r15], 0
test ebp, ebp
je 0x1400895d8
mov edx, ebp
mov rcx, r13
call fcn.14004aa90
add rsp, 0x68
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret