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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x68
mov rax, qword [rdx + 0x138]
mov edi, dword [rdx + 0x34]
mov ebx, dword [rdx + 0x38]
mov r13, rcx
mov rsi, rdx
mov r12, qword [rcx]
mov qword [rcx + 0xb0], rax
mov eax, dword [rdx + 0x120]
add ebx, edi
test edi, edi
mov qword [rdx + 0x138], 0
mov word [rsp + 0x3e], ax
mov eax, dword [rdx + 0x80]
mov dword [rsp + 0x44], eax
jne 0x68b689
test ebx, ebx
jle 0x68b689
inc ebx
imul edx, dword [r13 + 0x90], 0x18
mov rcx, r13
movsxd rax, edx
add rax, qword [r13 + 0x88]
mov qword [rsp + 0x48], rax
mov eax, dword [rsi + 0x3c]
sub eax, edx
lea rdx, [rsp + 0x44]
and eax, 0xfffffff8
cdqe
mov qword [rsp + 0x50], rax
call fcn.00648270
xor eax, eax
cmp byte [rsi + 0x20], 0
je 0x68b6cd
xor eax, eax
cmp byte [rsi + 0x21], 0
setne al
mov dl, al
mov al, byte [r13 + 0xc8]
shl edx, 5
and eax, 0xffffffdf
or eax, edx
mov byte [r13 + 0xc8], al
mov dl, byte [rsi + 0x123]
test dl, dl
je 0x68b776
cmp ebx, 0xa
mov ecx, 0xa
cmovl ebx, ecx
mov cl, dl
and eax, 0xfffffff3
and ecx, 3
shl ecx, 2
or eax, ecx
cmp dl, 2
mov byte [r13 + 0xc8], al
jne 0x68b731
mov edx, 4
mov rcx, r13
mov r14d, 0xc
call fcn.0068d130
mov ebp, 8
jmp 0x68b746
mov edx, 8
mov rcx, r13
mov r14d, 8
xor ebp, ebp
call fcn.0068d130
lea r15, str.addr
movsxd rsi, ebp
cmp r14d, esi
jle 0x68b776
mov r9, qword [r15 + rsi*8]
mov edx, esi
mov qword [rsp + 0x20], 0
sub edx, ebp
xor r8d, r8d
mov rcx, r13
inc rsi
call fcn.0068d0e0
jmp 0x68b750
movsxd r15, ebx
and byte [r13 + 0xc8], 0xfc
lea rsi, [rsp + 0x48]
imul r15, r15, 0x38
mov qword [rsp + 0x58], 0
movsxd rbp, edi
mov rcx, rsi
shl rbp, 3
mov rdx, r15
call fcn.00606020
movsx r14, word [rsp + 0x3e]
mov qword [r13 + 0x68], rax
imul r14, r14, 0x38
mov rdx, r14
call fcn.00606020
movsxd rdx, dword [rsp + 0x44]
mov qword [r13 + 0x80], rax
shl rdx, 3
call fcn.00606020
mov rdx, rbp
mov qword [r13 + 0x70], rax
call fcn.00606020
mov rdx, qword [rsp + 0x58]
mov qword [r13 + 0x78], rax
test rdx, rdx
je 0x68b880
mov rcx, r12
call fcn.00657a00
mov qword [r13 + 0x100], rax
cmp byte [r12 + 0x67], 0
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x50], rax
jne 0x68b888
mov rax, qword [r13 + 0x68]
test rax, rax
jne 0x68b828
mov rdx, r15
mov rcx, rsi
call fcn.00606020
mov qword [r13 + 0x68], rax
mov rax, qword [r13 + 0x80]
test rax, rax
jne 0x68b843
mov rdx, r14
mov rcx, rsi
call fcn.00606020
mov qword [r13 + 0x80], rax
mov rax, qword [r13 + 0x70]
test rax, rax
jne 0x68b864
movsxd rdx, dword [rsp + 0x44]
mov rcx, rsi
shl rdx, 3
call fcn.00606020
mov qword [r13 + 0x70], rax
mov rax, qword [r13 + 0x78]
test rax, rax
jne 0x68b87c
mov rdx, rbp
mov rcx, rsi
call fcn.00606020
mov qword [r13 + 0x78], rax
cmp byte [r12 + 0x67], 0
je 0x68b899
mov word [r13 + 0x20], 0
mov qword [r13 + 0x24], 0
jmp 0x68b90d
mov ax, word [rsp + 0x3e]
mov dword [r13 + 0x28], edi
test ax, ax
mov word [r13 + 0x20], ax
jle 0x68b8dd
movsx edi, ax
mov rdx, qword [r13 + 0x80]
lea eax, [rdi - 1]
inc rax
imul rax, rax, 0x38
add rax, rdx
mov word [rdx + 0x14], 1
mov qword [rdx + 0x18], r12
add rdx, 0x38
mov dword [rdx - 0x18], 0
cmp rdx, rax
jne 0x68b8c3
test ebx, ebx
mov dword [r13 + 0x24], ebx
jle 0x68b902
mov rax, qword [r13 + 0x68]
mov word [rax + 0x14], 0
mov qword [rax + 0x18], r12
add rax, 0x38
mov dword [rax - 0x18], 0
dec ebx
jne 0x68b8e9
mov rdi, qword [r13 + 0x78]
xor eax, eax
mov rcx, rbp
rep stosb byte [rdi], al
movabs rax, 0xffffffff00000001
mov byte [r13 + 0xc5], 1
mov word [r13 + 0xc2], 0xff02
mov qword [r13 + 0x2c], rax
mov qword [r13 + 0x34], 0
mov qword [r13 + 0x3c], 0
mov qword [r13 + 0x50], 0
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret