Function at 0x1400d0c60
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, 0x1b8
mov qword [rsp + 0x40], rcx
mov r14, qword [rdx]
lea r11, [r14 + 0xa0]
mov rax, qword [r14 + 0xb0]
mov qword [rsp + 0xf8], rax
movups xmm0, xmmword [r14 + 0xa0]
movups xmmword [rsp + 0xe8], xmm0
mov rax, qword [r14 + 0xb0]
mov qword [rsp + 0xe0], rax
movups xmm0, xmmword [r14 + 0xa0]
movups xmmword [rsp + 0xa0], xmm0
mov rax, qword [rsp + 0xf0]
mov qword [rsp + 0xc0], rax
mov rax, qword [rsp + 0xf8]
mov qword [rsp + 0xc8], rax
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0xb0], rax
mov rax, qword [rsp + 0xe8]
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0x88], 0
mov qword [rsp + 0x90], 8
mov qword [rsp + 0x98], 0
mov rdi, qword [rdx + 8]
mov qword [rsp + 0x80], rdx
mov rbx, qword [rdx + 0x10]
mov esi, 8
xor r12d, r12d
xor eax, eax
mov qword [rsp + 0x30], rax
xor eax, eax
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], r11
mov qword [rsp + 0x78], r14
mov rax, qword [r11]
mov rcx, rbx
mov rdx, rdi
test rax, rax
je 0x1400d0d86
mov rcx, rbx
sub rcx, rax
jbe 0x1400d1dc3
cmp byte [rdi + rax], 0xc0
jl 0x1400d1dc3
lea rdx, [rdi + rax]
test rcx, rcx
je 0x1400d1dc3
movzx ecx, byte [rdx]
test cl, cl
jns 0x1400d0e00
mov r8d, ecx
and r8d, 0x1f
movzx r10d, byte [rdx + 1]
and r10d, 0x3f
cmp cl, 0xdf
jbe 0x1400d0dea
movzx r9d, byte [rdx + 2]
shl r10d, 6
and r9d, 0x3f
or r9d, r10d
cmp cl, 0xf0
jb 0x1400d1094
movzx ecx, byte [rdx + 3]
and r8d, 7
shl r8d, 0x12
shl r9d, 6
and ecx, 0x3f
or ecx, r9d
or ecx, r8d
cmp ecx, 0x110000
jne 0x1400d0e00
jmp 0x1400d1dc3
shl r8d, 6
or r8d, r10d
mov ecx, r8d
nop word cs:[rax + rax]
cmp ecx, 0x3a
je 0x1400d189a
mov rcx, rbx
mov rdx, rdi
test rax, rax
je 0x1400d0e2e
mov rcx, rbx
sub rcx, rax
jbe 0x1400d1dc3
cmp byte [rdi + rax], 0xc0
jl 0x1400d1dc3
lea rdx, [rdi + rax]
test rcx, rcx
je 0x1400d1dc3
movzx ecx, byte [rdx]
test cl, cl
jns 0x1400d0ea0
mov r8d, ecx
and r8d, 0x1f
movzx r10d, byte [rdx + 1]
and r10d, 0x3f
cmp cl, 0xdf
jbe 0x1400d0e92
movzx r9d, byte [rdx + 2]
shl r10d, 6
and r9d, 0x3f
or r9d, r10d
cmp cl, 0xf0
jb 0x1400d10ac
movzx ecx, byte [rdx + 3]
and r8d, 7
shl r8d, 0x12
shl r9d, 6
and ecx, 0x3f
or ecx, r9d
or ecx, r8d
cmp ecx, 0x110000
jne 0x1400d0ea0
jmp 0x1400d1dc3
shl r8d, 6
or r8d, r10d
mov ecx, r8d
nop dword [rax]
cmp ecx, 0x29
je 0x1400d189a
mov rcx, rbx
mov rdx, rdi
test rax, rax
je 0x1400d0ece
mov rcx, rbx
sub rcx, rax
jbe 0x1400d1dc3
cmp byte [rdi + rax], 0xc0
jl 0x1400d1dc3
lea rdx, [rdi + rax]
test rcx, rcx
je 0x1400d1dc3
movzx ecx, byte [rdx]
test cl, cl
jns 0x1400d0f40
mov r8d, ecx
and r8d, 0x1f
movzx r10d, byte [rdx + 1]
and r10d, 0x3f
cmp cl, 0xdf
jbe 0x1400d0fe3
movzx r9d, byte [rdx + 2]
shl r10d, 6
and r9d, 0x3f
or r9d, r10d
cmp cl, 0xf0
jb 0x1400d10c4
movzx ecx, byte [rdx + 3]
and r8d, 7
shl r8d, 0x12
shl r9d, 6
and ecx, 0x3f
or ecx, r9d
or ecx, r8d
cmp ecx, 0x110000
je 0x1400d1dc3
nop word cs:[rax + rax]
mov rdx, rbx
cmp ecx, 0x2d
jne 0x1400d1000
mov rcx, rdi
test rax, rax
je 0x1400d0f6e
mov rdx, rbx
sub rdx, rax
jbe 0x1400d1dc3
cmp byte [rdi + rax], 0xc0
jl 0x1400d1dc3
lea rcx, [rdi + rax]
test rdx, rdx
je 0x1400d1dc3
movzx r9d, byte [rcx]
mov edx, 1
test r9b, r9b
jns 0x1400d1150
mov edx, r9d
and edx, 0x1f
movzx r10d, byte [rcx + 1]
and r10d, 0x3f
cmp r9b, 0xe0
jb 0x1400d10df
movzx r8d, byte [rcx + 2]
shl r10d, 6
and r8d, 0x3f
or r8d, r10d
cmp r9b, 0xf0
jb 0x1400d110f
movzx ecx, byte [rcx + 3]
and edx, 7
shl edx, 0x12
shl r8d, 6
and ecx, 0x3f
or ecx, r8d
or ecx, edx
cmp ecx, 0x110000
jne 0x1400d10e7
jmp 0x1400d1dc3
shl r8d, 6
or r8d, r10d
mov ecx, r8d
mov rdx, rbx
cmp ecx, 0x2d
je 0x1400d0f4c
nop dword [rax]
mov rcx, rdi
test rax, rax
je 0x1400d1022
mov rdx, rbx
sub rdx, rax
jbe 0x1400d1dc3
cmp byte [rdi + rax], 0xc0
jl 0x1400d1dc3
lea rcx, [rdi + rax]
test rdx, rdx
je 0x1400d1dc3
movzx r9d, byte [rcx]
mov r15d, 1
test r9b, r9b
jns 0x1400d1250
mov edx, r9d
and edx, 0x1f
movzx r10d, byte [rcx + 1]
and r10d, 0x3f
cmp r9b, 0xe0
jb 0x1400d10f6
movzx r8d, byte [rcx + 2]
shl r10d, 6
and r8d, 0x3f
or r8d, r10d
cmp r9b, 0xf0
jb 0x1400d1218
movzx ecx, byte [rcx + 3]
and edx, 7
shl edx, 0x12
shl r8d, 6
and ecx, 0x3f
or ecx, r8d
or ecx, edx
cmp ecx, 0x110000
jne 0x1400d10fe
jmp 0x1400d1dc3
shl r8d, 0xc
or r9d, r8d
mov ecx, r9d
cmp ecx, 0x3a
jne 0x1400d0e09
jmp 0x1400d189a
shl r8d, 0xc
or r9d, r8d
mov ecx, r9d
cmp ecx, 0x29
jne 0x1400d0ea9
jmp 0x1400d189a
shl r8d, 0xc
or r9d, r8d
mov ecx, r9d
mov rdx, rbx
cmp ecx, 0x2d
je 0x1400d0f4c
jmp 0x1400d1000
shl edx, 6
or edx, r10d
mov ecx, edx
cmp ecx, 0x80
mov edx, 1
jae 0x1400d1125
jmp 0x1400d1150
shl edx, 6
or edx, r10d
mov ecx, edx
cmp ecx, 0x80
jae 0x1400d1229
jmp 0x1400d1250
shl edx, 0xc
or r8d, edx
mov ecx, r8d
cmp ecx, 0x80
mov edx, 1
jb 0x1400d1150
mov edx, 2
cmp ecx, 0x800
jb 0x1400d1150
cmp ecx, 0x10000
mov edx, 4
sbb rdx, 0
nop word cs:[rax + rax]
add rdx, rax
jb 0x1400d1dc3
mov qword [rsp + 0x158], rdx
mov rbp, qword [r14 + 0xb0]
inc rbp
je 0x1400d1dc3
mov rsi, qword [r14 + 0xa8]
mov rcx, rbx
mov rdx, rdi
test rax, rax
je 0x1400d119d
mov rcx, rbx
sub rcx, rax
jbe 0x1400d1dc3
cmp byte [rdi + rax], 0xc0
jl 0x1400d1dc3
lea rdx, [rdi + rax]
test rcx, rcx
je 0x1400d1dc3
movzx ecx, byte [rdx]
test cl, cl
jns 0x1400d1320
mov r8d, ecx
and r8d, 0x1f
movzx r10d, byte [rdx + 1]
and r10d, 0x3f
cmp cl, 0xdf
jbe 0x1400d1209
movzx r9d, byte [rdx + 2]
shl r10d, 6
and r9d, 0x3f
or r9d, r10d
cmp cl, 0xf0
jb 0x1400d130a
movzx ecx, byte [rdx + 3]
and r8d, 7
shl r8d, 0x12
shl r9d, 6
and ecx, 0x3f
or ecx, r9d
or ecx, r8d
cmp ecx, 0x110000
jne 0x1400d1320
jmp 0x1400d1dc3
shl r8d, 6
or r8d, r10d
mov ecx, r8d
jmp 0x1400d1320
shl edx, 0xc
or r8d, edx
mov ecx, r8d
cmp ecx, 0x80
jb 0x1400d1250
mov r15d, 2
cmp ecx, 0x800
jb 0x1400d1250
cmp ecx, 0x10000
mov r15d, 4
sbb r15, 0
nop word [rax + rax]
add r15, rax
jb 0x1400d1dc3
mov r13, qword [r14 + 0xb0]
inc r13
je 0x1400d1dc3
mov r14, qword [r14 + 0xa8]
mov rdx, rbx
mov rcx, rdi
test rax, rax
je 0x1400d1297
mov rdx, rbx
sub rdx, rax
jbe 0x1400d1dc3
cmp byte [rdi + rax], 0xc0
jl 0x1400d1dc3
add rax, rdi
mov rcx, rax
test rdx, rdx
je 0x1400d1dc3
movzx ebp, byte [rcx]
test bpl, bpl
jns 0x1400d1410
mov eax, ebp
and eax, 0x1f
movzx r8d, byte [rcx + 1]
and r8d, 0x3f
cmp bpl, 0xdf
jbe 0x1400d12fd
movzx edx, byte [rcx + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp bpl, 0xf0
jb 0x1400d1403
movzx ebp, byte [rcx + 3]
and eax, 7
shl eax, 0x12
shl edx, 6
and ebp, 0x3f
or ebp, edx
or ebp, eax
cmp ebp, 0x110000
jne 0x1400d1410
jmp 0x1400d1dc3
shl eax, 6
or eax, r8d
mov ebp, eax
jmp 0x1400d1410
shl r8d, 0xc
or r9d, r8d
mov ecx, r9d
nop word cs:[rax + rax]
xor r10d, r10d
cmp ecx, 0xa
mov r14, rbp
mov ecx, 1
cmove r14, rcx
sete r13b
mov rcx, qword [r11 + 0x10]
mov qword [rsp + 0x170], rcx
movups xmm0, xmmword [r11]
movaps xmmword [rsp + 0x160], xmm0
mov rdx, rbx
mov rcx, rdi
test rax, rax
je 0x1400d1373
mov rdx, rbx
sub rdx, rax
jbe 0x1400d1dc3
cmp byte [rdi + rax], 0xc0
jl 0x1400d1dc3
lea rcx, [rdi + rax]
test rdx, rdx
je 0x1400d1dc3
movzx r9d, byte [rcx]
mov r15d, 1
test r9b, r9b
jns 0x1400d1550
mov edx, r9d
and edx, 0x1f
movzx r10d, byte [rcx + 1]
and r10d, 0x3f
cmp r9b, 0xe0
jb 0x1400d13e7
movzx r8d, byte [rcx + 2]
shl r10d, 6
and r8d, 0x3f
or r8d, r10d
cmp r9b, 0xf0
jb 0x1400d1518
movzx ecx, byte [rcx + 3]
and edx, 7
shl edx, 0x12
shl r8d, 6
and ecx, 0x3f
or ecx, r8d
or ecx, edx
cmp ecx, 0x110000
mov r10d, 0
jne 0x1400d13f2
jmp 0x1400d1dc3
shl edx, 6
or edx, r10d
mov ecx, edx
xor r10d, r10d
cmp ecx, 0x80
jae 0x1400d152c
jmp 0x1400d1550
shl eax, 0xc
or edx, eax
mov ebp, edx
nop word [rax + rax]
mov rax, qword [r11 + 0x10]
mov qword [rsp + 0x60], rax
movups xmm0, xmmword [r11]
movaps xmmword [rsp + 0x50], xmm0
lea rcx, [rsp + 0xd0]
mov rdx, qword [rsp + 0x80]
call fcn.1400d2d30
mov rax, qword [rsp + 0xd0]
movabs rcx, 0x8000000000000000
cmp rax, rcx
jne 0x1400d19d2
xor edi, edi
cmp ebp, 0xa
sete bl
mov eax, 1
cmove r13, rax
movzx ebp, byte [rsp + 0xd8]
movaps xmm0, xmmword [rsp + 0x50]
movaps xmmword [rsp + 0x1a0], xmm0
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x1b0], rax
cmp qword [rsp + 0x30], 0
mov r11, qword [rsp + 0x20]
je 0x1400d14b7
xor ecx, ecx
xor eax, eax
nop word cs:[rax + rax]
cmp byte [rsi + rcx + 0x30], bpl
je 0x1400d17e5
inc rax
add rcx, 0x38
cmp r12, rcx
jne 0x1400d14a0
mov r8, qword [rsp + 0x30]
cmp r8, qword [rsp + 0x88]
jne 0x1400d14e0
lea rcx, [rsp + 0x88]
call fcn.1400dbd10
mov r8, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x90]
mov dil, bl
add r14, rdi
imul rcx, r8, 0x38
lea rax, [rsi + rcx]
mov rdx, qword [rsp + 0x1b0]
mov qword [rsi + rcx + 0x10], rdx
movaps xmm0, xmmword [rsp + 0x1a0]
movups xmmword [rsi + rcx], xmm0
xor ecx, ecx
mov qword [rsp + 0x48], rcx
mov rbx, qword [rsp + 0x38]
jmp 0x1400d16e5
shl edx, 0xc
or r8d, edx
mov ecx, r8d
xor r10d, r10d
cmp ecx, 0x80
jb 0x1400d1550
mov r15d, 2
cmp ecx, 0x800
jb 0x1400d1550
cmp ecx, 0x10000
mov r15d, 4
sbb r15, 0
nop word [rax + rax]
add r15, rax
jb 0x1400d1dc3
mov rcx, rbx
mov rdx, rdi
test rax, rax
je 0x1400d157e
mov rcx, rbx
sub rcx, rax
jbe 0x1400d1dc3
cmp byte [rdi + rax], 0xc0
jl 0x1400d1dc3
lea rdx, [rdi + rax]
test rcx, rcx
je 0x1400d1dc3
movzx ecx, byte [rdx]
test cl, cl
jns 0x1400d15fd
mov r8d, ecx
and r8d, 0x1f
movzx r10d, byte [rdx + 1]
and r10d, 0x3f
cmp cl, 0xdf
jbe 0x1400d15e4
movzx r9d, byte [rdx + 2]
shl r10d, 6
and r9d, 0x3f
or r9d, r10d
cmp cl, 0xf0
jb 0x1400d15f0
movzx ecx, byte [rdx + 3]
and r8d, 7
shl r8d, 0x12
shl r9d, 6
and ecx, 0x3f
or ecx, r9d
or ecx, r8d
cmp ecx, 0x110000
mov r10d, 0
jne 0x1400d15fd
jmp 0x1400d1dc3
shl r8d, 6
or r8d, r10d
mov ecx, r8d
jmp 0x1400d15fa
shl r8d, 0xc
or r9d, r8d
mov ecx, r9d
xor r10d, r10d
mov rdx, rbp
mov ebp, r13d
mov qword [rsp + 0x70], r14
mov qword [rsp + 0x48], rsi
xor r14d, r14d
cmp ecx, 0xa
sete dil
mov r8, r11
mov r13, rdx
mov ecx, 1
cmove r13, rcx
mov rcx, qword [r11 + 0x10]
mov qword [rsp + 0x190], rcx
movups xmm0, xmmword [r11]
movaps xmmword [rsp + 0x180], xmm0
mov rsi, qword [rsp + 0x90]
mov r8, qword [rsp + 0x30]
test r8, r8
je 0x1400d1677
mov r11, rdx
xor ecx, ecx
xor edx, edx
nop word [rax + rax]
cmp byte [rsi + rcx + 0x30], 7
je 0x1400d1791
inc rdx
add rcx, 0x38
cmp r12, rcx
jne 0x1400d1660
cmp r8, qword [rsp + 0x88]
jne 0x1400d169e
lea rcx, [rsp + 0x88]
call fcn.1400dbd10
xor r10d, r10d
mov r8, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x90]
mov r10b, bpl
mov rax, qword [rsp + 0x48]
add r10, rax
mov qword [rsp + 0x150], r10
mov r14b, dil
add r14, rax
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 ecx, 1
mov qword [rsp + 0x48], rcx
mov bpl, 7
mov qword [rax + 0x18], r15
mov qword [rax + 0x20], r14
mov qword [rax + 0x28], r13
mov byte [rax + 0x30], bpl
inc r8
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x98], r8
mov rcx, qword [rsp + 0x80]
call fcn.1400c6aa0
add r12, 0x38
test al, al
mov rdi, qword [rsp + 0x28]
mov r11, qword [rsp + 0x20]
mov r14, qword [rsp + 0x78]
jne 0x1400d0d5e
mov rax, qword [r11 + 0x10]
mov qword [rsp + 0xf8], rax
movups xmm0, xmmword [r11]
movups xmmword [rsp + 0xe8], xmm0
movups xmm0, xmmword [r11]
movaps xmmword [rsp + 0xd0], xmm0
mov rax, qword [r11 + 0x10]
mov qword [rsp + 0xe0], rax
test rbx, rbx
je 0x1400d1ee7
js 0x1400d1dc3
movzx eax, byte [0x141af8129]
xor ecx, ecx
mov rdx, rbx
call fcn.140146820
mov r14, rax
mov rsi, rbx
test rax, rax
jne 0x1400d1eef
jmp 0x1400d1dc3
mov r9, rbx
mov r10, qword [rsp + 0x28]
mov r8, r10
test rax, rax
mov r13, r11
je 0x1400d17bf
mov r9, rbx
sub r9, rax
jbe 0x1400d1dc3
cmp byte [r10 + rax], 0xc0
jl 0x1400d1dc3
lea r8, [r10 + rax]
test r9, r9
je 0x1400d1dc3
movzx r11d, byte [r8]
mov r15d, 1
test r11b, r11b
js 0x1400d18df
mov r11, qword [rsp + 0x20]
jmp 0x1400d1a8f
mov rcx, qword [r11]
mov rbx, qword [rsp + 0x38]
mov r8, rbx
mov rdi, qword [rsp + 0x28]
mov rdx, rdi
test rcx, rcx
mov r14, qword [rsp + 0x78]
je 0x1400d181c
mov r8, rbx
sub r8, rcx
jbe 0x1400d1dc3
cmp byte [rdi + rcx], 0xc0
jl 0x1400d1dc3
lea rdx, [rdi + rcx]
test r8, r8
je 0x1400d1dc3
movzx r10d, byte [rdx]
mov esi, 1
test r10b, r10b
jns 0x1400d1c85
mov r8d, r10d
and r8d, 0x1f
movzx r11d, byte [rdx + 1]
and r11d, 0x3f
cmp r10b, 0xe0
jb 0x1400d19b2
movzx r9d, byte [rdx + 2]
shl r11d, 6
and r9d, 0x3f
or r9d, r11d
cmp r10b, 0xf0
jb 0x1400d1c52
movzx edx, byte [rdx + 3]
and r8d, 7
shl r8d, 0x12
shl r9d, 6
and edx, 0x3f
or edx, r9d
or edx, r8d
cmp edx, 0x110000
mov r11, qword [rsp + 0x20]
jne 0x1400d19c1
jmp 0x1400d1dc3
cmp qword [rsp + 0x48], 1
jne 0x1400d1948
test rbx, rbx
je 0x1400d1e7b
mov r14, qword [rsp + 0x70]
js 0x1400d1dc3
movzx eax, byte [0x141af8129]
xor ecx, ecx
mov rdx, rbx
call fcn.140146820
mov rsi, rax
mov rdi, rbx
test rax, rax
jne 0x1400d1e87
jmp 0x1400d1dc3
mov r9d, r11d
and r9d, 0x1f
movzx edi, byte [r8 + 1]
and edi, 0x3f
cmp r11b, 0xe0
jb 0x1400d19a3
movzx r10d, byte [r8 + 2]
shl edi, 6
and r10d, 0x3f
or r10d, edi
cmp r11b, 0xf0
jb 0x1400d1a52
movzx r8d, byte [r8 + 3]
and r9d, 7
shl r9d, 0x12
shl r10d, 6
and r8d, 0x3f
or r8d, r10d
or r8d, r9d
cmp r8d, 0x110000
mov r10, qword [rsp + 0x28]
mov r11, qword [rsp + 0x20]
jne 0x1400d1a66
jmp 0x1400d1dc3
mov rax, qword [r11 + 0x10]
mov qword [rsp + 0xc8], rax
movups xmm0, xmmword [r11]
movups xmmword [rsp + 0xb8], xmm0
mov rcx, qword [rsp + 0x40]
mov qword [rcx + 0x48], rax
movups xmmword [rcx + 0x38], xmm0
movups xmm0, xmmword [rsp + 0x88]
movups xmm1, xmmword [rsp + 0x98]
movups xmm2, xmmword [rsp + 0xa8]
movups xmmword [rcx + 0x28], xmm2
movups xmmword [rcx + 0x18], xmm1
movups xmmword [rcx + 8], xmm0
movabs rax, 0x8000000000000000
mov qword [rcx], rax
jmp 0x1400d1e66
shl r9d, 6
or r9d, edi
mov r8d, r9d
jmp 0x1400d1a5c
shl r8d, 6
or r8d, r11d
mov edx, r8d
mov r11, qword [rsp + 0x20]
cmp edx, 0x80
jae 0x1400d1c69
jmp 0x1400d1c85
movzx ecx, byte [rsp + 0xd8]
mov rdx, qword [rsp + 0x148]
mov r8, qword [rsp + 0x40]
mov qword [r8 + 0x78], rdx
movups xmm0, xmmword [rsp + 0x139]
movups xmmword [r8 + 0x69], xmm0
movups xmm0, xmmword [rsp + 0x129]
movups xmmword [r8 + 0x59], xmm0
movups xmm0, xmmword [rsp + 0x119]
movups xmmword [r8 + 0x49], xmm0
movups xmm0, xmmword [rsp + 0x109]
movups xmmword [r8 + 0x39], xmm0
movups xmm0, xmmword [rsp + 0xf9]
movups xmmword [r8 + 0x29], xmm0
movups xmm0, xmmword [rsp + 0xe9]
movups xmmword [r8 + 0x19], xmm0
movups xmm0, xmmword [rsp + 0xd9]
movups xmmword [r8 + 9], xmm0
mov qword [r8], rax
mov byte [r8 + 8], cl
jmp 0x1400d1e45
shl r9d, 0xc
or r10d, r9d
mov r8d, r10d
mov r10, qword [rsp + 0x28]
mov r11, qword [rsp + 0x20]
cmp r8d, 0x80
jb 0x1400d1a8f
mov r15d, 2
cmp r8d, 0x800
jb 0x1400d1a8f
cmp r8d, 0x10000
mov r15d, 4
sbb r15, 0
add r15, rax
jb 0x1400d1dc3
mov r8, rbx
mov r9, r10
test rax, rax
je 0x1400d1ac0
mov r8, rbx
sub r8, rax
jbe 0x1400d1dc3
cmp byte [r10 + rax], 0xc0
jl 0x1400d1dc3
add rax, r10
mov r9, rax
test r8, r8
je 0x1400d1dc3
movzx eax, byte [r9]
test al, al
jns 0x1400d1b3f
mov r8d, eax
and r8d, 0x1f
movzx r11d, byte [r9 + 1]
and r11d, 0x3f
cmp al, 0xdf
jbe 0x1400d1b24
movzx r10d, byte [r9 + 2]
shl r11d, 6
and r10d, 0x3f
or r10d, r11d
cmp al, 0xf0
jb 0x1400d1b30
movzx eax, byte [r9 + 3]
and r8d, 7
shl r8d, 0x12
shl r10d, 6
and eax, 0x3f
or eax, r10d
or eax, r8d
cmp eax, 0x110000
mov r11, qword [rsp + 0x20]
jne 0x1400d1b3f
jmp 0x1400d1dc3
shl r8d, 6
or r8d, r11d
mov eax, r8d
jmp 0x1400d1b3a
shl r8d, 0xc
or r10d, r8d
mov eax, r10d
mov r11, qword [rsp + 0x20]
xor edi, edi
cmp eax, 0xa
sete bl
mov r14d, 1
cmove r13, r14
mov rax, qword [r11 + 0x10]
mov qword [rsp + 0x60], rax
movups xmm0, xmmword [r11]
movaps xmmword [rsp + 0x50], xmm0
cmp rdx, qword [rsp + 0x30]
jae 0x1400d1dc3
movups xmm0, xmmword [rsi + rcx]
movups xmm1, xmmword [rsi + rcx + 0x10]
movups xmm2, xmmword [rsi + rcx + 0x20]
movups xmmword [rsp + 0xf4], xmm2
movups xmmword [rsp + 0xe4], xmm1
movups xmmword [rsp + 0xd4], xmm0
cmp qword [rsp + 0x38], 0
je 0x1400d1bc8
mov r12, qword [rsp + 0x38]
js 0x1400d1dc3
movzx eax, byte [0x141af8129]
xor ecx, ecx
mov rdx, r12
call fcn.140146820
mov r14, rax
mov rsi, r12
test rax, rax
jne 0x1400d1bcf
jmp 0x1400d1dc3
xor esi, esi
mov r12, qword [rsp + 0x38]
mov dil, bl
mov rbx, qword [rsp + 0x48]
add rbx, rdi
mov rcx, r14
mov rdx, qword [rsp + 0x28]
mov r8, r12
call sub.msvcrt.dll_memcpy
movups xmm0, xmmword [rsp + 0xd0]
movups xmm1, xmmword [rsp + 0xe0]
movups xmm2, xmmword [rsp + 0xf0]
mov rcx, qword [rsp + 0x40]
movups xmmword [rcx + 0x1c], xmm0
movups xmmword [rcx + 0x2c], xmm1
movups xmmword [rcx + 0x3c], xmm2
mov eax, dword [rsp + 0x100]
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], rsi
mov qword [rcx + 8], r14
mov qword [rcx + 0x10], r12
mov dword [rcx + 0x18], 0xe
mov qword [rcx + 0x68], r15
mov qword [rcx + 0x70], rbx
mov qword [rcx + 0x78], r13
jmp 0x1400d1e45
shl r8d, 0xc
or r9d, r8d
mov edx, r9d
mov r11, qword [rsp + 0x20]
cmp edx, 0x80
jb 0x1400d1c85
mov esi, 2
cmp edx, 0x800
jb 0x1400d1c85
cmp edx, 0x10000
mov esi, 4
sbb rsi, 0
add rsi, rcx
jb 0x1400d1dc3
mov r15, qword [r14 + 0xb0]
inc r15
je 0x1400d1dc3
mov r12, qword [r14 + 0xa8]
mov rdx, rbx
mov r8, rdi
test rcx, rcx
je 0x1400d1ccc
mov rdx, rbx
sub rdx, rcx
jbe 0x1400d1dc3
cmp byte [rdi + rcx], 0xc0
jl 0x1400d1dc3
add rcx, rdi
mov r8, rcx
test rdx, rdx
je 0x1400d1dc3
movzx ecx, byte [r8]
test cl, cl
jns 0x1400d1d3c
mov edx, ecx
and edx, 0x1f
movzx r10d, byte [r8 + 1]
and r10d, 0x3f
cmp cl, 0xdf
jbe 0x1400d1d29
movzx r9d, byte [r8 + 2]
shl r10d, 6
and r9d, 0x3f
or r9d, r10d
cmp cl, 0xf0
jb 0x1400d1d33
movzx ecx, byte [r8 + 3]
and edx, 7
shl edx, 0x12
shl r9d, 6
and ecx, 0x3f
or ecx, r9d
or ecx, edx
cmp ecx, 0x110000
jne 0x1400d1d3c
jmp 0x1400d1dc3
shl edx, 6
or edx, r10d
mov ecx, edx
jmp 0x1400d1d3c
shl edx, 0xc
or r9d, edx
mov ecx, r9d
xor r13d, r13d
cmp ecx, 0xa
sete dil
mov r14d, 1
cmove r15, r14
mov rcx, qword [r11 + 0x10]
mov qword [rsp + 0x60], rcx
movups xmm0, xmmword [r11]
movaps xmmword [rsp + 0x50], xmm0
cmp rax, qword [rsp + 0x30]
jae 0x1400d1dc3
mov rcx, qword [rsp + 0x90]
imul rax, rax, 0x38
movups xmm0, xmmword [rcx + rax]
movups xmm1, xmmword [rcx + rax + 0x10]
movups xmm2, xmmword [rcx + rax + 0x20]
movups xmmword [rsp + 0xd4], xmm0
movups xmmword [rsp + 0xe4], xmm1
movups xmmword [rsp + 0xf4], xmm2
test rbx, rbx
je 0x1400d1dc5
mov rbp, qword [rsp + 0x38]
js 0x1400d1dc3
movzx eax, byte [0x141af8129]
xor ecx, ecx
mov rdx, rbp
call fcn.140146820
mov r14, rax
mov rbx, rbp
test rax, rax
jne 0x1400d1dcc
ud2
xor ebx, ebx
mov rbp, qword [rsp + 0x38]
mov r13b, dil
add r12, r13
mov rcx, r14
mov rdx, qword [rsp + 0x28]
mov r8, rbp
call sub.msvcrt.dll_memcpy
movups xmm0, xmmword [rsp + 0xd0]
movups xmm1, xmmword [rsp + 0xe0]
movups xmm2, xmmword [rsp + 0xf0]
mov rcx, qword [rsp + 0x40]
movups xmmword [rcx + 0x1c], xmm0
movups xmmword [rcx + 0x2c], xmm1
movups xmmword [rcx + 0x3c], xmm2
mov eax, dword [rsp + 0x100]
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], rbx
mov qword [rcx + 8], r14
mov qword [rcx + 0x10], rbp
mov dword [rcx + 0x18], 0xd
mov qword [rcx + 0x68], rsi
mov qword [rcx + 0x70], r12
mov qword [rcx + 0x78], r15
cmp qword [rsp + 0x88], 0
je 0x1400d1e66
mov r8, qword [rsp + 0x90]
mov rcx, qword [0x141af8068]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
nop
add rsp, 0x1b8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov esi, 1
xor edi, edi
mov r14, qword [rsp + 0x70]
mov rcx, rsi
mov rdx, qword [rsp + 0x28]
mov r8, rbx
call sub.msvcrt.dll_memcpy
movaps xmm0, xmmword [rsp + 0x160]
mov rcx, qword [rsp + 0x40]
movups xmmword [rcx + 0x50], xmm0
mov rax, qword [rsp + 0x170]
mov qword [rcx + 0x60], rax
mov qword [rcx], rdi
mov qword [rcx + 8], rsi
mov qword [rcx + 0x10], rbx
mov dword [rcx + 0x18], 0xc
mov rax, qword [rsp + 0x158]
mov qword [rcx + 0x68], rax
mov rax, qword [rsp + 0x150]
mov qword [rcx + 0x70], rax
mov qword [rcx + 0x78], r14
jmp 0x1400d1e45
mov r14d, 1
xor esi, esi
mov rcx, r14
mov rdx, rdi
mov r8, rbx
call sub.msvcrt.dll_memcpy
movaps xmm0, xmmword [rsp + 0xd0]
movaps xmm1, xmmword [rsp + 0xe0]
movaps xmm2, xmmword [rsp + 0xf0]
mov rax, qword [rsp + 0x40]
movups xmmword [rax + 0x50], xmm0
movups xmmword [rax + 0x60], xmm1
movups xmmword [rax + 0x70], xmm2
mov qword [rax], rsi
mov qword [rax + 8], r14
mov qword [rax + 0x10], rbx
mov dword [rax + 0x18], 0xf
jmp 0x1400d1e45