Function at 0x1400d1f40
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, 0xf8
mov r14, rdx
mov rdi, rcx
mov rax, qword [rdx]
mov rsi, qword [rdx + 0x10]
lea r15, [rax + 0xa0]
mov rdx, qword [rax + 0xa0]
mov rcx, rdx
mov qword [rsp + 0x30], rdx
cmp rdx, rsi
mov qword [rsp + 0x28], rsi
jne 0x1400d1fea
mov rax, qword [r15 + 0x10]
mov qword [rsp + 0x98], rax
movups xmm0, xmmword [r15]
movups xmmword [rsp + 0x88], xmm0
mov rax, qword [r15 + 0x10]
mov qword [rsp + 0x80], rax
movups xmm0, xmmword [r15]
movaps xmmword [rsp + 0x70], xmm0
mov rbx, qword [r14 + 8]
test rsi, rsi
je 0x1400d260e
mov r15, qword [rsp + 0x28]
js 0x1400d2cc5
movzx eax, byte [0x141af8129]
xor ecx, ecx
mov rdx, r15
call fcn.140146820
mov r14, rax
mov rsi, r15
test rax, rax
jne 0x1400d261b
jmp 0x1400d2cc5
mov dword [rsp + 0x6c], r8d
lea rbp, [rax + 0xa8]
mov rcx, qword [rax + 0xa8]
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x38], rax
mov rax, qword [rax + 0xb0]
mov qword [rsp + 0x48], rax
mov rbx, qword [r14 + 8]
lea r12, [0x141a0352c]
jmp 0x1400d2045
test cl, 1
je 0x1400d2525
nop dword [rax]
mov rcx, r14
call fcn.1400c6aa0
test al, al
mov rsi, qword [rsp + 0x28]
je 0x1400d25c0
mov r13, qword [r15]
mov rax, rsi
mov rcx, rbx
test r13, r13
je 0x1400d206e
mov rax, rsi
sub rax, r13
jbe 0x1400d2cc5
cmp byte [rbx + r13], 0xc0
jl 0x1400d2cc5
lea rcx, [rbx + r13]
test rax, rax
je 0x1400d2cc5
movzx eax, byte [rcx]
test al, al
jns 0x1400d20e0
mov edx, eax
and edx, 0x1f
movzx r9d, byte [rcx + 1]
and r9d, 0x3f
cmp al, 0xdf
jbe 0x1400d20ca
movzx r8d, byte [rcx + 2]
shl r9d, 6
and r8d, 0x3f
or r8d, r9d
cmp al, 0xf0
jb 0x1400d2223
movzx eax, byte [rcx + 3]
and edx, 7
shl edx, 0x12
shl r8d, 6
and eax, 0x3f
or eax, r8d
or eax, edx
cmp eax, 0x110000
jne 0x1400d20e0
jmp 0x1400d2cc5
shl edx, 6
or edx, r9d
mov eax, edx
nop word cs:[rax + rax]
cmp eax, 0x3e
je 0x1400d25c3
mov rax, rsi
mov rcx, rbx
test r13, r13
je 0x1400d210f
mov rax, rsi
sub rax, r13
jbe 0x1400d2cc5
cmp byte [rbx + r13], 0xc0
jl 0x1400d2cc5
lea rcx, [rbx + r13]
test rax, rax
je 0x1400d2cc5
movzx eax, byte [rcx]
test al, al
jns 0x1400d2180
mov edx, eax
and edx, 0x1f
movzx r9d, byte [rcx + 1]
and r9d, 0x3f
cmp al, 0xdf
jbe 0x1400d216b
movzx r8d, byte [rcx + 2]
shl r9d, 6
and r8d, 0x3f
or r8d, r9d
cmp al, 0xf0
jb 0x1400d223a
movzx eax, byte [rcx + 3]
and edx, 7
shl edx, 0x12
shl r8d, 6
and eax, 0x3f
or eax, r8d
or eax, edx
cmp eax, 0x110000
jne 0x1400d2180
jmp 0x1400d2cc5
shl edx, 6
or edx, r9d
mov eax, edx
nop word cs:[rax + rax]
mov rsi, qword [rbp]
cmp r13, qword [rsp + 0x30]
jne 0x1400d2260
cmp rsi, qword [rsp + 0x50]
jne 0x1400d2260
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x48]
cmp qword [rcx + 0xb0], rdx
jne 0x1400d2260
cmp eax, 0x5f
je 0x1400d2030
mov ecx, eax
and ecx, 0xffffffdf
add ecx, 0xffffffbf
cmp ecx, 0x1a
jb 0x1400d2030
cmp eax, 0x80
jb 0x1400d2525
mov edx, eax
shl edx, 0xb
mov r8d, 0x36
xor ecx, ecx
mov r9d, 0x36
nop dword [rax]
shr r8, 1
add r8, rcx
mov r10d, dword [r12 + r8*4]
shl r10d, 0xb
cmp r10d, edx
je 0x1400d22f4
lea r11, [r8 + 1]
cmp r10d, edx
cmova r9, r8
cmovb rcx, r11
mov r8, r9
sub r8, rcx
ja 0x1400d21f0
jmp 0x1400d22fa
shl edx, 0xc
or r8d, edx
mov eax, r8d
cmp eax, 0x3e
jne 0x1400d20e9
jmp 0x1400d25c3
shl edx, 0xc
or r8d, edx
mov eax, r8d
mov rsi, qword [rbp]
cmp r13, qword [rsp + 0x30]
je 0x1400d218f
nop word cs:[rax + rax]
lea ecx, [rax - 0x2e]
cmp ecx, 0x31
ja 0x1400d227c
movabs rdx, 0x2a00000000001
bt rdx, rcx
jb 0x1400d2030
mov ecx, eax
and ecx, 0xffffffdf
add ecx, 0xffffffbf
cmp ecx, 0x1a
jb 0x1400d2030
cmp eax, 0x80
jb 0x1400d22e3
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 0x1400d2395
lea r11, [r8 + 1]
cmp r10d, ecx
cmova r9, r8
cmovb rdx, r11
mov r8, r9
sub r8, rdx
ja 0x1400d22b0
jmp 0x1400d239b
add eax, 0xffffffd0
cmp eax, 0xa
jb 0x1400d2030
jmp 0x1400d2525
inc r8
mov rcx, r8
cmp rcx, 0x35
ja 0x1400d2cc5
mov edx, 0x5bb
je 0x1400d231e
lea r8, [r12 + rcx*4]
add r8, 4
test r8, r8
je 0x1400d231e
mov edx, dword [r8]
shr edx, 0x15
test rcx, rcx
je 0x1400d2333
mov r8d, dword [r12 + rcx*4 - 4]
mov r9d, 0x1fffff
and r8d, r9d
jmp 0x1400d2336
xor r8d, r8d
mov ecx, dword [r12 + rcx*4]
shr ecx, 0x15
mov r9, rcx
not r9
add r9, rdx
je 0x1400d2020
sub eax, r8d
dec rdx
xor r8d, r8d
nop word cs:[rax + rax]
cmp rcx, 0x5ba
ja 0x1400d2cc5
lea r9, [0x141a03604]
movzx r9d, byte [rcx + r9]
add r8d, r9d
cmp r8d, eax
ja 0x1400d2020
inc rcx
cmp rdx, rcx
jne 0x1400d2360
mov rcx, rdx
jmp 0x1400d2020
inc r8
mov rdx, r8
cmp rdx, 0x35
ja 0x1400d2cc5
mov r8d, 0x5bb
je 0x1400d23c1
lea r9, [r12 + rdx*4]
add r9, 4
test r9, r9
je 0x1400d23c1
mov r8d, dword [r9]
shr r8d, 0x15
test rdx, rdx
je 0x1400d23d6
mov r10d, dword [r12 + rdx*4 - 4]
mov r9d, 0x1fffff
and r10d, r9d
jmp 0x1400d23d9
xor r10d, r10d
mov edx, dword [r12 + rdx*4]
shr edx, 0x15
mov r9, rdx
not r9
add r9, r8
je 0x1400d242c
mov r9d, eax
sub r9d, r10d
dec r8
xor r10d, r10d
nop word [rax + rax]
cmp rdx, 0x5ba
ja 0x1400d2cc5
lea r11, [0x141a03604]
movzx r11d, byte [rdx + r11]
add r10d, r11d
cmp r10d, r9d
ja 0x1400d242c
inc rdx
cmp r8, rdx
jne 0x1400d2400
mov rdx, r8
test dl, 1
lea r10, [0x141a02a90]
jne 0x1400d2030
mov r8d, 0x27
xor edx, edx
mov r9d, 0x27
nop word [rax + rax]
shr r8, 1
add r8, rdx
mov r10d, dword [r10 + r8*4]
shl r10d, 0xb
cmp r10d, ecx
je 0x1400d2483
lea r11, [r8 + 1]
cmp r10d, ecx
cmova r9, r8
cmovb rdx, r11
mov r8, r9
sub r8, rdx
lea r10, [0x141a02a90]
ja 0x1400d2450
jmp 0x1400d2490
inc r8
mov rdx, r8
lea r10, [0x141a02a90]
cmp rdx, 0x26
ja 0x1400d2cc5
mov ecx, 0x113
je 0x1400d24b4
lea r8, [r10 + rdx*4]
add r8, 4
test r8, r8
je 0x1400d24b4
mov ecx, dword [r8]
shr ecx, 0x15
test rdx, rdx
je 0x1400d24c9
mov r8d, dword [r10 + rdx*4 - 4]
mov r9d, 0x1fffff
and r8d, r9d
jmp 0x1400d24cc
xor r8d, r8d
mov edx, dword [r10 + rdx*4]
shr edx, 0x15
mov r9, rdx
not r9
add r9, rcx
je 0x1400d251c
sub eax, r8d
dec rcx
xor r8d, r8d
nop word [rax + rax]
cmp rdx, 0x112
ja 0x1400d2cc5
lea r9, [0x141a02b2c]
movzx r9d, byte [rdx + r9]
add r8d, r9d
cmp r8d, eax
ja 0x1400d251c
inc rdx
cmp rcx, rdx
jne 0x1400d24f0
mov rdx, rcx
test dl, 1
jne 0x1400d2030
mov rcx, qword [rsp + 0x28]
mov rax, rbx
test r13, r13
je 0x1400d254f
mov rcx, qword [rsp + 0x28]
sub rcx, r13
jbe 0x1400d2cc5
cmp byte [rbx + r13], 0xc0
jl 0x1400d2cc5
lea rax, [rbx + r13]
test rcx, rcx
je 0x1400d2cc5
movzx r8d, byte [rax]
mov r10d, 1
test r8b, r8b
jns 0x1400d2bbb
mov ecx, r8d
and ecx, 0x1f
movzx r9d, byte [rax + 1]
and r9d, 0x3f
cmp r8b, 0xe0
jb 0x1400d2b87
movzx edx, byte [rax + 2]
shl r9d, 6
and edx, 0x3f
or edx, r9d
cmp r8b, 0xf0
jb 0x1400d2b91
movzx eax, byte [rax + 3]
and ecx, 7
shl ecx, 0x12
shl edx, 6
and eax, 0x3f
or eax, edx
or eax, ecx
cmp eax, 0x110000
jne 0x1400d2b98
jmp 0x1400d2cc5
mov r13, qword [r15]
movups xmm0, xmmword [rbp]
movaps xmmword [rsp + 0xb0], xmm0
cmp rsi, r13
jne 0x1400d2670
mov rax, qword [r15 + 0x10]
mov qword [rsp + 0x98], rax
movups xmm0, xmmword [r15]
movups xmmword [rsp + 0x88], xmm0
movups xmm0, xmmword [r15]
movaps xmmword [rsp + 0x70], xmm0
mov rax, qword [r15 + 0x10]
mov qword [rsp + 0x80], rax
test rsi, rsi
jne 0x1400d1fba
mov r14d, 1
xor esi, esi
mov r15, qword [rsp + 0x28]
mov rcx, r14
mov rdx, rbx
mov r8, r15
call sub.msvcrt.dll_memcpy
movaps xmm0, xmmword [rsp + 0x70]
movaps xmm1, xmmword [rsp + 0x80]
add byte [rax], 0
add byte [rdi], cl
sub byte [rsp + 0x90], dl
mov rax, rsi
mov rcx, rbx
test r13, r13
je 0x1400d2696
mov rax, rsi
sub rax, r13
jbe 0x1400d2cc5
cmp byte [rbx + r13], 0xc0
shl ecx, 6
or ecx, r9d
mov eax, ecx
jmp 0x1400d2b98
shl ecx, 0xc
or edx, ecx
mov eax, edx
cmp eax, 0x80
jb 0x1400d2bbb
mov r10d, 2
cmp eax, 0x800
jb 0x1400d2bbb
cmp eax, 0x10000
mov r10d, 4
sbb r10, 0
add r10, r13
jb 0x1400d2cc5
mov rax, qword [rsp + 0x38]
mov rbp, qword [rax + 0xb0]
inc rbp
je 0x1400d2cc5
mov rax, qword [rsp + 0x28]
mov rcx, rbx
test r13, r13
je 0x1400d2c05
mov rax, qword [rsp + 0x28]
sub rax, r13
jbe 0x1400d2cc5
cmp byte [rbx + r13], 0xc0
jl 0x1400d2cc5
add r13, rbx
mov rcx, r13
test rax, rax
je 0x1400d2cc5
movzx r13d, byte [rcx]
test r13b, r13b
jns 0x1400d2c76
mov eax, r13d
and eax, 0x1f
movzx r8d, byte [rcx + 1]
and r8d, 0x3f
cmp r13b, 0xdf
jbe 0x1400d2c63
movzx edx, byte [rcx + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp r13b, 0xf0
jb 0x1400d2c6e
movzx r13d, byte [rcx + 3]
and eax, 7
shl eax, 0x12
shl edx, 6
and r13d, 0x3f
or r13d, edx
or r13d, eax
cmp r13d, 0x110000
jne 0x1400d2c76
jmp 0x1400d2cc5
shl eax, 6
or eax, r8d
mov r13d, eax
jmp 0x1400d2c76
shl eax, 0xc
or edx, eax
mov r13d, edx
mov rax, qword [r15 + 0x10]
mov qword [rsp + 0x80], rax
movups xmm0, xmmword [r15]
movaps xmmword [rsp + 0x70], xmm0
mov ecx, 1
cmp qword [rsp + 0x28], 0