Function at 0x1400d9c00
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, 0x138
mov r14, rdx
mov r12, rcx
mov rax, qword [rdx]
mov rdi, qword [rdx + 0x10]
lea r15, [rax + 0xa0]
mov rdx, qword [rax + 0xa0]
mov rcx, rdx
mov qword [rsp + 0x20], rdx
cmp rdx, rdi
jne 0x1400d9c9a
mov rax, qword [r15 + 0x10]
mov qword [rsp + 0x70], rax
movups xmm0, xmmword [r15]
movaps xmmword [rsp + 0x60], xmm0
mov rax, qword [r15 + 0x10]
mov qword [rsp + 0x88], rax
movups xmm0, xmmword [r15]
movups xmmword [rsp + 0x78], xmm0
mov rbx, qword [r14 + 8]
test rdi, rdi
je 0x1400da336
js 0x1400daa29
movzx eax, byte [0x141ada129]
xor ecx, ecx
mov rdx, rdi
call fcn.14014fee0
mov r14, rax
mov rsi, rdi
test rax, rax
jne 0x1400da33e
jmp 0x1400daa29
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x5c], r8d
lea rcx, [rax + 0xa8]
mov qword [rsp + 0x38], rcx
mov rcx, qword [rax + 0xa8]
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x30], rax
mov rax, qword [rax + 0xb0]
mov qword [rsp + 0x48], rax
mov rbx, qword [r14 + 8]
lea r12, [0x1419e6560]
lea rbp, [0x1419e98b0]
jmp 0x1400d9d00
test cl, 1
je 0x1400da1c5
nop word [rax + rax]
mov rcx, r14
call fcn.1400ce4f0
test al, al
je 0x1400da243
mov r13, qword [r15]
test r13, r13
je 0x1400d9d26
cmp r13, rdi
jae 0x1400d9d20
cmp byte [rbx + r13], 0xc0
jge 0x1400d9d26
jmp 0x1400daa29
jne 0x1400daa29
cmp r13, rdi
je 0x1400daa29
movzx esi, byte [rbx + r13]
mov ecx, esi
test sil, sil
jns 0x1400d9da0
mov eax, esi
and eax, 0x1f
movzx ecx, byte [rbx + r13 + 1]
and ecx, 0x3f
cmp sil, 0xdf
jbe 0x1400d9d8a
movzx edx, byte [rbx + r13 + 2]
shl ecx, 6
and edx, 0x3f
or edx, ecx
cmp sil, 0xf0
jb 0x1400d9ed3
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 0x1400d9da0
jmp 0x1400daa29
shl eax, 6
or eax, ecx
mov ecx, eax
nop word cs:[rax + rax]
cmp ecx, 0x3e
je 0x1400da246
test r13, r13
je 0x1400d9dc1
cmp r13, rdi
jae 0x1400daa29
cmp sil, 0xbf
jle 0x1400daa29
mov eax, esi
test sil, sil
jns 0x1400d9e20
mov ecx, esi
and ecx, 0x1f
movzx eax, byte [rbx + r13 + 1]
and eax, 0x3f
cmp sil, 0xdf
jbe 0x1400d9e16
movzx edx, byte [rbx + r13 + 2]
shl eax, 6
and edx, 0x3f
or edx, eax
cmp sil, 0xf0
jb 0x1400d9ee8
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 0x1400d9e20
jmp 0x1400daa29
shl ecx, 6
or ecx, eax
mov eax, ecx
nop dword [rax]
cmp r13, qword [rsp + 0x20]
jne 0x1400d9f00
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x50]
cmp qword [rcx + 0xa8], rdx
jne 0x1400d9f00
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x48]
cmp qword [rcx + 0xb0], rdx
jne 0x1400d9f00
cmp eax, 0x5f
je 0x1400d9cf0
mov ecx, eax
and ecx, 0xffffffdf
add ecx, 0xffffffbf
cmp ecx, 0x1a
jb 0x1400d9cf0
cmp eax, 0x80
jb 0x1400da1c5
mov edx, eax
shl edx, 0xb
mov r8d, 0x36
xor ecx, ecx
mov r9d, 0x36
nop word cs:[rax + rax]
shr r8, 1
add r8, rcx
mov r10d, dword [r12 + r8*4]
shl r10d, 0xb
cmp r10d, edx
je 0x1400d9f94
lea r11, [r8 + 1]
cmp r10d, edx
cmova r9, r8
cmovb rcx, r11
mov r8, r9
sub r8, rcx
ja 0x1400d9ea0
jmp 0x1400d9f9a
shl eax, 0xc
or edx, eax
mov ecx, edx
cmp ecx, 0x3e
jne 0x1400d9da9
jmp 0x1400da246
shl ecx, 0xc
or edx, ecx
mov eax, edx
cmp r13, qword [rsp + 0x20]
je 0x1400d9e2b
nop word [rax + rax]
lea ecx, [rax - 0x2e]
cmp ecx, 0x31
ja 0x1400d9f1c
movabs rdx, 0x2a00000000001
bt rdx, rcx
jb 0x1400d9cf0
mov ecx, eax
and ecx, 0xffffffdf
add ecx, 0xffffffbf
cmp ecx, 0x1a
jb 0x1400d9cf0
cmp eax, 0x80
jb 0x1400d9f83
mov ecx, eax
shl ecx, 0xb
mov r8d, 0x36
xor edx, edx
mov r9d, 0x36
nop word [rax + rax]
shr r8, 1
add r8, rdx
mov r10d, dword [r12 + r8*4]
shl r10d, 0xb
cmp r10d, ecx
je 0x1400da035
lea r11, [r8 + 1]
cmp r10d, ecx
cmova r9, r8
cmovb rdx, r11
mov r8, r9
sub r8, rdx
ja 0x1400d9f50
jmp 0x1400da03b
add eax, 0xffffffd0
cmp eax, 0xa
jb 0x1400d9cf0
jmp 0x1400da1c5
inc r8
mov rcx, r8
cmp rcx, 0x35
ja 0x1400daa29
mov edx, 0x5bb
je 0x1400d9fbe
lea r8, [r12 + rcx*4]
add r8, 4
test r8, r8
je 0x1400d9fbe
mov edx, dword [r8]
shr edx, 0x15
test rcx, rcx
je 0x1400d9fd3
mov r8d, dword [r12 + rcx*4 - 4]
mov r9d, 0x1fffff
and r8d, r9d
jmp 0x1400d9fd6
xor r8d, r8d
mov ecx, dword [r12 + rcx*4]
shr ecx, 0x15
mov r9, rcx
not r9
add r9, rdx
je 0x1400d9ce1
sub eax, r8d
dec rdx
xor r8d, r8d
nop word cs:[rax + rax]
cmp rcx, 0x5ba
ja 0x1400daa29
lea r9, [0x1419e6638]
movzx r9d, byte [rcx + r9]
add r8d, r9d
cmp r8d, eax
ja 0x1400d9ce1
inc rcx
cmp rdx, rcx
jne 0x1400da000
mov rcx, rdx
jmp 0x1400d9ce1
inc r8
mov rdx, r8
cmp rdx, 0x35
ja 0x1400daa29
mov r8d, 0x5bb
je 0x1400da061
lea r9, [r12 + rdx*4]
add r9, 4
test r9, r9
je 0x1400da061
mov r8d, dword [r9]
shr r8d, 0x15
test rdx, rdx
je 0x1400da076
mov r10d, dword [r12 + rdx*4 - 4]
mov r9d, 0x1fffff
and r10d, r9d
jmp 0x1400da079
xor r10d, r10d
mov edx, dword [r12 + rdx*4]
shr edx, 0x15
mov r9, rdx
not r9
add r9, r8
je 0x1400da0cc
mov r9d, eax
sub r9d, r10d
dec r8
xor r10d, r10d
nop word [rax + rax]
cmp rdx, 0x5ba
ja 0x1400daa29
lea r11, [0x1419e6638]
movzx r11d, byte [rdx + r11]
add r10d, r11d
cmp r10d, r9d
ja 0x1400da0cc
inc rdx
cmp r8, rdx
jne 0x1400da0a0
mov rdx, r8
test dl, 1
jne 0x1400d9cf0
mov r8d, 0x27
xor edx, edx
mov r9d, 0x27
nop word cs:[rax + rax]
shr r8, 1
add r8, rdx
mov r10d, dword [rbp + r8*4]
shl r10d, 0xb
cmp r10d, ecx
je 0x1400da11d
lea r11, [r8 + 1]
cmp r10d, ecx
cmova r9, r8
cmovb rdx, r11
mov r8, r9
sub r8, rdx
ja 0x1400da0f0
jmp 0x1400da123
inc r8
mov rdx, r8
cmp rdx, 0x26
ja 0x1400daa29
mov ecx, 0x113
je 0x1400da14a
lea r8, [rdx*4 + 4]
add r8, rbp
test r8, r8
je 0x1400da14a
mov ecx, dword [r8]
shr ecx, 0x15
test rdx, rdx
je 0x1400da162
mov r10, rbp
mov r8d, dword [rbp + rdx*4 - 4]
mov r9d, 0x1fffff
and r8d, r9d
jmp 0x1400da168
xor r8d, r8d
mov r10, rbp
mov edx, dword [r10 + rdx*4]
shr edx, 0x15
mov r9, rdx
not r9
add r9, rcx
je 0x1400da1bc
sub eax, r8d
dec rcx
xor r8d, r8d
nop word cs:[rax + rax]
cmp rdx, 0x112
ja 0x1400daa29
lea r9, [0x1419e994c]
movzx r9d, byte [rdx + r9]
add r8d, r9d
cmp r8d, eax
ja 0x1400da1bc
inc rdx
cmp rcx, rdx
jne 0x1400da190
mov rdx, rcx
test dl, 1
jne 0x1400d9cf0
test r13, r13
je 0x1400da1dd
cmp r13, rdi
jae 0x1400daa29
cmp sil, 0xbf
jle 0x1400daa29
mov r9d, 1
test sil, sil
jns 0x1400da940
mov eax, esi
and eax, 0x1f
movzx ecx, byte [rbx + r13 + 1]
and ecx, 0x3f
cmp sil, 0xe0
jb 0x1400da90a
movzx edx, byte [rbx + r13 + 2]
shl ecx, 6
and edx, 0x3f
or edx, ecx
cmp sil, 0xf0
jb 0x1400da913
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 0x1400da91a
jmp 0x1400daa29
mov r13, qword [r15]
mov rax, qword [rsp + 0x38]
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0xe0], xmm0
cmp r13, rdi
jne 0x1400da2bb
mov rax, qword [r15 + 0x10]
mov qword [rsp + 0x70], rax
movups xmm0, xmmword [r15]
movaps xmmword [rsp + 0x60], xmm0
movups xmm0, xmmword [r15]
movups xmmword [rsp + 0x78], xmm0
mov rax, qword [r15 + 0x10]
mov qword [rsp + 0x88], rax
test rdi, rdi
je case.0x1400c8d86.501
mov r15, qword [rsp + 0x28]
js 0x1400daa29
movzx eax, byte [0x141ada129]
xor ecx, ecx
mov rdx, rdi
call fcn.14014fee0
mov r14, rax
mov rsi, rdi
test rax, rax
jne 0x1400da3c9
jmp 0x1400daa29
test r13, r13
je 0x1400da2d4
cmp r13, rdi
jae 0x1400daa29
cmp byte [rbx + r13], 0xc0
jl 0x1400daa29
movzx eax, byte [rbx + r13]
test al, al
jns case.0x1400c991c.508
mov ecx, eax
and ecx, 0x1f
movzx r8d, byte [rbx + r13 + 1]
and r8d, 0x3f
cmp al, 0xdf
jbe 0x1400da440
movzx edx, byte [rbx + r13 + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp al, 0xf0
jb 0x1400da7b7
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 case.0x1400c991c.508
jmp 0x1400daa29
mov r14d, 1
xor esi, esi
mov rcx, r14
mov rdx, rbx
mov r8, rdi
call sub.msvcrt.dll_memcpy
movaps xmm0, xmmword [rsp + 0x60]
movaps xmm1, xmmword [rsp + 0x70]
movaps xmm2, xmmword [rsp + 0x80]
movaps xmmword [rsp + 0xa0], xmm0
movaps xmmword [rsp + 0xb0], xmm1
movaps xmmword [rsp + 0xc0], xmm2
mov qword [r12], rsi
mov qword [r12 + 8], r14
mov qword [r12 + 0x10], rdi
mov dword [r12 + 0x18], 0x14
movaps xmm0, xmmword [rsp + 0xa0]
movaps xmm1, xmmword [rsp + 0xb0]
movaps xmm2, xmmword [rsp + 0xc0]
movups xmmword [r12 + 0x50], xmm0
movups xmmword [r12 + 0x60], xmm1
movups xmmword [r12 + 0x70], xmm2
jmp 0x1400daaa9
shl ecx, 6
or ecx, r8d
mov eax, ecx
shl ecx, 0xc
or edx, ecx
mov eax, edx
cmp eax, 0x3e
je 0x1400da451
jmp 0x1400daa29
shl eax, 6
or eax, ecx
mov ecx, eax
jmp 0x1400da91a
shl eax, 0xc
or edx, eax
mov ecx, edx
cmp ecx, 0x80
jb 0x1400da940