Function at 0x1400d8c40
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, 0xc8
mov r12, rdx
mov rsi, rcx
mov rdx, qword [rsp + 0x170]
mov r10, qword [rsp + 0x168]
mov r11d, dword [rsp + 0x160]
movzx r14d, word [rsp + 0x158]
movzx eax, word [rsp + 0x150]
mov word [rsp + 0x86], ax
mov r15, qword [rsp + 0x148]
mov ebp, dword [rsp + 0x140]
mov edi, dword [rsp + 0x138]
mov eax, dword [rsp + 0x130]
mov dword [rsp + 0xac], eax
mov ecx, r9d
lea rax, [rcx + 1]
cmp rax, r11
jne 0x1400d8ce9
mov dword [rsp + 0x50], edi
mov edi, r14d
mov r14d, ebp
mov rbx, r15
mov rbp, qword [r12 + 8]
mov r13, r12
mov r15, qword [r12 + 0x10]
mov r12, r15
sub r12, r11
jbe 0x1400d8d33
cmp byte [rbp + r11], 0xbf
jg 0x1400d8d39
jmp 0x1400d97fb
mov qword [rsp + 0x60], rcx
add rcx, 3
cmp rcx, r11
jne 0x1400d8d65
mov dword [rsp + 0x50], edi
mov rcx, r12
mov r12, qword [r12 + 8]
mov qword [rsp + 0x48], rcx
mov r13, qword [rcx + 0x10]
test r9d, r9d
mov rcx, qword [rsp + 0x60]
je 0x1400d8dda
cmp r13, rcx
jbe 0x1400d8dd4
cmp byte [r12 + rcx], 0xc0
jge 0x1400d8dda
jmp 0x1400d97fb
jne 0x1400d97fb
cmp r12, 2
jb 0x1400d8d4c
movzx eax, word [rbp + r11]
cmp eax, 0x2f2f
je 0x1400d8dba
mov r12, r13
test r9d, r9d
je 0x1400d8d73
cmp r15, rcx
jbe 0x1400d8d6d
cmp byte [rbp + rcx], 0xbf
jg 0x1400d8d73
jmp 0x1400d97fb
mov r13, r11
jmp 0x1400d8e46
jne 0x1400d97fb
mov r13, r11
sub r15, rcx
cmp r15, 3
jae 0x1400d8d8d
mov r15, rbx
mov ebp, r14d
mov r14d, edi
jmp 0x1400d8e42
movzx eax, word [rbp + rcx]
xor eax, 0x2f3a
movzx ecx, byte [rbp + rcx + 2]
xor ecx, 0x2f
or cx, ax
mov r15, rbx
mov ebp, r14d
mov r14d, edi
mov edi, dword [rsp + 0x50]
jne 0x1400d8e46
jmp 0x1400d97fb
cmp r15, r11
jbe 0x1400d8f30
cmp byte [rbp + r11], 0xbf
jg 0x1400d8f36
jmp 0x1400d97fb
jne 0x1400d97fb
cmp r13, r11
jbe 0x1400d8deb
cmp byte [r12 + r11], 0xbf
jg 0x1400d8df1
jmp 0x1400d97fb
jne 0x1400d97fb
mov qword [rsp + 0x70], r13
mov r13, rcx
mov rcx, r11
sub rcx, r13
cmp rcx, 3
jne 0x1400d8e3a
mov qword [rsp + 0x78], rdx
movzx ecx, word [r12 + r13]
xor ecx, 0x2f3a
movzx edx, byte [r12 + r13 + 2]
xor edx, 0x2e
or dx, cx
je 0x1400d8fbf
mov r13, r11
mov r12, qword [rsp + 0x48]
mov edi, dword [rsp + 0x50]
mov rdx, qword [rsp + 0x78]
jmp 0x1400d8e46
mov r13, r11
mov r12, qword [rsp + 0x48]
mov edi, dword [rsp + 0x50]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], r10
lea rcx, [rsp + 0xb0]
mov rdx, r12
mov ebx, r9d
call fcn.1400dc2e0
mov eax, dword [rsp + 0xb0]
cmp eax, 2
jne 0x1400d8eb8
movzx eax, byte [rsp + 0xb4]
mov byte [rsi + 8], al
movabs rax, 0x8000000000000000
mov qword [rsi], rax
cmp qword [r12], 0
je 0x1400d8f1c
mov r8, qword [r12 + 8]
mov rcx, qword [0x14024d108]
xor edx, edx
add rsp, 0xc8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp sub.kernel32.dll_HeapFree
mov ecx, dword [rsp + 0xbc]
mov rdx, qword [rsp + 0xb4]
mov r8, qword [r12 + 0x10]
mov qword [rsi + 0x10], r8
movups xmm0, xmmword [r12]
movups xmmword [rsi], xmm0
mov dword [rsi + 0x18], eax
mov qword [rsi + 0x1c], rdx
mov dword [rsi + 0x24], ecx
movzx eax, word [rsp + 0x86]
mov word [rsi + 0x28], ax
mov word [rsi + 0x2a], r14w
mov dword [rsi + 0x2c], ebx
mov eax, dword [rsp + 0xac]
mov dword [rsi + 0x30], eax
mov dword [rsi + 0x34], edi
mov dword [rsi + 0x38], ebp
mov dword [rsi + 0x3c], r13d
movdqu xmm0, xmmword [r15]
movdqu xmmword [rsi + 0x40], xmm0
movzx eax, byte [r15 + 0x10]
mov byte [rsi + 0x50], al
add rsp, 0xc8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
jne 0x1400d97fb
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x78], rdx
mov qword [rsp + 0x40], r10
mov dword [rsp + 0x80], r9d
mov byte [rsp + 0x37], r8b
mov rax, qword [r13]
sub rax, r15
cmp rax, 1
jbe 0x1400d915d
lea rdx, [r11 + rbp]
lea rcx, [r11 + rbp]
add rcx, 2
mov r8, r12
mov r12, r11
call sub.msvcrt.dll_memmove
mov r11, r12
mov word [rbp + r12], 0x2e2f
add r15, 2
mov qword [r13 + 0x10], r15
add r11d, 2
movzx r8d, byte [rsp + 0x37]
mov r9d, dword [rsp + 0x80]
mov r12, r13
mov r10, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x60]
test r9d, r9d
jne 0x1400d8d54
jmp 0x1400d8d73
mov r13, qword [rsp + 0x70]
cmp r13, r11
mov rdx, qword [rsp + 0x78]
jbe 0x1400d97fb
cmp byte [r12 + r11], 0x2f
mov rcx, qword [rsp + 0x60]
jne 0x1400d97fb
lea rdi, [r11 + 1]
cmp rdi, r13
jae 0x1400d8ff6
cmp byte [r12 + rdi], 0x2f
je 0x1400d97ae
test r9d, r9d
je 0x1400d9012
cmp r13, rcx
jbe 0x1400d900c
cmp byte [r12 + rcx], 0xc0
jge 0x1400d9012
jmp 0x1400d97fb
jne 0x1400d97fb
cmp byte [r12 + r11], 0xbf
jle 0x1400d97fb
cmp r9d, r11d
ja 0x1400d97fb
mov qword [rsp + 0x68], rdi
cmp r13, r11
jb 0x1400d97fb
mov rdi, r13
mov rcx, qword [rsp + 0x48]
lea rbx, [rcx + 0x10]
mov r13, qword [rsp + 0x60]
mov qword [rsp + 0x98], rbx
mov qword [rbx], r13
mov rbx, rdi
sub rbx, r11
jne 0x1400d9087
mov rax, r13
cmp qword [rcx], r13
mov rcx, r13
je 0x1400d939f
mov byte [r12 + r13], 0x3a
inc r13
mov rax, r13
mov rdi, qword [rsp + 0x98]
mov qword [rdi], r13
mov r13, qword [rsp + 0x48]
jmp 0x1400d97a3
cmp r9d, r11d
mov qword [rsp + 0xa0], rbx
jne 0x1400d9129
mov qword [rsp + 0x40], r10
mov dword [rsp + 0x38], ebp
mov dword [rsp + 0x80], r9d
mov byte [rsp + 0x37], r8b
mov rdi, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x70]
mov rax, qword [rsp + 0x48]
cmp qword [rax], rcx
je 0x1400d962c
mov qword [rsp + 0xc0], r15
lea rdx, [r12 + r11]
lea rbp, [r12 + r11]
inc rbp
mov rcx, rbp
mov r8, rbx
mov r13, r11
call sub.msvcrt.dll_memmove
cmp rdi, qword [rsp + 0x68]
mov rbx, rdi
mov qword [rsp + 0x58], r13
jne 0x1400d917d
lea r15, [0x140209d8a]
mov edx, 1
mov dword [rsp + 0x3c], 0
mov qword [rsp + 0x68], rbx
mov ebp, dword [rsp + 0x38]
mov rbx, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x98]
jmp 0x1400d92e5
mov rcx, qword [rsp + 0x60]
add rcx, r12
add r12, r11
mov byte [rcx], 0x3a
inc rcx
mov rdi, qword [rsp + 0x98]
mov qword [rdi], rax
cmp rcx, r12
mov rax, qword [rdi]
mov rbx, r11
mov r13, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x60]
jmp 0x1400d9734
mov r8d, 2
mov rcx, r13
mov rdx, r15
mov rbp, r11
call fcn.14000ece0
mov r11, rbp
mov rbp, qword [r13 + 8]
jmp 0x1400d8f63
lea rax, [r12 + rbx]
lea r15, [0x140209d8a]
lea rcx, [r15 + r13]
sub rcx, rbx
sub rcx, r15
cmp rcx, 1
mov edx, 1
cmovae rcx, rdx
inc rcx
cmp rcx, 0x21
movzx r8d, byte [rsp + 0x37]
mov r11, r13
mov rdi, qword [rsp + 0x98]
jae 0x1400d91c1
mov r9, rbx
jmp 0x1400d929d
lea r15, [0x140209d8a]
lea r9, [r11 + r15]
sub r9, rbx
sub r9, r15
cmp r9, 1
cmovb rdx, r9
lea r9, [rbx + rdx]
lea r9, [r12 + r9 + 1]
mov r10, qword [rsp + 0x48]
lea r11, [r10 + 0x18]
lea r10, [rdx + r15]
inc r10
cmp rax, r11
setb r13b
cmp rdi, r9
setb byte [rsp + 0x3c]
cmp rax, r10
setb dl
cmp r15, r9
setb byte [rsp + 0x90]
cmp rdi, r10
setb r9b
cmp r15, r11
setb r11b
test byte [rsp + 0x3c], r13b
jne 0x1400d9657
and dl, byte [rsp + 0x90]
mov r10, qword [rsp + 0x40]
jne 0x1400d9541
and r9b, r11b
jne 0x1400d9541
mov edx, ecx
and edx, 3
mov r9d, 4
cmovne r9, rdx
sub rcx, r9
lea r9, [rbx + rcx]
lea rdx, [0x140209d8a]
mov r13, rdx
lea r15, [rdx + rcx]
add rax, rcx
lea r10, [rbx + r12]
add r10, 2
xor edx, edx
mov r11, rdx
mov edx, dword [rdx + r13]
mov dword [r10 + r11 - 2], edx
lea rdx, [r11 + 4]
cmp rcx, rdx
jne 0x1400d9278
lea rcx, [rbx + r11]
add rcx, 4
mov qword [rdi], rcx
mov r11, qword [rsp + 0x58]
mov r10, qword [rsp + 0x40]
inc r9
lea rdx, [0x140209d8b]
mov rbx, qword [rsp + 0x70]
cmp r15, rdx
je 0x1400d9396
movzx ecx, byte [r15]
inc r15
mov byte [rax], cl
inc rax
mov qword [rdi], r9
inc r9
cmp rax, rbp
jne 0x1400d92b1
sub rdx, r15
sete al
mov dword [rsp + 0x3c], eax
mov ebp, dword [rsp + 0x38]
je 0x1400d9708
test rdx, rdx
js 0x1400d97fb
movzx eax, byte [0x14024d119]
xor ecx, ecx
call fcn.140082900
test rax, rax
je 0x1400d97fb
lea r13, [0x140209d8b]
cmp r15, r13
movzx r8d, byte [rsp + 0x37]
mov r11, qword [rsp + 0x58]
mov r10, qword [rsp + 0x40]
je 0x1400d96e7
lea rcx, [0x140209d8a]
mov rdx, rcx
sub rdx, r15
inc rdx
xor ebp, ebp
cmp rdx, 0x20
mov rbx, rax
jb 0x1400d940a
mov r9, rax
sub r9, r15
cmp r9, 0x20
jb 0x1400d9407
mov rbp, rdx
and rbp, 0xffffffffffffffe0
lea r9, [r15 + rbp]
xor r10d, r10d
mov rax, rbx
movdqu xmm0, xmmword [r15 + r10]
movdqu xmm1, xmmword [r15 + r10 + 0x10]
movdqu xmmword [rax + r10], xmm0
movdqu xmmword [rax + r10 + 0x10], xmm1
add r10, 0x20
cmp rbp, r10
jne 0x1400d9365
cmp rdx, rbp
jne 0x1400d93ff
lea rax, [rbx + rbp]
jmp 0x1400d9470
mov ebp, dword [rsp + 0x38]
jmp 0x1400d9708
mov word [rsp + 0x70], r14w
mov dword [rsp + 0x38], ebp
mov byte [rsp + 0x37], r8b
mov r8d, 1
mov r13, qword [rsp + 0x48]
mov rcx, r13
mov rdx, qword [rsp + 0x60]
mov r14d, r9d
mov r12, r11
mov rbp, r10
call fcn.1400a1c40
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x78]
mov r10, rbp
mov r11, r12
mov r9d, r14d
movzx r8d, byte [rsp + 0x37]
mov ebp, dword [rsp + 0x38]
movzx r14d, word [rsp + 0x70]
mov r12, qword [r13 + 8]
mov r13, qword [r13 + 0x10]
jmp 0x1400d9067
mov r15, r9
mov r10, qword [rsp + 0x40]
mov rax, rbx
mov edx, ecx
sub edx, r15d
inc edx
sub rcx, r15
and edx, 3
je 0x1400d942f
movzx r9d, byte [r15]
inc r15
mov byte [rbx + rbp], r9b
mov rax, rbx
inc rbp
dec rdx
jne 0x1400d9419
cmp rcx, 3
jb 0x1400d9464
movzx ecx, byte [r15]
mov byte [rax + rbp], cl
movzx ecx, byte [r15 + 1]
mov byte [rax + rbp + 1], cl
movzx ecx, byte [r15 + 2]
mov byte [rax + rbp + 2], cl
movzx ecx, byte [r15 + 3]
add r15, 4
mov byte [rax + rbp + 3], cl
add rbp, 4
cmp r15, r13
jne 0x1400d9435
test rbp, rbp
je 0x1400d9533
add rax, rbp
mov qword [rsp + 0x90], rax
mov r13, qword [rsp + 0x68]
mov r8, qword [rsp + 0xa0]
lea rdx, [r8 + r13]
mov r15, qword [rsp + 0x48]
mov rax, qword [r15]
sub rax, rdx
cmp rax, rbp
jb 0x1400d966b
mov r15, r13
add r15, rbp
lea rdx, [r12 + r13]
add r12, r15
mov rcx, r12
call sub.msvcrt.dll_memmove
mov r12, qword [rsp + 0x48]
mov rdx, qword [r12 + 0x10]
cmp rdx, r15
jne 0x1400d94e4
mov qword [rsp + 0x68], r15
movzx r8d, byte [rsp + 0x37]
mov ebp, dword [rsp + 0x38]
mov r11, qword [rsp + 0x58]
mov r10, qword [rsp + 0x40]
mov r15d, dword [rsp + 0x3c]
jmp 0x1400d96da
mov qword [rsp + 0x88], r15
mov rax, qword [r12 + 8]
lea rcx, [rax + rdx]
add r13, rbp
mov r9, rdx
not r9
add r9, r13
dec rbp
cmp r9, rbp
mov r10, rbp
cmovb r10, r9
inc r10
cmp r10, 0x20
movzx r8d, byte [rsp + 0x37]
jae 0x1400d954e
mov r9, rbx
mov ebp, dword [rsp + 0x38]
mov r11, qword [rsp + 0x58]
mov r15d, dword [rsp + 0x3c]
jmp 0x1400d9691
mov ebp, dword [rsp + 0x38]
mov r15d, dword [rsp + 0x3c]
jmp 0x1400d96dd
mov r9, rbx
mov r11, qword [rsp + 0x58]
jmp 0x1400d92a2
cmp r9, rbp
cmovb rbp, r9
lea r11, [rbp + rcx + 1]
mov r13, r12
add r12, 0x18
mov r15, rbx
add rbp, rbx
inc rbp
cmp rcx, r12
setb r13b
cmp rdi, r11
setb byte [rsp + 0x68]
cmp rcx, rbp
setb r9b
cmp r11, rbx
seta byte [rsp + 0x57]
cmp rdi, rbp
setb r11b
cmp r12, rbx
seta r12b
test byte [rsp + 0x68], r13b
jne 0x1400d951d
and r9b, byte [rsp + 0x57]
mov r15d, dword [rsp + 0x3c]
jne 0x1400d9685
and r11b, r12b
mov r13, rbx
jne 0x1400d965f
mov r11, r10
and r11, 0xfffffffffffffffc
add rcx, r11
mov r9, r13
add r9, r11
movq xmm1, rdx
add rdx, rax
add rdx, 2
pxor xmm0, xmm0
xor r12d, r12d
pcmpeqd xmm2, xmm2
mov ebp, dword [r13 + r12]
mov dword [rdx + r12 - 2], ebp
psubq xmm1, xmm2
psubq xmm0, xmm2
add r12, 4
cmp r11, r12
jne 0x1400d95e0
paddq xmm0, xmm1
pshufd xmm1, xmm0, 0xee
paddq xmm1, xmm0
movq qword [rdi], xmm1
cmp r10, r11
jne 0x1400d9664
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x68], rax
mov ebp, dword [rsp + 0x38]
mov r11, qword [rsp + 0x58]
jmp 0x1400d96d5
mov r8d, 1
mov r13, qword [rsp + 0x48]
mov rcx, r13
mov rdx, qword [rsp + 0x70]
mov r12, r11
call fcn.1400a1c40
mov r11, r12
mov r12, qword [r13 + 8]
mov rdi, qword [r13 + 0x10]
jmp 0x1400d90c6
mov r9, rbx
jmp 0x1400d9298
mov r9, r13
jmp 0x1400d9688
movq rdx, xmm1
jmp 0x1400d9688
mov rcx, r15
mov r12, r8
mov r8, rbp
call fcn.1400a1c40
mov r8, r12
mov r12, qword [r15 + 8]
jmp 0x1400d949d
mov r9, rbx
mov ebp, dword [rsp + 0x38]
mov r11, qword [rsp + 0x58]
mov r13, qword [rsp + 0x88]
add rax, r13
inc rdx
inc rcx
inc r9
mov r12, qword [rsp + 0x90]
movzx r10d, byte [r9 - 1]
mov byte [rcx - 1], r10b
mov qword [rdi], rdx
cmp rcx, rax
je 0x1400d96d0
inc rdx
inc rcx
lea r10, [r9 + 1]
cmp r9, r12
mov r9, r10
jne 0x1400d96ad
mov qword [rsp + 0x68], r13
mov r10, qword [rsp + 0x40]
mov rax, rbx
test r15b, r15b
mov rbx, qword [rsp + 0x70]
jne 0x1400d9708
mov rcx, qword [0x14024d108]
xor edx, edx
mov r8, rax
call sub.kernel32.dll_HeapFree
mov r10, qword [rsp + 0x40]
mov r11, qword [rsp + 0x58]
movzx r8d, byte [rsp + 0x37]
cmp rbx, r11
mov rax, qword [rdi]
mov r15, qword [rsp + 0xc0]
mov r9d, dword [rsp + 0x80]
mov r13, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x68]
je 0x1400d97a3
mov r12, rax
cmp rbx, rax
je 0x1400d9795
mov rcx, qword [r13 + 8]
add rbx, rcx
add rcx, r12
mov rdx, rbx
mov word [rsp + 0x70], r14w
mov dword [rsp + 0x38], ebp
mov byte [rsp + 0x37], r8b
mov r8, qword [rsp + 0xa0]
mov r14d, r9d
mov rbp, r11
mov qword [rsp + 0x40], r10
call sub.msvcrt.dll_memmove
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x78]
mov r10, qword [rsp + 0x40]
mov r11, rbp
mov r9d, r14d
movzx r8d, byte [rsp + 0x37]
mov ebp, dword [rsp + 0x38]
movzx r14d, word [rsp + 0x70]
add r12, qword [rsp + 0xa0]
mov rax, r12
mov qword [rdi], r12
add r11d, 0xfffffffe
mov r12, qword [r13 + 8]
mov r13, rax
test r9d, r9d
je 0x1400d97c3
cmp r13, rcx
jbe 0x1400d97c1
cmp byte [r12 + rcx], 0xbf
jg 0x1400d97c3
jmp 0x1400d97fb
jne 0x1400d97fb
mov rax, r13
mov r13, r11
sub rax, rcx
cmp rax, 3
jb 0x1400d8e3d
movzx eax, word [r12 + rcx]
xor eax, 0x2f3a
movzx ecx, byte [r12 + rcx + 2]
xor ecx, 0x2f
or cx, ax
mov r12, qword [rsp + 0x48]
mov edi, dword [rsp + 0x50]
jne 0x1400d8e46
ud2