Function at 0x1400dc520
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, 0xe8
mov r12d, r9d
mov rbp, rdx
mov rsi, rcx
mov r9, qword [rsp + 0x190]
mov r10, qword [rsp + 0x188]
mov r11d, dword [rsp + 0x180]
movzx r13d, word [rsp + 0x178]
movzx eax, word [rsp + 0x170]
mov word [rsp + 0x96], ax
mov r15, qword [rsp + 0x168]
mov r14d, dword [rsp + 0x160]
mov ebx, dword [rsp + 0x158]
mov eax, dword [rsp + 0x150]
mov dword [rsp + 0xcc], eax
mov edx, r12d
lea rax, [rdx + 1]
cmp rax, r11
jne 0x1400dc5d4
mov dword [rsp + 0x44], ebx
mov word [rsp + 0x3e], r13w
mov edi, r14d
mov r14d, r12d
mov rbx, r15
mov rax, rbp
mov rbp, qword [rbp + 8]
mov r13, rax
mov r15, qword [rax + 0x10]
mov r12, r15
sub r12, r11
jbe 0x1400dc614
cmp byte [rbp + r11], 0xbf
jg 0x1400dc61a
jmp 0x1400dd16f
lea rcx, [rdx + 3]
cmp rcx, r11
jne 0x1400dc649
mov byte [rsp + 0x37], r8b
mov r8, r10
mov dword [rsp + 0x38], r14d
mov r10, qword [rbp + 8]
mov rdi, qword [rbp + 0x10]
test r12d, r12d
je 0x1400dc6c8
cmp rdi, rdx
jbe 0x1400dc6c2
cmp byte [r10 + rdx], 0xbf
jg 0x1400dc6c8
jmp 0x1400dd16f
jne 0x1400dd16f
cmp r12, 2
jb 0x1400dc62d
movzx eax, word [rbp + r11]
cmp eax, 0x2f2f
je 0x1400dc6a8
mov r12d, r14d
test r14d, r14d
mov r14d, edi
je 0x1400dc657
cmp r15, rdx
jbe 0x1400dc651
cmp byte [rbp + rdx], 0xbf
jg 0x1400dc657
jmp 0x1400dd16f
mov rdi, r11
jmp 0x1400dc727
jne 0x1400dd16f
mov rdi, r11
sub r15, rdx
cmp r15, 3
jae 0x1400dc678
mov r15, rbx
mov rbp, r13
movzx r13d, word [rsp + 0x3e]
mov ebx, dword [rsp + 0x44]
jmp 0x1400dc727
movzx eax, word [rbp + rdx]
xor eax, 0x2f3a
movzx ecx, byte [rbp + rdx + 2]
xor ecx, 0x2f
or cx, ax
mov r15, rbx
mov rbp, r13
movzx r13d, word [rsp + 0x3e]
mov ebx, dword [rsp + 0x44]
jne 0x1400dc727
jmp 0x1400dd16f
cmp r15, r11
jbe 0x1400dc80f
cmp byte [rbp + r11], 0xbf
jg 0x1400dc815
jmp 0x1400dd16f
jne 0x1400dd16f
cmp rdi, r11
jbe 0x1400dc6d9
cmp byte [r10 + r11], 0xbf
jg 0x1400dc6df
jmp 0x1400dd16f
jne 0x1400dd16f
mov rcx, r11
sub rcx, rdx
cmp rcx, 3
jne 0x1400dc716
mov qword [rsp + 0x88], rdi
mov r14, r10
movzx ecx, word [r10 + rdx]
xor ecx, 0x2f3a
mov rdi, rdx
movzx edx, byte [r10 + rdx + 2]
xor edx, 0x2e
or dx, cx
je 0x1400dc8a4
mov rdi, r11
mov r14d, dword [rsp + 0x38]
mov r10, r8
movzx r8d, byte [rsp + 0x37]
mov qword [rsp + 0x28], r9
mov qword [rsp + 0x20], r10
lea rcx, [rsp + 0xd0]
mov rdx, rbp
mov r9d, r12d
call fcn.1400dfc50
mov eax, dword [rsp + 0xd0]
cmp eax, 2
jne 0x1400dc798
movzx eax, byte [rsp + 0xd4]
mov byte [rsi + 8], al
movabs rax, 0x8000000000000000
mov qword [rsi], rax
cmp qword [rbp], 0
je 0x1400dc7fb
mov r8, qword [rbp + 8]
mov rcx, qword [0x1402590e0]
xor edx, edx
add rsp, 0xe8
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 + 0xdc]
mov rdx, qword [rsp + 0xd4]
mov r8, qword [rbp + 0x10]
mov qword [rsi + 0x10], r8
movups xmm0, xmmword [rbp]
movups xmmword [rsi], xmm0
mov dword [rsi + 0x18], eax
mov qword [rsi + 0x1c], rdx
mov dword [rsi + 0x24], ecx
movzx eax, word [rsp + 0x96]
mov word [rsi + 0x28], ax
mov word [rsi + 0x2a], r13w
mov dword [rsi + 0x2c], r12d
mov eax, dword [rsp + 0xcc]
mov dword [rsi + 0x30], eax
mov dword [rsi + 0x34], ebx
mov dword [rsi + 0x38], r14d
mov dword [rsi + 0x3c], edi
movdqu xmm0, xmmword [r15]
movdqu xmmword [rsi + 0x40], xmm0
movzx eax, byte [r15 + 0x10]
mov byte [rsi + 0x50], al
add rsp, 0xe8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
jne 0x1400dd16f
mov qword [rsp + 0xa0], rdx
mov qword [rsp + 0x60], r9
mov qword [rsp + 0x48], r10
mov byte [rsp + 0x37], r8b
mov rax, r13
mov qword [rsp + 0x68], r13
mov rax, qword [r13]
sub rax, r15
cmp rax, 1
jbe 0x1400dca55
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 rax, qword [rsp + 0x68]
mov qword [rax + 0x10], r15
add r11d, 2
movzx r8d, byte [rsp + 0x37]
mov r10, qword [rsp + 0x48]
mov r9, qword [rsp + 0x60]
mov rdx, qword [rsp + 0xa0]
mov r12d, r14d
test r14d, r14d
mov r14d, edi
jne 0x1400dc638
jmp 0x1400dc657
mov qword [rsp + 0xa0], rdi
mov rdi, qword [rsp + 0x88]
cmp rdi, r11
mov r14d, dword [rsp + 0x38]
jbe 0x1400dd16f
cmp byte [r10 + r11], 0x2f
jne 0x1400dd16f
mov rcx, r10
lea rdx, [r11 + 1]
cmp rdx, rdi
jae 0x1400dc8ed
cmp byte [rcx + rdx], 0x2f
jne 0x1400dc8ed
mov r10, r8
movzx r8d, byte [rsp + 0x37]
jmp 0x1400dd126
mov qword [rsp + 0x70], rdx
test r12d, r12d
mov rdx, qword [rsp + 0xa0]
je 0x1400dc915
cmp rdi, rdx
jbe 0x1400dc90f
cmp byte [rcx + rdx], 0xbf
jg 0x1400dc915
jmp 0x1400dd16f
jne 0x1400dd16f
cmp byte [rcx + r11], 0xbf
jle 0x1400dd16f
cmp r12d, r11d
ja 0x1400dd16f
cmp rdi, r11
jb 0x1400dd16f
lea rcx, [rbp + 0x10]
mov qword [rsp + 0x80], rcx
mov qword [rcx], rdx
mov rcx, rdi
sub rcx, r11
mov qword [rsp + 0x98], rcx
jne 0x1400dc987
mov rdi, rdx
cmp qword [rbp], rdx
mov r14, r10
mov r10, r8
movzx r8d, byte [rsp + 0x37]
je 0x1400dcbbf
mov byte [r14 + rdi], 0x3a
inc rdi
mov rax, qword [rsp + 0x80]
mov qword [rax], rdi
mov r14d, dword [rsp + 0x38]
jmp 0x1400dd11e
cmp r12d, r11d
jne 0x1400dca21
mov qword [rsp + 0x60], r9
mov qword [rsp + 0x48], r8
mov dword [rsp + 0x44], ebx
mov word [rsp + 0x3e], r13w
mov dword [rsp + 0x40], r12d
mov r13, rdx
cmp qword [rbp], rdi
je 0x1400dcfc2
mov qword [rsp + 0xe0], r15
lea rdx, [r10 + r11]
lea r12, [r10 + r11]
inc r12
mov r14, r10
mov rcx, r12
mov r8, qword [rsp + 0x98]
mov rdi, r11
call sub.msvcrt.dll_memmove
cmp r13, qword [rsp + 0x70]
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0xb0], r14
jne 0x1400dca7e
lea r15, [0x140215afa]
mov edx, 1
xor eax, eax
mov qword [rsp + 0x70], r13
mov r12d, dword [rsp + 0x40]
mov rbx, qword [rsp + 0x88]
mov r14d, dword [rsp + 0x38]
jmp 0x1400dcc71
lea rcx, [r10 + rdx]
add r10, r11
mov byte [rcx], 0x3a
inc rcx
mov rdi, qword [rsp + 0x80]
mov qword [rdi], rax
cmp rcx, r10
mov r10, r8
mov rdi, qword [rdi]
mov rdx, r11
mov r14d, dword [rsp + 0x38]
movzx r8d, byte [rsp + 0x37]
jmp 0x1400dd0b5
mov r8d, 2
mov rbp, qword [rsp + 0x68]
mov rcx, rbp
mov rdx, r15
mov qword [rsp + 0x50], r11
call fcn.14000b640
mov r11, qword [rsp + 0x50]
mov rbp, qword [rbp + 8]
jmp 0x1400dc845
lea rax, [r14 + r13]
lea r15, [0x140215afa]
lea rcx, [rdi + r15]
sub rcx, r13
sub rcx, r15
cmp rcx, 1
mov edx, 1
cmovae rcx, rdx
inc rcx
cmp rcx, 0x21
movzx r8d, byte [rsp + 0x37]
mov r11, rdi
jae 0x1400dcac4
mov r9, r13
mov r10, qword [rsp + 0x48]
mov r14d, dword [rsp + 0x38]
jmp 0x1400dcc14
lea r15, [0x140215afa]
lea r9, [r11 + r15]
sub r9, r13
sub r9, r15
cmp r9, 1
cmovb rdx, r9
mov rbx, r13
lea r9, [r13 + rdx]
lea r9, [r14 + r9 + 1]
mov rdi, rbp
lea r11, [rbp + 0x18]
lea rbp, [rdx + r15]
inc rbp
cmp rax, r11
setb r14b
mov r13, qword [rsp + 0x80]
cmp r13, r9
setb r10b
cmp rax, rbp
setb dl
cmp r15, r9
setb byte [rsp + 0x68]
cmp r13, rbp
setb r9b
cmp r15, r11
setb r11b
test r14b, r10b
jne 0x1400dcfeb
and dl, byte [rsp + 0x68]
mov rbp, rdi
mov r10, qword [rsp + 0x48]
mov r14d, dword [rsp + 0x38]
jne 0x1400dcc0c
and r9b, r11b
jne 0x1400dcc0c
mov edx, ecx
and edx, 3
mov r9d, 4
cmovne r9, rdx
sub rcx, r9
lea r9, [rbx + rcx]
lea rdx, [0x140215afa]
lea r15, [rdx + rcx]
add rax, rcx
mov r10, qword [rsp + 0xb0]
add r10, rbx
add r10, 2
xor ebp, ebp
mov r11, rbp
mov ebp, dword [rbp + rdx]
mov dword [r10 + r11 - 2], ebp
lea rbp, [r11 + 4]
cmp rcx, rbp
jne 0x1400dcb88
lea rcx, [rbx + r11]
add rcx, 4
mov rdx, qword [rsp + 0x80]
mov qword [rdx], rcx
mov rbp, rdi
mov r11, qword [rsp + 0x50]
mov r10, qword [rsp + 0x48]
jmp 0x1400dcc14
mov rdi, rbp
mov r8d, 1
mov rcx, rbp
mov rdx, qword [rsp + 0xa0]
mov dword [rsp + 0x44], ebx
mov rbx, r11
mov rbp, r10
mov qword [rsp + 0x60], r9
call fcn.1400e2de0
mov r9, qword [rsp + 0x60]
mov r10, rbp
mov r11, rbx
mov ebx, dword [rsp + 0x44]
movzx r8d, byte [rsp + 0x37]
mov rbp, rdi
mov r14, qword [rdi + 8]
mov rdi, qword [rdi + 0x10]
jmp 0x1400dc96a
mov r9, rbx
mov r11, qword [rsp + 0x50]
lea rdx, [0x140215afb]
mov rbx, r9
mov r9, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x88]
mov r13, qword [rsp + 0x80]
cmp r15, rdx
je 0x1400dce14
movzx ecx, byte [r15]
inc r15
mov byte [rax], cl
inc rax
mov rcx, rbx
inc rcx
mov rbx, rcx
mov qword [r13], rcx
cmp rax, r12
jne 0x1400dcc33
sub rdx, r15
sete al
mov r12d, dword [rsp + 0x40]
mov r13, rbx
mov rbx, rdi
je 0x1400dd08e
mov dword [rsp + 0x7c], eax
test rdx, rdx
js 0x1400dd16f
movzx eax, byte [0x140259141]
xor ecx, ecx
call fcn.14008b700
test rax, rax
je 0x1400dd16f
lea rdi, [0x140215afb]
cmp r15, rdi
movzx r8d, byte [rsp + 0x37]
mov r11, qword [rsp + 0x50]
mov r10, qword [rsp + 0x48]
je 0x1400dd068
lea rcx, [0x140215afa]
mov rdx, rcx
sub rdx, r15
inc rdx
xor r12d, r12d
cmp rdx, 0x20
jb 0x1400dcd18
mov r9, rax
sub r9, r15
cmp r9, 0x20
jb 0x1400dcd18
mov r12, rdx
and r12, 0xffffffffffffffe0
lea r9, [r15 + r12]
xor r10d, r10d
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 r12, r10
jne 0x1400dcce8
cmp rdx, r12
je 0x1400dcd81
mov r15, r9
mov r10, qword [rsp + 0x48]
mov edx, ecx
sub edx, r15d
inc edx
sub rcx, r15
and edx, 3
je 0x1400dcd3a
movzx r9d, byte [r15]
inc r15
mov byte [rax + r12], r9b
inc r12
dec rdx
jne 0x1400dcd27
cmp rcx, 3
jb 0x1400dcd73
movzx ecx, byte [r15]
mov byte [rax + r12], cl
movzx ecx, byte [r15 + 1]
mov byte [rax + r12 + 1], cl
movzx ecx, byte [r15 + 2]
mov byte [rax + r12 + 2], cl
movzx ecx, byte [r15 + 3]
mov byte [rax + r12 + 3], cl
add r12, 4
add r15, 4
cmp r15, rdi
jne 0x1400dcd40
test r12, r12
mov r9, qword [rsp + 0x60]
je 0x1400dce81
mov qword [rsp + 0xc0], r13
mov qword [rsp + 0xa8], rax
lea rbx, [rax + r12]
mov r8, qword [rsp + 0x98]
mov r13, qword [rsp + 0x70]
lea rdx, [r8 + r13]
mov rax, qword [rbp]
sub rax, rdx
cmp rax, r12
mov r14, qword [rsp + 0xb0]
jb 0x1400dd171
lea rdi, [r12 + r13]
lea rdx, [r14 + r13]
lea rcx, [r14 + rdi]
mov r15, rcx
call sub.msvcrt.dll_memmove
mov rdx, qword [rsp + 0xc0]
cmp rdx, rdi
jne 0x1400dce21
mov qword [rsp + 0x70], rdx
movzx r8d, byte [rsp + 0x37]
mov r12d, dword [rsp + 0x40]
mov r11, qword [rsp + 0x50]
mov r10, qword [rsp + 0x48]
mov r9, qword [rsp + 0x60]
mov r14d, dword [rsp + 0x38]
mov ecx, dword [rsp + 0x7c]
mov rax, qword [rsp + 0xa8]
jmp 0x1400dd05c
mov r12d, dword [rsp + 0x40]
mov rbx, rdi
jmp 0x1400dd08e
mov qword [rsp + 0xb8], rdi
lea rdi, [r14 + rdx]
add r13, r12
mov rcx, rdx
not rcx
add rcx, r13
dec r12
cmp rcx, r12
mov rax, r12
cmovb rax, rcx
inc rax
cmp rax, 0x20
movzx r8d, byte [rsp + 0x37]
jae 0x1400dce8f
mov rax, qword [rsp + 0xa8]
mov rcx, rax
mov r12d, dword [rsp + 0x40]
mov r11, qword [rsp + 0x50]
mov r10, qword [rsp + 0x48]
mov r9, qword [rsp + 0x60]
mov r14d, dword [rsp + 0x38]
mov r13, rdx
jmp 0x1400dd019
mov r12d, dword [rsp + 0x40]
mov ecx, dword [rsp + 0x7c]
jmp 0x1400dd064
mov qword [rsp + 0x70], rax
cmp rcx, r12
cmovb r12, rcx
lea rcx, [rdx + r12]
mov r9, r14
mov qword [rsp + 0xb0], r14
lea r9, [r14 + rcx + 1]
mov qword [rsp + 0x68], rbp
lea r11, [rbp + 0x18]
mov r14, qword [rsp + 0xa8]
add r12, r14
inc r12
cmp rdi, r11
setb bpl
mov rax, qword [rsp + 0x80]
cmp rax, r9
setb r10b
cmp rdi, r12
setb cl
cmp r14, r9
setb byte [rsp + 0x5f]
cmp rax, r12
setb r9b
mov rax, r14
cmp r14, r11
setb r11b
test bpl, r10b
mov r13, rdx
jne 0x1400dd199
and cl, byte [rsp + 0x5f]
mov r12d, dword [rsp + 0x40]
mov r14d, dword [rsp + 0x38]
jne 0x1400dcffb
and r9b, r11b
jne 0x1400dcffb
mov r9, qword [rsp + 0x70]
and r9, 0xfffffffffffffffc
add rdi, r9
mov rcx, rax
add rcx, r9
movq xmm1, r13
mov r10, qword [rsp + 0xb0]
add r10, r13
add r10, 2
pxor xmm0, xmm0
xor r11d, r11d
pcmpeqd xmm2, xmm2
mov ebp, dword [rax + r11]
mov dword [r10 + r11 - 2], ebp
psubq xmm1, xmm2
psubq xmm0, xmm2
add r11, 4
cmp r9, r11
jne 0x1400dcf55
paddq xmm0, xmm1
pshufd xmm1, xmm0, 0xee
paddq xmm1, xmm0
mov r10, qword [rsp + 0x80]
movq qword [r10], xmm1
cmp qword [rsp + 0x70], r9
jne 0x1400dd000
mov rcx, qword [rsp + 0xb8]
mov qword [rsp + 0x70], rcx
mov rbp, qword [rsp + 0x68]
mov r11, qword [rsp + 0x50]
mov r10, qword [rsp + 0x48]
mov r9, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x88]
mov ecx, dword [rsp + 0x7c]
jmp 0x1400dd064
mov r8d, 1
mov rcx, rbp
mov rdx, qword [rsp + 0x88]
mov rdi, r11
call fcn.1400e2de0
mov r11, rdi
mov r10, qword [rbp + 8]
mov r13, qword [rbp + 0x10]
jmp 0x1400dc9b6
mov r9, rbx
mov rbp, rdi
mov r11, qword [rsp + 0x50]
jmp 0x1400dcab5
mov rcx, rax
jmp 0x1400dd005
movq r13, xmm1
mov rbp, qword [rsp + 0x68]
mov r11, qword [rsp + 0x50]
mov r10, qword [rsp + 0x48]
mov r9, qword [rsp + 0x60]
inc r13
inc rdi
inc rcx
movzx edx, byte [rcx - 1]
mov byte [rdi - 1], dl
mov rdx, qword [rsp + 0x80]
mov qword [rdx], r13
cmp rdi, r15
je 0x1400dd04b
inc r13
inc rdi
lea rdx, [rcx + 1]
cmp rcx, rbx
mov rcx, rdx
jne 0x1400dd022
mov rcx, qword [rsp + 0xb8]
mov qword [rsp + 0x70], rcx
mov ecx, dword [rsp + 0x7c]
mov rbx, qword [rsp + 0x88]
test cl, cl
jne 0x1400dd08e
mov rcx, qword [0x1402590e0]
xor edx, edx
mov r8, rax
call sub.KERNEL32.dll_HeapFree
mov r9, qword [rsp + 0x60]
mov r10, qword [rsp + 0x48]
mov r11, qword [rsp + 0x50]
movzx r8d, byte [rsp + 0x37]
cmp rbx, r11
mov rax, qword [rsp + 0x80]
mov rdi, qword [rax]
mov r15, qword [rsp + 0xe0]
movzx r13d, word [rsp + 0x3e]
mov ebx, dword [rsp + 0x44]
mov rdx, qword [rsp + 0x70]
je 0x1400dd11e
cmp rdx, rdi
je 0x1400dd10b
mov rcx, qword [rbp + 8]
add rdx, rcx
add rcx, rdi
mov qword [rsp + 0x68], rbp
mov r8, qword [rsp + 0x98]
mov dword [rsp + 0x44], ebx
mov rbx, r11
mov rbp, r10
mov qword [rsp + 0x88], rdi
mov rdi, r9
call sub.msvcrt.dll_memmove
mov r9, rdi
mov rdi, qword [rsp + 0x88]
mov r10, rbp
mov r11, rbx
mov ebx, dword [rsp + 0x44]
movzx r8d, byte [rsp + 0x37]
mov rbp, qword [rsp + 0x68]
add rdi, qword [rsp + 0x98]
mov rax, qword [rsp + 0x80]
mov qword [rax], rdi
add r11d, 0xfffffffe
mov rcx, qword [rbp + 8]
test r12d, r12d
mov rdx, qword [rsp + 0xa0]
je 0x1400dd142
cmp rdi, rdx
jbe 0x1400dd140
cmp byte [rcx + rdx], 0xbf
jg 0x1400dd142
jmp 0x1400dd16f
jne 0x1400dd16f
mov rax, rdi
mov rdi, r11
sub rax, rdx
cmp rax, 3
jb 0x1400dc727
movzx eax, word [rcx + rdx]
xor eax, 0x2f3a
movzx ecx, byte [rcx + rdx + 2]
xor ecx, 0x2f
or cx, ax
jne 0x1400dc727
ud2
mov rcx, rbp
mov r8, r12
call fcn.1400e2de0
mov r8, qword [rsp + 0x98]
mov r14, qword [rbp + 8]
mov rax, qword [rbp + 0x10]
mov qword [rsp + 0xc0], rax
jmp 0x1400dcdbe
mov rcx, rax
mov r12d, dword [rsp + 0x40]
mov rbp, qword [rsp + 0x68]
mov r11, qword [rsp + 0x50]
mov r10, qword [rsp + 0x48]
mov r9, qword [rsp + 0x60]
mov r14d, dword [rsp + 0x38]
jmp 0x1400dd019