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

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
test rcx, rcx
jne 0x140212397
lea eax, [rcx - 2]
add rsp, 0x20
pop rbx
ret
mov rax, qword [rcx + 0x30]
mov qword [rsp + 0x30], rsi
xor esi, esi
mov qword [rsp + 0x38], rdi
mov qword [rcx + 0x20], rsi
test rax, rax
jne 0x1402123c3
lea rax, [0x1402166b0]
mov qword [rcx + 0x40], rsi
mov qword [rcx + 0x30], rax
mov ecx, esi
jmp 0x1402123c7
mov rcx, qword [rcx + 0x40]
cmp qword [rbx + 0x38], rsi
jne 0x1402123d8
lea rdx, [0x1402166d0]
mov qword [rbx + 0x38], rdx
mov edx, 1
mov r8d, 0x1720
call rax
mov rdi, rax
test rax, rax
je 0x14021252a
mov qword [rbx + 0x28], rax
mov edx, 0x8000
mov qword [rax], rbx
mov r8d, 2
mov dword [rax + 8], 0x2a
mov dword [rax + 0x2c], 1
mov qword [rax + 0x30], rsi
mov dword [rax + 0x48], 0xf
mov dword [rax + 0x44], 0x8000
mov dword [rax + 0x4c], 0x7fff
mov dword [rax + 0x78], 0xf
mov dword [rax + 0x74], 0x8000
mov dword [rax + 0x7c], 0x7fff
mov dword [rax + 0x80], 5
mov rcx, qword [rbx + 0x40]
call qword [rbx + 0x30]
mov edx, dword [rdi + 0x44]
mov r8d, 2
mov qword [rdi + 0x50], rax
mov rcx, qword [rbx + 0x40]
call qword [rbx + 0x30]
mov edx, dword [rdi + 0x74]
mov r8d, 2
mov qword [rdi + 0x60], rax
mov rcx, qword [rbx + 0x40]
call qword [rbx + 0x30]
mov dword [rdi + 0x1718], esi
mov edx, 0x4000
mov qword [rdi + 0x68], rax
mov r8d, 4
mov dword [rdi + 0x16f0], 0x4000
mov rcx, qword [rbx + 0x40]
call qword [rbx + 0x30]
mov rdx, rax
mov qword [rdi + 0x10], rax
mov eax, dword [rdi + 0x16f0]
lea ecx, [rax*4]
mov dword [rdi + 0x18], ecx
cmp qword [rdi + 0x50], rsi
je 0x140212510
cmp qword [rdi + 0x60], rsi
je 0x140212510
cmp qword [rdi + 0x68], rsi
je 0x140212510
test rdx, rdx
je 0x140212510
mov ecx, eax
mov qword [rdi + 0xac], 6
shr rax, 1
mov byte [rdi + 0x3c], 8
lea rax, [rdx + rax*2]
mov qword [rdi + 0x16f8], rax
lea rax, [rdx + rcx*2]
add rcx, rax
mov qword [rdi + 0x16e8], rcx
mov rcx, rbx
mov rsi, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x38]
add rsp, 0x20
pop rbx
jmp 0x140212540
mov rax, qword [0x1404c7eb0]
mov rcx, rbx
mov dword [rdi + 8], 0x29a
mov qword [rbx + 0x20], rax
call fcn.1402133b0
mov rsi, qword [rsp + 0x30]
mov eax, 0xfffffffc
mov rdi, qword [rsp + 0x38]
add rsp, 0x20
pop rbx
ret
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x20
mov rdi, rcx
test rcx, rcx
je 0x14021272a
cmp qword [rcx + 0x30], 0
je 0x14021272a
cmp qword [rcx + 0x38], 0
je 0x14021272a
mov rbx, qword [rcx + 0x28]
test rbx, rbx
je 0x14021272a
cmp qword [rbx], rcx
jne 0x14021272a
mov ecx, dword [rbx + 8]
lea eax, [rcx - 0x2a]
cmp eax, 0x3d
ja 0x14021259d
movabs rdx, 0x2002000088008001
bt rdx, rax
jb 0x1402125ae
cmp ecx, 0x71
je 0x1402125ae
cmp ecx, 0x29a
jne 0x14021272a
mov dword [rdi + 0x48], 2
mov qword [rsp + 0x30], rsi
xor esi, esi
mov dword [rdi + 0x1c], esi
mov dword [rdi + 0xc], esi
mov qword [rdi + 0x20], rsi
mov rax, qword [rbx + 0x10]
mov ecx, dword [rbx + 0x2c]
mov qword [rbx + 0x20], rax
mov dword [rbx + 0x28], esi
test ecx, ecx
jns 0x1402125dd
neg ecx
mov dword [rbx + 0x2c], ecx
cmp ecx, 2
jne 0x1402125ed
mov dword [rbx + 8], 0x39
mov eax, esi
jmp 0x14021260b
test ecx, ecx
mov eax, 0x71
mov edx, 0x2a
cmovne eax, edx
xor r8d, r8d
xor edx, edx
mov dword [rbx + 8], eax
xor ecx, ecx
call fcn.1402166e0
mov dword [rdi + 0x4c], eax
mov rcx, rbx
lea rax, [rbx + 0xbc]
mov dword [rbx + 0x40], esi
mov qword [rbx + 0xb40], rax
lea rax, [0x1404c82d0]
mov qword [rbx + 0xb50], rax
lea rax, [rbx + 0x9b0]
mov qword [rbx + 0xb58], rax
lea rax, [0x1404c89e0]
mov qword [rbx + 0xb68], rax
lea rax, [rbx + 0xaa4]
mov qword [rbx + 0xb70], rax
lea rax, [0x1404c8a00]
mov qword [rbx + 0xb80], rax
mov word [rbx + 0x1710], si
mov dword [rbx + 0x1714], esi
call fcn.140217460
mov rbx, qword [rdi + 0x28]
xor edx, edx
mov eax, dword [rbx + 0x44]
mov ecx, dword [rbx + 0x74]
add eax, eax
mov dword [rbx + 0x58], eax
dec ecx
mov rax, qword [rbx + 0x68]
mov word [rax + rcx*2], si
mov r8d, dword [rbx + 0x74]
mov rcx, qword [rbx + 0x68]
dec r8d
add r8, r8
call fcn.1403ccc50
movsxd rdx, dword [rbx + 0xac]
lea r8, [0x1404c7de0]
add rdx, rdx
movzx eax, word [r8 + rdx*8 + 2]
mov dword [rbx + 0xa8], eax
movzx eax, word [r8 + rdx*8]
mov dword [rbx + 0xb4], eax
mov eax, esi
movzx ecx, word [r8 + rdx*8 + 4]
mov dword [rbx + 0xb8], ecx
movzx ecx, word [r8 + rdx*8 + 6]
mov qword [rbx + 0x90], rsi
mov dword [rbx + 0x84], esi
mov dword [rbx + 0x9c], esi
mov dword [rbx + 0x170c], esi
mov dword [rbx + 0x70], esi
mov rsi, qword [rsp + 0x30]
mov dword [rbx + 0xa4], ecx
mov dword [rbx + 0xa0], 2
mov dword [rbx + 0x88], 2
mov rbx, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
mov rbx, qword [rsp + 0x38]
mov eax, 0xfffffffe
add rsp, 0x20
pop rdi
ret