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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x198
mov qword [rsp + 0x40], rcx
mov rcx, qword [rdx]
lea rax, [rcx + 0xa0]
mov qword [rsp + 0x28], rax
mov rax, qword [rcx + 0xb0]
mov qword [rsp + 0xd8], rax
movups xmm0, xmmword [rcx + 0xa0]
movups xmmword [rsp + 0xc8], xmm0
mov rax, qword [rcx + 0xb0]
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0x38], rcx
movups xmm0, xmmword [rcx + 0xa0]
movups xmmword [rsp + 0x80], xmm0
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0xa8], rax
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0x98], rax
mov qword [rsp + 0x68], 0
mov qword [rsp + 0x70], 8
mov qword [rsp + 0x78], 0
mov esi, 8
xor r12d, r12d
xor eax, eax
mov qword [rsp + 0x30], rax
xor r13d, r13d
mov r14, rdx
mov rcx, rdx
call fcn.006269d0
cmp eax, 0x3a
je 0x6322d3
mov rcx, r14
call fcn.006269d0
cmp eax, 0x29
je 0x6322d3
mov rcx, r14
call fcn.006269d0
cmp eax, 0x2d
jne 0x631d90
mov rax, qword [rsp + 0x28]
mov rsi, qword [rax]
mov rcx, r14
call fcn.006269d0
mov ecx, 1
cmp eax, 0x80
jb 0x631bf1
mov ecx, 2
cmp eax, 0x800
jb 0x631bf1
cmp eax, 0x10000
mov ecx, 4
sbb rcx, 0
add rsi, rcx
jb 0x632491
mov qword [rsp + 0x138], rsi
mov rax, qword [rsp + 0x38]
mov r15, qword [rax + 0xb0]
inc r15
je 0x63249a
mov rcx, r14
mov rax, qword [rax + 0xa8]
mov qword [rsp + 0x48], rax
call fcn.006269d0
xor edi, edi
cmp eax, 0xa
sete byte [rsp + 0x27]
mov eax, 1
cmove r15, rax
mov rcx, qword [rsp + 0x28]
mov rax, qword [rcx + 0x10]
mov qword [rsp + 0x150], rax
movups xmm0, xmmword [rcx]
movaps xmmword [rsp + 0x140], xmm0
mov rbp, qword [rcx]
mov rcx, r14
call fcn.006269d0
mov ecx, 1
cmp eax, 0x80
jb 0x631c8b
mov ecx, 2
cmp eax, 0x800
jb 0x631c8b
cmp eax, 0x10000
mov ecx, 4
sbb rcx, 0
add rbp, rcx
jb 0x632491
mov rax, qword [rsp + 0x38]
mov rbx, qword [rax + 0xb0]
inc rbx
je 0x63249a
mov rsi, qword [rax + 0xa8]
mov rcx, r14
call fcn.006269d0
mov rdx, rsi
cmp eax, 0xa
sete r8b
mov eax, 1
cmove rbx, rax
mov rcx, qword [rsp + 0x28]
mov rax, qword [rcx + 0x10]
mov qword [rsp + 0x170], rax
movups xmm0, xmmword [rcx]
movaps xmmword [rsp + 0x160], xmm0
mov rsi, qword [rsp + 0x70]
cmp qword [rsp + 0x30], 0
je 0x631d17
xor eax, eax
xor r13d, r13d
nop dword [rax]
cmp byte [rsi + rax + 0x30], 7
je 0x631f8f
inc r13
add rax, 0x38
cmp r12, rax
jne 0x631d00
mov byte [rsp + 0x26], r8b
mov r8, qword [rsp + 0x30]
cmp r8, qword [rsp + 0x68]
mov r13, rdx
jne 0x631d3f
lea rcx, [rsp + 0x68]
call fcn.0045eb50
mov rsi, qword [rsp + 0x70]
mov r8, qword [rsp + 0x30]
movzx eax, byte [rsp + 0x27]
mov dil, al
add qword [rsp + 0x48], rdi
xor eax, eax
movzx ecx, byte [rsp + 0x26]
mov al, cl
add r13, rax
imul rcx, r8, 0x38
lea rax, [rsi + rcx]
mov rdx, qword [rsp + 0x170]
mov qword [rsi + rcx + 0x10], rdx
movaps xmm0, xmmword [rsp + 0x160]
movups xmmword [rsi + rcx], xmm0
mov rcx, r8
mov rdx, r13
mov r13d, 1
mov dil, 7
jmp 0x631eef
mov rax, qword [rsp + 0x28]
mov rbp, qword [rax]
mov rcx, r14
call fcn.006269d0
mov ecx, 1
cmp eax, 0x80
jb 0x631dc6
mov ecx, 2
cmp eax, 0x800
jb 0x631dc6
cmp eax, 0x10000
mov ecx, 4
sbb rcx, 0
add rbp, rcx
jb 0x632491
mov rax, qword [rsp + 0x38]
mov rbx, qword [rax + 0xb0]
inc rbx
je 0x63249a
mov rcx, r14
mov r13, qword [rax + 0xa8]
call fcn.006269d0
xor r15d, r15d
cmp eax, 0xa
sete byte [rsp + 0x48]
mov eax, 1
cmove rbx, rax
mov rcx, qword [rsp + 0x28]
mov rax, qword [rcx + 0x10]
mov qword [rsp + 0x60], rax
movups xmm0, xmmword [rcx]
movaps xmmword [rsp + 0x50], xmm0
lea rcx, [rsp + 0xb0]
mov rdx, r14
call fcn.00632fa0
mov rax, qword [rsp + 0xb0]
movzx edi, byte [rsp + 0xb8]
movabs rcx, 0x8000000000000000
cmp rax, rcx
jne 0x632370
mov rcx, r13
movaps xmm0, xmmword [rsp + 0x50]
movaps xmmword [rsp + 0x180], xmm0
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x190], rax
cmp qword [rsp + 0x30], 0
je 0x631e97
xor eax, eax
xor r13d, r13d
nop word [rax + rax]
cmp byte [rsi + rax + 0x30], dil
je 0x63211b
inc r13
add rax, 0x38
cmp r12, rax
jne 0x631e80
mov r8, qword [rsp + 0x30]
cmp r8, qword [rsp + 0x68]
mov r13, rcx
jne 0x631eba
lea rcx, [rsp + 0x68]
call fcn.0045eb50
mov rsi, qword [rsp + 0x70]
mov r8, qword [rsp + 0x30]
movzx eax, byte [rsp + 0x48]
mov r15b, al
add r13, r15
imul rcx, r8, 0x38
lea rax, [rsi + rcx]
mov rdx, qword [rsp + 0x190]
mov qword [rsi + rcx + 0x10], rdx
movaps xmm0, xmmword [rsp + 0x180]
movups xmmword [rsi + rcx], xmm0
mov rcx, r8
mov rdx, r13
xor r13d, r13d
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rdx
mov qword [rax + 0x28], rbx
mov byte [rax + 0x30], dil
inc rcx
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x78], rcx
mov rcx, r14
call fcn.006271f0
add r12, 0x38
test al, al
mov rdx, r14
jne 0x631b85
mov rcx, qword [rsp + 0x28]
mov rax, qword [rcx + 0x10]
mov qword [rsp + 0xd8], rax
movups xmm0, xmmword [rcx]
movups xmmword [rsp + 0xc8], xmm0
mov rax, qword [rcx + 0x10]
mov qword [rsp + 0xc0], rax
movups xmm0, xmmword [rcx]
movaps xmmword [rsp + 0xb0], xmm0
mov rbx, qword [rdx + 8]
mov rdi, qword [rdx + 0x10]
test rdi, rdi
je 0x63243d
js 0x6324a8
movzx eax, byte [0x0076d188]
xor ecx, ecx
mov rdx, rdi
call fcn.0069df80
test rax, rax
je 0x6324ac
mov r14, rax
jmp 0x632443
mov rax, qword [rsp + 0x28]
mov rbx, qword [rax]
mov rdi, r14
mov rcx, r14
call fcn.006269d0
mov edx, 1
cmp eax, 0x80
lea rcx, [0x007211a0]
jb 0x631fcf
mov edx, 2
cmp eax, 0x800
jb 0x631fcf
cmp eax, 0x10000
mov edx, 4
sbb rdx, 0
add rbx, rdx
mov rax, qword [rsp + 0x38]
jb 0x6324a1
mov r12, qword [rax + 0xb0]
lea rcx, [0x00721188]
inc r12
je 0x6324a1
mov rbp, qword [rax + 0xa8]
mov rcx, rdi
call fcn.006269d0
mov qword [rsp + 0x38], rbx
xor r15d, r15d
cmp eax, 0xa
sete dl
mov r14d, 1
cmove r12, r14
mov rcx, qword [rsp + 0x28]
mov rax, qword [rcx + 0x10]
mov qword [rsp + 0x60], rax
movups xmm0, xmmword [rcx]
movaps xmmword [rsp + 0x50], xmm0
cmp r13, qword [rsp + 0x30]
jae 0x6324bb
imul rax, r13, 0x38
movups xmm0, xmmword [rsi + rax]
movups xmm1, xmmword [rsi + rax + 0x10]
movups xmm2, xmmword [rsi + rax + 0x20]
movups xmmword [rsp + 0xd4], xmm2
movups xmmword [rsp + 0xc4], xmm1
movups xmmword [rsp + 0xb4], xmm0
mov rbx, qword [rdi + 8]
mov rdi, qword [rdi + 0x10]
test rdi, rdi
je 0x63209a
js 0x6324a8
mov esi, edx
movzx eax, byte [0x0076d188]
xor ecx, ecx
mov rdx, rdi
call fcn.0069df80
test rax, rax
je 0x6324ac
mov r14, rax
mov edx, esi
mov r15b, dl
add rbp, r15
mov rcx, r14
mov rdx, rbx
mov r8, rdi
call sub.msvcrt.dll_memcpy
movups xmm0, xmmword [rsp + 0xb0]
movups xmm1, xmmword [rsp + 0xc0]
movups xmm2, xmmword [rsp + 0xd0]
mov rcx, qword [rsp + 0x40]
movups xmmword [rcx + 0x1c], xmm0
movups xmmword [rcx + 0x2c], xmm1
movups xmmword [rcx + 0x3c], xmm2
mov eax, dword [rsp + 0xe0]
mov dword [rcx + 0x4c], eax
mov rax, qword [rsp + 0x60]
mov qword [rcx + 0x60], rax
movaps xmm0, xmmword [rsp + 0x50]
movups xmmword [rcx + 0x50], xmm0
mov qword [rcx], rdi
mov qword [rcx + 8], r14
mov qword [rcx + 0x10], rdi
mov dword [rcx + 0x18], 0xe
mov rax, qword [rsp + 0x38]
mov qword [rcx + 0x68], rax
mov qword [rcx + 0x70], rbp
mov qword [rcx + 0x78], r12
jmp 0x6322a3
mov rax, qword [rsp + 0x28]
mov rsi, qword [rax]
mov rdi, r14
mov rcx, r14
call fcn.006269d0
mov edx, 1
cmp eax, 0x80
lea rcx, [0x007211a0]
jb 0x63215b
mov edx, 2
cmp eax, 0x800
jb 0x63215b
cmp eax, 0x10000
mov edx, 4
sbb rdx, 0
add rsi, rdx
mov rax, qword [rsp + 0x38]
jb 0x6324a1
mov r15, qword [rax + 0xb0]
lea rcx, [0x00721188]
inc r15
je 0x6324a1
mov r12, qword [rax + 0xa8]
mov rcx, rdi
call fcn.006269d0
mov qword [rsp + 0x38], rsi
xor ebp, ebp
cmp eax, 0xa
sete sil
mov r14d, 1
cmove r15, r14
mov rcx, qword [rsp + 0x28]
mov rax, qword [rcx + 0x10]
mov qword [rsp + 0x60], rax
movups xmm0, xmmword [rcx]
movaps xmmword [rsp + 0x50], xmm0
cmp r13, qword [rsp + 0x30]
jae 0x6324c4
mov rax, qword [rsp + 0x70]
imul rcx, r13, 0x38
movups xmm0, xmmword [rax + rcx]
movups xmm1, xmmword [rax + rcx + 0x10]
movups xmm2, xmmword [rax + rcx + 0x20]
movups xmmword [rsp + 0xd4], xmm2
movups xmmword [rsp + 0xc4], xmm1
movups xmmword [rsp + 0xb4], xmm0
mov rbx, qword [rdi + 8]
mov rdi, qword [rdi + 0x10]
test rdi, rdi
je 0x632227
js 0x6324a8
movzx eax, byte [0x0076d188]
xor ecx, ecx
mov rdx, rdi
call fcn.0069df80
test rax, rax
je 0x6324ac
mov r14, rax
mov bpl, sil
add r12, rbp
mov rcx, r14
mov rdx, rbx
mov r8, rdi
call sub.msvcrt.dll_memcpy
movups xmm0, xmmword [rsp + 0xb0]
movups xmm1, xmmword [rsp + 0xc0]
movups xmm2, xmmword [rsp + 0xd0]
mov rcx, qword [rsp + 0x40]
movups xmmword [rcx + 0x1c], xmm0
movups xmmword [rcx + 0x2c], xmm1
movups xmmword [rcx + 0x3c], xmm2
mov eax, dword [rsp + 0xe0]
mov dword [rcx + 0x4c], eax
mov rax, qword [rsp + 0x60]
mov qword [rcx + 0x60], rax
movaps xmm0, xmmword [rsp + 0x50]
movups xmmword [rcx + 0x50], xmm0
mov qword [rcx], rdi
mov qword [rcx + 8], r14
mov qword [rcx + 0x10], rdi
mov dword [rcx + 0x18], 0xd
mov rax, qword [rsp + 0x38]
mov qword [rcx + 0x68], rax
mov qword [rcx + 0x70], r12
mov qword [rcx + 0x78], r15
cmp qword [rsp + 0x68], 0
je 0x6322be
mov r8, qword [rsp + 0x70]
mov rcx, qword [0x0076d128]
xor edx, edx
call fcn.006d3c74
nop
add rsp, 0x198
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
cmp r13, 1
jne 0x632317
mov rbx, qword [r14 + 8]
mov rdi, qword [r14 + 0x10]
test rdi, rdi
je 0x6323e1
mov r14, qword [rsp + 0x48]
js 0x6324a8
movzx eax, byte [0x0076d188]
xor ecx, ecx
mov rdx, rdi
call fcn.0069df80
test rax, rax
je 0x6324ac
mov rsi, rax
jmp 0x6323eb
mov rcx, qword [rsp + 0x28]
mov rax, qword [rcx + 0x10]
mov qword [rsp + 0xa8], rax
movups xmm0, xmmword [rcx]
movups xmmword [rsp + 0x98], xmm0
mov rcx, qword [rsp + 0x40]
mov qword [rcx + 0x48], rax
movups xmmword [rcx + 0x38], xmm0
movups xmm0, xmmword [rsp + 0x68]
movups xmm1, xmmword [rsp + 0x78]
movups xmm2, xmmword [rsp + 0x88]
movups xmmword [rcx + 0x28], xmm2
movups xmmword [rcx + 0x18], xmm1
movups xmmword [rcx + 8], xmm0
movabs rax, 0x8000000000000000
mov qword [rcx], rax
jmp 0x6322be
mov rcx, qword [rsp + 0x128]
mov rdx, qword [rsp + 0x40]
mov qword [rdx + 0x78], rcx
movups xmm0, xmmword [rsp + 0x119]
movups xmmword [rdx + 0x69], xmm0
movups xmm0, xmmword [rsp + 0x109]
movups xmmword [rdx + 0x59], xmm0
movups xmm0, xmmword [rsp + 0xf9]
movups xmmword [rdx + 0x49], xmm0
movups xmm0, xmmword [rsp + 0xb9]
movups xmm1, xmmword [rsp + 0xc9]
movups xmm2, xmmword [rsp + 0xd9]
movups xmm3, xmmword [rsp + 0xe9]
movups xmmword [rdx + 0x39], xmm3
movups xmmword [rdx + 0x29], xmm2
movups xmmword [rdx + 0x19], xmm1
movups xmmword [rdx + 9], xmm0
mov qword [rdx], rax
mov byte [rdx + 8], dil
jmp 0x6322a3
mov esi, 1
mov r14, qword [rsp + 0x48]
mov rcx, rsi
mov rdx, rbx
mov r8, rdi
call sub.msvcrt.dll_memcpy
movaps xmm0, xmmword [rsp + 0x140]
mov rcx, qword [rsp + 0x40]
movups xmmword [rcx + 0x50], xmm0
mov rax, qword [rsp + 0x150]
mov qword [rcx + 0x60], rax
mov qword [rcx], rdi
mov qword [rcx + 8], rsi
mov qword [rcx + 0x10], rdi
mov dword [rcx + 0x18], 0xc
mov rax, qword [rsp + 0x138]
mov qword [rcx + 0x68], rax
mov qword [rcx + 0x70], r14
jmp 0x63229f
mov r14d, 1
mov rcx, r14
mov rdx, rbx
mov r8, rdi
call sub.msvcrt.dll_memcpy
movaps xmm0, xmmword [rsp + 0xb0]
movaps xmm1, xmmword [rsp + 0xc0]
movaps xmm2, xmmword [rsp + 0xd0]
mov rax, qword [rsp + 0x40]
movups xmmword [rax + 0x50], xmm0
movups xmmword [rax + 0x60], xmm1
movups xmmword [rax + 0x70], xmm2
mov qword [rax], rdi
mov qword [rax + 8], r14
mov qword [rax + 0x10], rdi
mov dword [rax + 0x18], 0xf
jmp 0x6322a3
lea rcx, [0x007211a0]
jmp 0x6324a1
lea rcx, [0x00721188]
call fcn.005722f0
jmp 0x6324d8
xor ecx, ecx
jmp 0x6324b1
mov ecx, 1
mov rdx, rdi
call fcn.00522e90
jmp 0x6324d8
lea r8, [0x00721578]
jmp 0x6324cb
lea r8, [0x00721590]
mov rcx, r13
mov rdx, qword [rsp + 0x30]
call fcn.0056d4e0
ud2