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

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x58
mov rdi, rdx
mov rsi, rcx
mov r15, qword [rdx]
mov rbx, qword [rdx + 8]
mov rcx, qword [r15 + 0xa0]
mov r14, qword [rdx + 0x10]
test rcx, rcx
je 0x1400c2b9f
cmp rcx, r14
jae 0x1400c2b99
cmp byte [rbx + rcx], 0xbf
jg 0x1400c2b9f
jmp 0x1400c2f1b
jne 0x1400c2f1b
cmp rcx, r14
je 0x1400c2f1b
movzx eax, byte [rbx + rcx]
mov r8d, eax
test al, al
jns 0x1400c2c10
mov edx, eax
and edx, 0x1f
movzx r8d, byte [rbx + rcx + 1]
and r8d, 0x3f
cmp al, 0xdf
jbe 0x1400c2c07
movzx r9d, byte [rbx + rcx + 2]
shl r8d, 6
and r9d, 0x3f
or r9d, r8d
cmp al, 0xf0
jb 0x1400c2c93
movzx r8d, byte [rbx + rcx + 3]
and edx, 7
shl edx, 0x12
shl r9d, 6
and r8d, 0x3f
or r8d, r9d
or r8d, edx
cmp r8d, 0x110000
jne 0x1400c2c10
jmp 0x1400c2f1b
shl edx, 6
or edx, r8d
mov r8d, edx
cmp r8d, 0x78
je 0x1400c2d50
mov edx, eax
test rcx, rcx
je 0x1400c2c33
cmp rcx, r14
jae 0x1400c2f1b
cmp dl, 0xbf
jle 0x1400c2f1b
mov r9d, eax
test al, al
jns 0x1400c2cb5
mov r8d, eax
and r8d, 0x1f
movzx r9d, byte [rbx + rcx + 1]
and r9d, 0x3f
cmp dl, 0xdf
jbe 0x1400c2cab
movzx r10d, byte [rbx + rcx + 2]
shl r9d, 6
and r10d, 0x3f
or r10d, r9d
cmp al, 0xf0
jb 0x1400c2d2b
movzx r9d, byte [rbx + rcx + 3]
and r8d, 7
shl r8d, 0x12
shl r10d, 6
and r9d, 0x3f
or r9d, r10d
or r9d, r8d
cmp r9d, 0x110000
jne 0x1400c2cb5
jmp 0x1400c2f1b
shl edx, 0xc
or r9d, edx
mov r8d, r9d
cmp r8d, 0x78
jne 0x1400c2c1a
jmp 0x1400c2d50
shl r8d, 6
or r8d, r9d
mov r9d, r8d
cmp r9d, 0x75
je 0x1400c2d50
test rcx, rcx
je 0x1400c2cd5
cmp rcx, r14
jae 0x1400c2f1b
cmp al, 0xbf
jle 0x1400c2f1b
test al, al
jns 0x1400c2d47
mov r8d, eax
and r8d, 0x1f
movzx edx, byte [rbx + rcx + 1]
and edx, 0x3f
cmp al, 0xdf
jbe 0x1400c2d3d
movzx r9d, byte [rbx + rcx + 2]
shl edx, 6
and r9d, 0x3f
or r9d, edx
cmp al, 0xf0
jb 0x1400c2f08
movzx edx, byte [rbx + rcx + 3]
and r8d, 7
shl r8d, 0x12
shl r9d, 6
and edx, 0x3f
or edx, r9d
or edx, r8d
cmp edx, 0x110000
jne 0x1400c2d47
jmp 0x1400c2f1b
shl r8d, 0xc
or r10d, r8d
mov r9d, r10d
cmp r9d, 0x75
jne 0x1400c2cbf
jmp 0x1400c2d50
shl r8d, 6
or r8d, edx
mov edx, r8d
cmp edx, 0x55
jne 0x1400c2f1b
test rcx, rcx
je 0x1400c2d66
cmp rcx, r14
jae 0x1400c2f1b
cmp al, 0xbf
jle 0x1400c2f1b
test al, al
jns 0x1400c2dc8
mov edx, eax
and edx, 0x1f
movzx r9d, byte [rbx + rcx + 1]
and r9d, 0x3f
cmp al, 0xdf
jbe 0x1400c2db5
movzx r8d, byte [rbx + rcx + 2]
shl r9d, 6
and r8d, 0x3f
or r8d, r9d
cmp al, 0xf0
jb 0x1400c2dbf
movzx eax, byte [rbx + rcx + 3]
and edx, 7
shl edx, 0x12
shl r8d, 6
and eax, 0x3f
or eax, r8d
or eax, edx
cmp eax, 0x110000
jne 0x1400c2dc8
jmp 0x1400c2f1b
shl edx, 6
or edx, r9d
mov eax, edx
jmp 0x1400c2dc8
shl edx, 0xc
or r8d, edx
mov eax, r8d
add r15, 0xa0
cmp eax, 0x75
sete cl
mov dl, 2
sub dl, cl
xor ecx, ecx
cmp eax, 0x78
movzx ebp, dl
cmove ebp, ecx
mov rcx, rdi
call fcn.1400b65f0
test al, al
je 0x1400c2e04
mov rcx, rdi
call fcn.1400b58e0
mov rcx, qword [r15]
cmp rcx, r14
jne 0x1400c2e9e
mov rax, qword [r15 + 0x10]
mov qword [rsp + 0x30], rax
movups xmm0, xmmword [r15]
movaps xmmword [rsp + 0x20], xmm0
movups xmm0, xmmword [r15]
movups xmmword [rsp + 0x38], xmm0
mov rax, qword [r15 + 0x10]
mov qword [rsp + 0x48], rax
test r14, r14
je 0x1400c2e51
js 0x1400c2f1b
movzx eax, byte [0x141934140]
xor ecx, ecx
mov rdx, r14
call fcn.1400e65f0
mov rdi, rax
test rax, rax
jne 0x1400c2e56
jmp 0x1400c2f1b
mov edi, 1
mov rcx, rdi
mov rdx, rbx
mov r8, r14
call sub.msvcrt.dll_memcpy
mov qword [rsi], r14
mov qword [rsi + 8], rdi
mov qword [rsi + 0x10], r14
mov dword [rsi + 0x18], 0xa
movaps xmm0, xmmword [rsp + 0x20]
movaps xmm1, xmmword [rsp + 0x30]
movaps xmm2, xmmword [rsp + 0x40]
movups xmmword [rsi + 0x50], xmm0
movups xmmword [rsi + 0x60], xmm1
movups xmmword [rsi + 0x70], xmm2
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret
test rcx, rcx
je 0x1400c2eae
cmp rcx, r14
jae 0x1400c2f1b
cmp byte [rbx + rcx], 0xc0
jl 0x1400c2f1b
movzx eax, byte [rbx + rcx]
test al, al
jns 0x1400c2f26
mov edx, eax
and edx, 0x1f
movzx r9d, byte [rbx + rcx + 1]
and r9d, 0x3f
cmp al, 0xdf
jbe 0x1400c2efe
movzx r8d, byte [rbx + rcx + 2]
shl r9d, 6
and r8d, 0x3f
or r8d, r9d
cmp al, 0xf0
jb 0x1400c2f1d
movzx eax, byte [rbx + rcx + 3]
and edx, 7
shl edx, 0x12
shl r8d, 6
and eax, 0x3f
or eax, r8d
or eax, edx
cmp eax, 0x110000
jne 0x1400c2f26
jmp 0x1400c2f1b
shl edx, 6
or edx, r9d
mov eax, edx
jmp 0x1400c2f26
shl r8d, 0xc
or r9d, r8d
mov edx, r9d
cmp edx, 0x55
je 0x1400c2d50
ud2
shl edx, 0xc
or r8d, edx
mov eax, r8d
mov rcx, rsi
mov rdx, rdi
mov r8d, ebp
cmp eax, 0x7b
jne 0x1400c2f45
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
jmp 0x1400c54f0
nop
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
jmp 0x1400c5fb0
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x118
mov r12, qword [rdx]
cmp qword [r12 + 0x80], 0
jne 0x1400c5fa3
mov r14, rdx
mov qword [r12 + 0x80], 0xffffffffffffffff
mov qword [r12 + 0x98], 0
mov rax, qword [r12 + 0xb0]
mov qword [rsp + 0x60], rax
movups xmm0, xmmword [r12 + 0xa0]
movaps xmmword [rsp + 0x50], xmm0
mov r10, qword [r12 + 0xa0]
mov rbx, qword [rdx + 8]
mov rdi, qword [rdx + 0x10]
test r10, r10
je 0x1400c5577
cmp r10, rdi
jae 0x1400c5571
cmp byte [rbx + r10], 0xbf
jg 0x1400c5577
jmp 0x1400c5fa3
jne 0x1400c5fa3
cmp r10, rdi
je 0x1400c5fa3
movzx eax, byte [rbx + r10]
mov esi, 1
test al, al
jns 0x1400c5626
mov edx, eax
and edx, 0x1f
movzx r11d, byte [rbx + r10 + 1]
and r11d, 0x3f
cmp al, 0xe0
jb 0x1400c55e2
movzx r9d, byte [rbx + r10 + 2]
shl r11d, 6
and r9d, 0x3f
or r9d, r11d
cmp al, 0xf0
jb 0x1400c55f6
movzx r11d, byte [rbx + r10 + 3]
and edx, 7
shl edx, 0x12
shl r9d, 6
and r11d, 0x3f
or r11d, r9d
or r11d, edx
cmp r11d, 0x110000
jne 0x1400c55eb
jmp 0x1400c5fa3
shl edx, 6
or edx, r11d
mov r11d, edx
cmp r11d, 0x80
jae 0x1400c5608
jmp 0x1400c5626
shl edx, 0xc
or r9d, edx
mov r11d, r9d
cmp r11d, 0x80
jb 0x1400c5626
mov esi, 2
cmp r11d, 0x800
jb 0x1400c5626
cmp r11d, 0x10000
mov esi, 4
sbb rsi, 0
add rsi, r10
jb 0x1400c5fa3
mov rdx, qword [r12 + 0xb0]
inc rdx
je 0x1400c5fa3
mov r13, qword [r12 + 0xa8]
test r10, r10
je 0x1400c565e
cmp r10, rdi
jae 0x1400c5fa3
cmp al, 0xbf
jle 0x1400c5fa3
test al, al
mov qword [rsp + 0x30], rcx
mov byte [rsp + 0x2f], r8b
mov qword [rsp + 0x48], rsi
jns 0x1400c56d9
mov r15, rdx
mov edx, eax
and edx, 0x1f
movzx r9d, byte [rbx + r10 + 1]
and r9d, 0x3f
cmp al, 0xdf
jbe 0x1400c56c3
movzx r11d, byte [rbx + r10 + 2]
shl r9d, 6
and r11d, 0x3f
or r11d, r9d
cmp al, 0xf0
jb 0x1400c56cd
movzx eax, byte [rbx + r10 + 3]
and edx, 7
shl edx, 0x12
shl r11d, 6
and eax, 0x3f
or eax, r11d
or eax, edx
cmp eax, 0x110000
mov rdx, r15
jne 0x1400c56d9
jmp 0x1400c5fa3
shl edx, 6
or edx, r9d
mov eax, edx
jmp 0x1400c56d6
shl edx, 0xc
or r11d, edx
mov eax, r11d
mov rdx, r15
lea r15, [r12 + 0x88]
lea rsi, [r12 + 0xa0]
xor ecx, ecx
cmp eax, 0xa
mov eax, 1
cmove rdx, rax
mov qword [rsp + 0x40], rdx
sete cl
add r13, rcx
mov qword [rsp + 0x38], r13
mov rcx, r14
call fcn.1400b65f0
test al, al
jne 0x1400c57b4
mov r13, qword [rsi]
cmp r13, rdi
jne 0x1400c5afc
mov rax, qword [rsi + 0x10]
mov qword [rsp + 0xd8], rax
movups xmm0, xmmword [rsi]
movups xmmword [rsp + 0xc8], xmm0
movaps xmm0, xmmword [rsp + 0x50]
movaps xmmword [rsp + 0xb0], xmm0
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0xc0], rax
test rdi, rdi
mov rsi, qword [rsp + 0x30]
je 0x1400c5b96
js 0x1400c5fa3
movzx eax, byte [0x141934140]
xor ecx, ecx
mov rdx, rdi
call fcn.1400e65f0
mov r14, rax
test rax, rax
jne 0x1400c5b9c
jmp 0x1400c5fa3
mov rax, qword [r12 + 0x90]
mov byte [rax + rdx], bpl
inc qword [r12 + 0x98]
mov rcx, r14
call fcn.1400b65f0
test al, al
je 0x1400c5717
mov rcx, r14
call fcn.1400b58e0
mov r13, qword [rsi]
cmp r13, rdi
je 0x1400c571a
test r13, r13
je 0x1400c57e1
cmp r13, rdi
jae 0x1400c5fa3
cmp byte [rbx + r13], 0xc0
jl 0x1400c5fa3
movzx ebp, byte [rbx + r13]
mov ecx, ebp
test bpl, bpl
jns 0x1400c5850
mov eax, ebp
and eax, 0x1f
movzx ecx, byte [rbx + r13 + 1]
and ecx, 0x3f
cmp bpl, 0xdf
jbe 0x1400c583c
movzx edx, byte [rbx + r13 + 2]
shl ecx, 6
and edx, 0x3f
or edx, ecx
cmp bpl, 0xf0
jb 0x1400c59ec
movzx ecx, byte [rbx + r13 + 3]
and eax, 7
shl eax, 0x12
shl edx, 6
and ecx, 0x3f
or ecx, edx
or ecx, eax
cmp ecx, 0x110000
jne 0x1400c5850
jmp 0x1400c5fa3
shl eax, 6
or eax, ecx
mov ecx, eax
nop word cs:[rax + rax]
cmp ecx, 0x7d
je 0x1400c571a
test r13, r13
je 0x1400c5871
cmp r13, rdi
jae 0x1400c5fa3
cmp bpl, 0xbf
jle 0x1400c5fa3
mov ecx, ebp
test bpl, bpl
jns 0x1400c58d0
mov eax, ebp
and eax, 0x1f
movzx ecx, byte [rbx + r13 + 1]
and ecx, 0x3f
cmp bpl, 0xdf
jbe 0x1400c599a
movzx edx, byte [rbx + r13 + 2]
shl ecx, 6
and edx, 0x3f
or edx, ecx
cmp bpl, 0xf0
jb 0x1400c5a01
movzx ecx, byte [rbx + r13 + 3]
and eax, 7
shl eax, 0x12
shl edx, 6
and ecx, 0x3f
or ecx, edx
or ecx, eax
cmp ecx, 0x110000
je 0x1400c5fa3
nop word [rax + rax]
lea eax, [rcx - 0x30]
cmp eax, 0xa
jb 0x1400c58f8
add ecx, 0xffffffbf
cmp ecx, 0x25
ja 0x1400c5ec8
movabs rax, 0x3f0000003f
bt rax, rcx
jae 0x1400c5ec8
test r13, r13
je 0x1400c5910
cmp r13, rdi
jae 0x1400c5fa3
cmp bpl, 0xbf
jle 0x1400c5fa3
test bpl, bpl
jns 0x1400c596f
mov eax, ebp
and eax, 0x1f
movzx edx, byte [rbx + r13 + 1]
and edx, 0x3f
cmp bpl, 0xdf
jbe 0x1400c59b2
movzx ecx, byte [rbx + r13 + 2]
shl edx, 6
and ecx, 0x3f
or ecx, edx
cmp bpl, 0xf0
jb 0x1400c5a19
movzx ebp, byte [rbx + r13 + 3]
and eax, 7
shl eax, 0x12
shl ecx, 6
and ebp, 0x3f
or ebp, ecx
or ebp, eax
cmp ebp, 0x110000
je 0x1400c5fa3
cmp ebp, 0x80
jae 0x1400c59c1
mov rdx, qword [r12 + 0x98]
cmp rdx, qword [r12 + 0x88]
jne 0x1400c5790
mov rcx, r15
call fcn.1400f76a0
mov rdx, qword [r12 + 0x98]
jmp 0x1400c5790
shl eax, 6
or eax, ecx
mov ecx, eax
lea eax, [rcx - 0x30]
cmp eax, 0xa
jb 0x1400c58f8
jmp 0x1400c58d8
shl eax, 6
or eax, edx
mov ebp, eax
cmp ebp, 0x80
jb 0x1400c596f
mov dword [rsp + 0x28], 0
mov eax, ebp
cmp ebp, 0x800
jae 0x1400c5a2e
shr eax, 6
or al, 0xc0
mov byte [rsp + 0x28], al
mov r13d, 2
mov eax, 1
jmp 0x1400c5a87
shl eax, 0xc
or edx, eax
mov ecx, edx
cmp ecx, 0x7d
jne 0x1400c5859
jmp 0x1400c571a
shl eax, 0xc
or edx, eax
mov ecx, edx
lea eax, [rcx - 0x30]
cmp eax, 0xa
jae 0x1400c58d8
jmp 0x1400c58f8
shl eax, 0xc
or ecx, eax
mov ebp, ecx
cmp ebp, 0x80
jb 0x1400c596f
jmp 0x1400c59c1
cmp ebp, 0x10000
jae 0x1400c5a59
shr eax, 0xc
or al, 0xe0
mov byte [rsp + 0x28], al
mov eax, ebp
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x29], al
mov r13d, 3
mov eax, 2
jmp 0x1400c5a87
shr eax, 0x12
or al, 0xf0
mov byte [rsp + 0x28], al
mov eax, ebp
shr eax, 0xc
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x29], al
mov eax, ebp
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x2a], al
mov r13d, 4
mov eax, 3
and bpl, 0x3f
or bpl, 0x80
mov byte [rsp + rax + 0x28], bpl
mov rax, qword [r12 + 0x88]
mov rbp, qword [r12 + 0x98]
sub rax, rbp
cmp rax, r13
jb 0x1400c5ae4
mov rcx, qword [r12 + 0x90]
add rcx, rbp
lea rdx, [rsp + 0x28]
mov r8, r13
call sub.msvcrt.dll_memcpy
add rbp, r13
mov qword [r12 + 0x98], rbp
mov rcx, r14
call fcn.1400b65f0
test al, al
jne 0x1400c57b4
jmp 0x1400c5717
mov rcx, r15
mov rdx, rbp
mov r8, r13
call fcn.1400fe0a0
mov rbp, qword [r12 + 0x98]
jmp 0x1400c5aac
mov rax, qword [rsi + 0x10]
mov qword [rsp + 0xa0], rax
movups xmm0, xmmword [rsi]
movaps xmmword [rsp + 0x90], xmm0
mov r15, qword [r12 + 0x90]
mov rbp, qword [r12 + 0x98]
test r13, r13
je 0x1400c5b3c
cmp r13, rdi
jae 0x1400c5fa3
cmp byte [rbx + r13], 0xc0
jl 0x1400c5fa3
movzx eax, byte [rbx + r13]
test al, al
jns 0x1400c5be1
mov ecx, eax
and ecx, 0x1f
movzx r8d, byte [rbx + r13 + 1]
and r8d, 0x3f
cmp al, 0xdf
jbe 0x1400c5bd9
movzx edx, byte [rbx + r13 + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp al, 0xf0
jb 0x1400c5eb3
movzx eax, byte [rbx + r13 + 3]
and ecx, 7
shl ecx, 0x12
shl edx, 6
and eax, 0x3f
or eax, edx
or eax, ecx
cmp eax, 0x110000
jne 0x1400c5be1
jmp 0x1400c5fa3
mov r14d, 1
mov rcx, r14
mov rdx, rbx
mov r8, rdi
call sub.msvcrt.dll_memcpy
mov qword [rsi], rdi
mov qword [rsi + 8], r14
mov qword [rsi + 0x10], rdi
mov dword [rsi + 0x18], 0xa
movaps xmm0, xmmword [rsp + 0xb0]
movaps xmm1, xmmword [rsp + 0xc0]
movaps xmm2, xmmword [rsp + 0xd0]
jmp 0x1400c5e8b
shl ecx, 6
or ecx, r8d
mov eax, ecx
cmp eax, 0x7d
jne 0x1400c5fa3
mov rcx, r14
call fcn.1400b65f0
test al, al
je 0x1400c5bfe
mov rcx, r14
call fcn.1400b58e0
test rbp, rbp
je 0x1400c5cef
movzx eax, byte [r15]
cmp eax, 0x2b
je 0x1400c5d56
cmp eax, 0x2d
jne 0x1400c5c23
cmp rbp, 1
je 0x1400c5dba
cmp rbp, 8
jbe 0x1400c5d68
xor ecx, ecx
mov edx, 0xffffffff
xor eax, eax
cmp rbp, rcx
je 0x1400c5c85
nop dword [rax + rax]
movzx r8d, byte [r15 + rcx]
lea r9d, [r8 - 0x30]
cmp r9d, 0xa
jb 0x1400c5c6c
or r8d, 0x20
add r8d, 0xffffff9f
add r8d, 0xa
cmovb r8d, edx
mov r9d, r8d
cmp r8d, 0xf
ja 0x1400c5dba
cmp eax, 0xfffffff
ja 0x1400c5dba
shl eax, 4
or eax, r9d
inc rcx
cmp rbp, rcx
jne 0x1400c5c40
mov ecx, eax
xor ecx, 0xd800
add ecx, 0xffef0000
cmp ecx, 0xffef07ff
jbe 0x1400c5dba
mov rdx, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x48]
mov qword [rdx + 8], rcx
mov rcx, qword [rsp + 0x38]
mov qword [rdx + 0x10], rcx
mov rcx, qword [rsp + 0x40]
mov qword [rdx + 0x18], rcx
movups xmm0, xmmword [rsi]
movups xmmword [rdx + 0x20], xmm0
mov rcx, qword [rsi + 0x10]
mov qword [rdx + 0x30], rcx
mov dword [rdx + 0x38], eax
mov byte [rdx + 0x3c], 5
movzx eax, byte [rsp + 0x2f]
mov byte [rdx + 0x3d], al
movabs rax, 0x8000000000000000
mov qword [rdx], rax
jmp 0x1400c5e97
mov rax, qword [rsi + 0x10]
mov qword [rsp + 0x108], rax
movups xmm0, xmmword [rsi]
movups xmmword [rsp + 0xf8], xmm0
movaps xmm0, xmmword [rsp + 0x50]
movaps xmmword [rsp + 0xe0], xmm0
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0xf0], rax
test rdi, rdi
je 0x1400c5e48
mov rsi, qword [rsp + 0x30]
js 0x1400c5fa3
movzx eax, byte [0x141934140]
xor ecx, ecx
mov rdx, rdi
call fcn.1400e65f0
mov r14, rax
test rax, rax
jne 0x1400c5e53
jmp 0x1400c5fa3
dec rbp
je 0x1400c5dba
inc r15
cmp rbp, 9
jae 0x1400c5c2d
xor ecx, ecx
mov edx, 0xffffffff
xor eax, eax
jmp 0x1400c5d92
shl eax, 4
or eax, r9d
inc rcx
cmp rbp, rcx
je 0x1400c5c85
movzx r8d, byte [r15 + rcx]
lea r9d, [r8 - 0x30]
cmp r9d, 0xa
jb 0x1400c5d80
or r8d, 0x20
add r8d, 0xffffff9f
add r8d, 0xa
cmovb r8d, edx
mov r9d, r8d
cmp r8d, 0xf
jbe 0x1400c5d80
test rdi, rdi
je 0x1400c5de8
js 0x1400c5fa3
movzx eax, byte [0x141934140]
xor ecx, ecx
mov rdx, rdi
call fcn.1400e65f0
mov r14, rax
test rax, rax
mov rsi, qword [rsp + 0x30]
jne 0x1400c5df3
jmp 0x1400c5fa3
mov r14d, 1
mov rsi, qword [rsp + 0x30]
mov rcx, r14
mov rdx, rbx
mov r8, rdi
call sub.msvcrt.dll_memcpy
mov qword [rsi], rdi
mov qword [rsi + 8], r14
mov qword [rsi + 0x10], rdi
mov dword [rsi + 0x18], 8
mov rax, qword [rsp + 0x48]
mov qword [rsi + 0x50], rax
mov rax, qword [rsp + 0x38]
mov qword [rsi + 0x58], rax
mov rax, qword [rsp + 0x40]
mov qword [rsi + 0x60], rax
movaps xmm0, xmmword [rsp + 0x90]
movups xmmword [rsi + 0x68], xmm0
mov rax, qword [rsp + 0xa0]
mov qword [rsi + 0x78], rax
jmp 0x1400c5e97
mov r14d, 1
mov rsi, qword [rsp + 0x30]
mov rcx, r14
mov rdx, rbx
mov r8, rdi
call sub.msvcrt.dll_memcpy
mov qword [rsi], rdi
mov qword [rsi + 8], r14
mov qword [rsi + 0x10], rdi
mov dword [rsi + 0x18], 7
movaps xmm0, xmmword [rsp + 0xe0]
movaps xmm1, xmmword [rsp + 0xf0]
movaps xmm2, xmmword [rsp + 0x100]
movups xmmword [rsi + 0x50], xmm0
movups xmmword [rsi + 0x60], xmm1
movups xmmword [rsi + 0x70], xmm2
inc qword [r12 + 0x80]
add rsp, 0x118
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
shl ecx, 0xc
or edx, ecx
mov eax, edx
cmp eax, 0x7d
je 0x1400c5bea
jmp 0x1400c5fa3
mov rcx, r14
call fcn.1400b5e90
mov ecx, 1
cmp eax, 0x80
jb 0x1400c5ef6
mov ecx, 2
cmp eax, 0x800
jb 0x1400c5ef6
cmp eax, 0x10000
mov ecx, 4
sbb rcx, 0
add r13, rcx
jb 0x1400c5fa3
mov rbp, qword [r12 + 0xb0]
inc rbp
je 0x1400c5fa3
mov r15, qword [r12 + 0xa8]
mov rcx, r14
call fcn.1400b5e90
xor r14d, r14d
cmp eax, 0xa
sete r14b
mov eax, 1
cmove rbp, rax
add r14, r15
movups xmm0, xmmword [rsi]
movaps xmmword [rsp + 0x70], xmm0
mov rax, qword [rsi + 0x10]
mov qword [rsp + 0x80], rax
mov rcx, rdi
call fcn.1400d6090
mov rsi, rax
mov r15, rdx
mov rcx, rdx
mov rdx, rbx
mov r8, rdi
call sub.msvcrt.dll_memcpy
mov rcx, qword [rsp + 0x30]
mov qword [rcx], rsi
mov qword [rcx + 8], r15
mov qword [rcx + 0x10], rdi
mov dword [rcx + 0x18], 9
movaps xmm0, xmmword [rsp + 0x70]
movups xmmword [rcx + 0x50], xmm0
mov rax, qword [rsp + 0x80]
mov qword [rcx + 0x60], rax
mov qword [rcx + 0x68], r13
mov qword [rcx + 0x70], r14
mov qword [rcx + 0x78], rbp
jmp 0x1400c5e97
ud2
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x118
mov rbp, qword [rdx]
cmp qword [rbp + 0x80], 0
jne 0x1400c6aa1
mov r14, rdx
mov qword [rbp + 0x80], 0xffffffffffffffff
mov qword [rbp + 0x98], 0
mov rax, qword [rbp + 0xb0]
mov qword [rsp + 0x50], rax
movups xmm0, xmmword [rbp + 0xa0]
movaps xmmword [rsp + 0x40], xmm0
movsx rax, r8b
lea rdx, [0x14192a018]
mov r15d, dword [rdx + rax*4]
mov rbx, qword [r14 + 8]
mov rdi, qword [r14 + 0x10]
mov rax, qword [rbp + 0xa0]
test rax, rax
je 0x1400c603e
cmp rax, rdi
jae 0x1400c6038
cmp byte [rbx + rax], 0xbf
jg 0x1400c603e
jmp 0x1400c6aa1
jne 0x1400c6aa1
mov qword [rsp + 0x30], rcx
cmp rax, rdi
je 0x1400c6aa1
movzx ecx, byte [rbx + rax]
movzx r13d, cl
mov edx, r13d
test r13b, r13b
jns 0x1400c60c3
mov r10d, r13d
and r10d, 0x1f
movzx edx, byte [rbx + rax + 1]
and edx, 0x3f
cmp r13b, 0xdf
jbe 0x1400c60ad
movzx r9d, byte [rbx + rax + 2]
shl edx, 6
and r9d, 0x3f
or r9d, edx
cmp cl, 0xf0
jb 0x1400c60b9
movzx edx, byte [rbx + rax + 3]
and r10d, 7
shl r10d, 0x12
shl r9d, 6
and edx, 0x3f
or edx, r9d
or edx, r10d
cmp edx, 0x110000
jne 0x1400c60c3
jmp 0x1400c6aa1
shl r10d, 6
or r10d, edx
mov edx, r10d
jmp 0x1400c60c3
shl r10d, 0xc
or r9d, r10d
mov edx, r9d
lea rsi, [rbp + 0xa0]
lea r9d, [rdx - 0x30]
movabs r12, 0x3f0000003f
cmp r9d, 0xa
jb 0x1400c60f4
add edx, 0xffffffbf
cmp edx, 0x25
ja 0x1400c687e
bt r12, rdx
jae 0x1400c687e
test rax, rax
je 0x1400c610b
cmp rax, rdi
jae 0x1400c6aa1
cmp cl, 0xbf
jle 0x1400c6aa1
lea rdx, [rbp + 0x88]
test cl, cl
mov qword [rsp + 0x28], rdx
mov byte [rsp + 0x38], r8b
js 0x1400c612a
cmp qword [rdx], 0
je 0x1400c6192
xor eax, eax
jmp 0x1400c61a3
and r13d, 0x1f
movzx r9d, byte [rbx + rax + 1]
and r9d, 0x3f
cmp cl, 0xdf
jbe 0x1400c6177
movzx edx, byte [rbx + rax + 2]
shl r9d, 6
and edx, 0x3f
or edx, r9d
cmp cl, 0xf0
jb 0x1400c61bd
movzx eax, byte [rbx + rax + 3]
and r13d, 7
shl r13d, 0x12
shl edx, 6
and eax, 0x3f
or eax, edx
or r13d, eax
cmp r13d, 0x110000
jne 0x1400c617e
jmp 0x1400c6aa1
shl r13d, 6
or r13d, r9d
cmp r13d, 0x80
jae 0x1400c61cd
mov rdx, qword [rsp + 0x28]
cmp qword [rdx], 0
jne 0x1400c6126
mov rcx, rdx
xor edx, edx
call fcn.1400f76a0
mov rax, qword [rbp + 0x98]
mov rcx, qword [rbp + 0x90]
mov byte [rcx + rax], r13b
inc qword [rbp + 0x98]
dec r15d
jmp 0x1400c62cb
shl r13d, 0xc
or r13d, edx
cmp r13d, 0x80
jb 0x1400c6187
mov dword [rsp + 0x24], 0
mov eax, r13d
cmp r13d, 0x800
jae 0x1400c61f7
shr eax, 6
or al, 0xc0
mov byte [rsp + 0x24], al
mov r12d, 2
mov eax, 1
jmp 0x1400c6254
cmp r13d, 0x10000
jae 0x1400c6224
shr eax, 0xc
or al, 0xe0
mov byte [rsp + 0x24], al
mov eax, r13d
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x25], al
mov r12d, 3
mov eax, 2
jmp 0x1400c6254
shr eax, 0x12
or al, 0xf0
mov byte [rsp + 0x24], al
mov eax, r13d
shr eax, 0xc
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x25], al
mov eax, r13d
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x26], al
mov r12d, 4
mov eax, 3
and r13b, 0x3f
or r13b, 0x80
mov byte [rsp + rax + 0x24], r13b
mov rcx, qword [rsp + 0x28]
cmp qword [rcx], r12
jb 0x1400c6904
xor r13d, r13d
mov rcx, qword [rbp + 0x90]
add rcx, r13
lea rdx, [rsp + 0x24]
mov r8, r12
call sub.msvcrt.dll_memcpy
add r13, r12
mov qword [rbp + 0x98], r13
dec r15d
movabs r12, 0x3f0000003f
jmp 0x1400c62cb
mov rax, qword [rbp + 0x90]
mov byte [rax + rdx], r13b
inc qword [rbp + 0x98]
dec r15d
je 0x1400c65c6
mov rcx, r14
call fcn.1400b65f0
test al, al
je 0x1400c6567
mov rcx, r14
call fcn.1400b58e0
mov rax, qword [rsi]
cmp rax, rdi
je 0x1400c6567
test rax, rax
je 0x1400c6307
cmp rax, rdi
jae 0x1400c6aa1
cmp byte [rbx + rax], 0xc0
jl 0x1400c6aa1
movzx ecx, byte [rbx + rax]
movzx r13d, cl
mov r8d, r13d
test r13b, r13b
jns 0x1400c6380
mov edx, r13d
and edx, 0x1f
movzx r8d, byte [rbx + rax + 1]
and r8d, 0x3f
cmp r13b, 0xdf
jbe 0x1400c636f
movzx r9d, byte [rbx + rax + 2]
shl r8d, 6
and r9d, 0x3f
or r9d, r8d
cmp cl, 0xf0
jb 0x1400c6443
movzx r8d, byte [rbx + rax + 3]
and edx, 7
shl edx, 0x12
shl r9d, 6
and r8d, 0x3f
or r8d, r9d
or r8d, edx
cmp r8d, 0x110000
jne 0x1400c6380
jmp 0x1400c6aa1
shl edx, 6
or edx, r8d
mov r8d, edx
nop dword [rax + rax]
lea edx, [r8 - 0x30]
cmp edx, 0xa
jb 0x1400c63a1
add r8d, 0xffffffbf
cmp r8d, 0x25
ja 0x1400c687e
bt r12, r8
jae 0x1400c687e
test rax, rax
je 0x1400c63b8
cmp rax, rdi
jae 0x1400c6aa1
cmp cl, 0xbf
jle 0x1400c6aa1
test cl, cl
jns 0x1400c6419
and r13d, 0x1f
movzx r8d, byte [rbx + rax + 1]
and r8d, 0x3f
cmp cl, 0xdf
jbe 0x1400c6409
movzx edx, byte [rbx + rax + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp cl, 0xf0
jb 0x1400c645e
movzx eax, byte [rbx + rax + 3]
and r13d, 7
shl r13d, 0x12
shl edx, 6
and eax, 0x3f
or eax, edx
or r13d, eax
cmp r13d, 0x110000
jne 0x1400c6410
jmp 0x1400c6aa1
shl r13d, 6
or r13d, r8d
cmp r13d, 0x80
jae 0x1400c646e
mov rdx, qword [rbp + 0x98]
cmp rdx, qword [rbp + 0x88]
jne 0x1400c62b0
mov rcx, qword [rsp + 0x28]
call fcn.1400f76a0
mov rdx, qword [rbp + 0x98]
jmp 0x1400c62b0
shl edx, 0xc
or r9d, edx
mov r8d, r9d
lea edx, [r8 - 0x30]
cmp edx, 0xa
jae 0x1400c6389
jmp 0x1400c63a1
shl r13d, 0xc
or r13d, edx
cmp r13d, 0x80
jb 0x1400c6419
mov dword [rsp + 0x24], 0
mov eax, r13d
cmp r13d, 0x800
jae 0x1400c6498
shr eax, 6
or al, 0xc0
mov byte [rsp + 0x24], al
mov r12d, 2
mov eax, 1
jmp 0x1400c64f5
cmp r13d, 0x10000
jae 0x1400c64c5
shr eax, 0xc
or al, 0xe0
mov byte [rsp + 0x24], al
mov eax, r13d
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x25], al
mov r12d, 3
mov eax, 2
jmp 0x1400c64f5
shr eax, 0x12
or al, 0xf0
mov byte [rsp + 0x24], al
mov eax, r13d
shr eax, 0xc
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x25], al
mov eax, r13d
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x26], al
mov r12d, 4
mov eax, 3
and r13b, 0x3f
or r13b, 0x80
mov byte [rsp + rax + 0x24], r13b
mov rax, qword [rbp + 0x88]
mov r13, qword [rbp + 0x98]
sub rax, r13
cmp rax, r12
jb 0x1400c654e
mov rcx, qword [rbp + 0x90]
add rcx, r13
lea rdx, [rsp + 0x24]
mov r8, r12
call sub.msvcrt.dll_memcpy
add r13, r12
mov qword [rbp + 0x98], r13
movabs r12, 0x3f0000003f
dec r15d
jne 0x1400c62cb
jmp 0x1400c65c6
mov rcx, qword [rsp + 0x28]
mov rdx, r13
mov r8, r12
call fcn.1400fe0a0
mov r13, qword [rbp + 0x98]
jmp 0x1400c6518
mov rax, qword [rsi + 0x10]
mov qword [rsp + 0xc0], rax
movups xmm0, xmmword [rsi]
movaps xmmword [rsp + 0xb0], xmm0
movups xmm0, xmmword [rsi]
movups xmmword [rsp + 0xc8], xmm0
mov rax, qword [rsi + 0x10]
mov qword [rsp + 0xd8], rax
test rdi, rdi
je 0x1400c6718
js 0x1400c6aa1
movzx eax, byte [0x141934140]
xor ecx, ecx
mov rdx, rdi
call fcn.1400e65f0
mov r14, rax
test rax, rax
jne 0x1400c671e
jmp 0x1400c6aa1
mov rcx, r14
call fcn.1400b65f0
test al, al
je 0x1400c65da
mov rcx, r14
call fcn.1400b58e0
mov rax, qword [rbp + 0x98]
test rax, rax
je 0x1400c67ba
mov rcx, qword [rbp + 0x90]
movzx edx, byte [rcx]
cmp edx, 0x2b
je 0x1400c6760
cmp edx, 0x2d
jne 0x1400c660c
cmp rax, 1
je 0x1400c67ba
cmp rax, 8
jbe 0x1400c6772
xor r8d, r8d
mov r9d, 0xffffffff
xor edx, edx
cmp rax, r8
je 0x1400c6676
nop word cs:[rax + rax]
movzx r10d, byte [rcx + r8]
lea r11d, [r10 - 0x30]
cmp r11d, 0xa
jb 0x1400c665c
or r10d, 0x20
add r10d, 0xffffff9f
add r10d, 0xa
cmovb r10d, r9d
mov r11d, r10d
cmp r10d, 0xf
ja 0x1400c67ba
cmp edx, 0xfffffff
ja 0x1400c67ba
shl edx, 4
or edx, r11d
inc r8
cmp rax, r8
jne 0x1400c6630
mov eax, edx
xor eax, 0xd800
add eax, 0xffef0000
cmp eax, 0xffef07ff
jbe 0x1400c67ba
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x90], rax
movaps xmm0, xmmword [rsp + 0x40]
movaps xmmword [rsp + 0x80], xmm0
mov rax, qword [rsi + 0x10]
mov qword [rsp + 0xa8], rax
movups xmm1, xmmword [rsi]
movups xmmword [rsp + 0x98], xmm1
mov rcx, qword [rsp + 0x30]
movups xmmword [rcx + 8], xmm0
mov rax, qword [rsp + 0x90]
mov qword [rcx + 0x18], rax
mov rax, qword [rsp + 0x98]
mov qword [rcx + 0x20], rax
mov rax, qword [rsp + 0xa0]
mov qword [rcx + 0x28], rax
mov rax, qword [rsp + 0xa8]
mov qword [rcx + 0x30], rax
mov dword [rcx + 0x38], edx
mov byte [rcx + 0x3c], 4
movzx eax, byte [rsp + 0x38]
mov byte [rcx + 0x3d], al
movabs rax, 0x8000000000000000
mov qword [rcx], rax
jmp 0x1400c6863
mov r14d, 1
mov rcx, r14
mov rdx, rbx
mov r8, rdi
call sub.msvcrt.dll_memcpy
mov rax, qword [rsp + 0x30]
mov qword [rax], rdi
mov qword [rax + 8], r14
mov qword [rax + 0x10], rdi
mov dword [rax + 0x18], 0xa
movaps xmm0, xmmword [rsp + 0xb0]
movaps xmm1, xmmword [rsp + 0xc0]
movaps xmm2, xmmword [rsp + 0xd0]
jmp 0x1400c6857
dec rax
je 0x1400c67ba
inc rcx
cmp rax, 9
jae 0x1400c6616
xor r8d, r8d
mov r9d, 0xffffffff
xor edx, edx
jmp 0x1400c6792
shl edx, 4
or edx, r11d
inc r8
cmp rax, r8
je 0x1400c6676
movzx r10d, byte [rcx + r8]
lea r11d, [r10 - 0x30]
cmp r11d, 0xa
jb 0x1400c6780
or r10d, 0x20
add r10d, 0xffffff9f
add r10d, 0xa
cmovb r10d, r9d
mov r11d, r10d
cmp r10d, 0xf
jbe 0x1400c6780
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0xf0], rax
movaps xmm0, xmmword [rsp + 0x40]
movaps xmmword [rsp + 0xe0], xmm0
movups xmm0, xmmword [rsi]
movups xmmword [rsp + 0xf8], xmm0
mov rax, qword [rsi + 0x10]
mov qword [rsp + 0x108], rax
test rdi, rdi
je 0x1400c6814
js 0x1400c6aa1
movzx eax, byte [0x141934140]
xor ecx, ecx
mov rdx, rdi
call fcn.1400e65f0
mov r14, rax
test rax, rax
jne 0x1400c681a
jmp 0x1400c6aa1
mov r14d, 1
mov rcx, r14
mov rdx, rbx
mov r8, rdi
call sub.msvcrt.dll_memcpy
mov rax, qword [rsp + 0x30]
mov qword [rax], rdi
mov qword [rax + 8], r14
mov qword [rax + 0x10], rdi
mov dword [rax + 0x18], 8
movaps xmm0, xmmword [rsp + 0xe0]
movaps xmm1, xmmword [rsp + 0xf0]
movaps xmm2, xmmword [rsp + 0x100]
movups xmmword [rax + 0x50], xmm0
movups xmmword [rax + 0x60], xmm1
movups xmmword [rax + 0x70], xmm2
inc qword [rbp + 0x80]
add rsp, 0x118
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
test rax, rax
je 0x1400c6898
cmp rax, rdi
jae 0x1400c6892
cmp cl, 0xbf
jg 0x1400c6898
jmp 0x1400c6aa1
jne 0x1400c6aa1
cmp rax, rdi
je 0x1400c6aa1
mov r10d, 1
test cl, cl
jns 0x1400c6957
mov edx, ecx
and dl, 0x1f
movzx edx, dl
movzx r8d, byte [rbx + rax + 1]
and r8d, 0x3f
cmp cl, 0xe0
jb 0x1400c691a
movzx r9d, byte [rbx + rax + 2]
shl r8d, 6
and r9d, 0x3f
or r9d, r8d
cmp cl, 0xf0
jb 0x1400c6925
movzx r8d, byte [rbx + rax + 3]
and edx, 7
shl edx, 0x12
shl r9d, 6
and r8d, 0x3f
or r8d, r9d
or r8d, edx
cmp r8d, 0x110000
jne 0x1400c692e
jmp 0x1400c6aa1
xor edx, edx
mov r8, r12
call fcn.1400fe0a0
mov r13, qword [rbp + 0x98]
jmp 0x1400c6272
shl edx, 6
or edx, r8d
mov r8d, edx
jmp 0x1400c692e
shl edx, 0xc
or r9d, edx
mov r8d, r9d
cmp r8d, 0x80
jb 0x1400c6957
mov r10d, 2
cmp r8d, 0x800
jb 0x1400c6957
cmp r8d, 0x10000
mov r10d, 4
sbb r10, 0
add r10, rax
jb 0x1400c6aa1
mov r12, qword [rbp + 0xb0]
inc r12
je 0x1400c6aa1
mov r11, qword [rbp + 0xa8]
test rax, rax
je 0x1400c698e
cmp rax, rdi
jae 0x1400c6aa1
cmp cl, 0xbf
jle 0x1400c6aa1
test cl, cl
mov qword [rsp + 0x28], r11
js 0x1400c699c
movzx eax, cl
jmp 0x1400c69ff
mov edx, ecx
and dl, 0x1f
movzx edx, dl
movzx r9d, byte [rbx + rax + 1]
and r9d, 0x3f
cmp cl, 0xdf
jbe 0x1400c69ec
movzx r8d, byte [rbx + rax + 2]
shl r9d, 6
and r8d, 0x3f
or r8d, r9d
cmp cl, 0xf0
jb 0x1400c69f6
movzx eax, byte [rbx + rax + 3]
and edx, 7
shl edx, 0x12
shl r8d, 6
and eax, 0x3f
or eax, r8d
or eax, edx
cmp eax, 0x110000
jne 0x1400c69ff
jmp 0x1400c6aa1
shl edx, 6
or edx, r9d
mov eax, edx
jmp 0x1400c69ff
shl edx, 0xc
or r8d, edx
mov eax, r8d
mov qword [rsp + 0x38], r10
xor r15d, r15d
cmp eax, 0xa
sete r13b
mov r14d, 1
cmove r12, r14
mov rax, qword [rsi + 0x10]
mov qword [rsp + 0x70], rax
movups xmm0, xmmword [rsi]
movaps xmmword [rsp + 0x60], xmm0
test rdi, rdi
je 0x1400c6a49
js 0x1400c6aa1
movzx eax, byte [0x141934140]
xor ecx, ecx
mov rdx, rdi
call fcn.1400e65f0
mov r14, rax
test rax, rax
je 0x1400c6aa1
mov r15b, r13b
mov rsi, qword [rsp + 0x28]
add rsi, r15
mov rcx, r14
mov rdx, rbx
mov r8, rdi
call sub.msvcrt.dll_memcpy
mov rcx, qword [rsp + 0x30]
mov qword [rcx], rdi
mov qword [rcx + 8], r14
mov qword [rcx + 0x10], rdi
mov dword [rcx + 0x18], 9
movaps xmm0, xmmword [rsp + 0x60]
movups xmmword [rcx + 0x50], xmm0
mov rax, qword [rsp + 0x70]
mov qword [rcx + 0x60], rax
mov rax, qword [rsp + 0x38]
mov qword [rcx + 0x68], rax
mov qword [rcx + 0x70], rsi
mov qword [rcx + 0x78], r12
jmp 0x1400c6863
ud2