Function at 0x1400d19e0
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, 0xd8
mov r13, rdx
movzx eax, byte [rcx + 0x28]
cmp al, 0x82
jne 0x1400d1a03
jmp 0x1400d1b37
movzx r8d, byte [rcx + 0x40]
cmp r8b, 0x82
je 0x1400d1a59
cmp r8b, 0x81
je 0x1400d1a46
cmp r8b, 0x80
je 0x1400d1a2f
movzx edx, byte [rcx + 0x43]
mov byte [rsp + 0x5a], dl
movzx edx, word [rcx + 0x41]
mov word [rsp + 0x58], dx
mov r9d, dword [rcx + 0x48]
mov r10d, dword [rcx + 0x44]
movzx edx, byte [rsp + 0x5a]
mov byte [rsp + 0x3a], dl
movzx edx, word [rsp + 0x58]
mov word [rsp + 0x38], dx
movzx edx, byte [rsp + 0x3a]
mov byte [rsp + 0x5a], dl
movzx edx, word [rsp + 0x38]
mov word [rsp + 0x58], dx
mov byte [rsp + 0x2f], r8b
movzx edx, byte [rsp + 0x5a]
mov byte [rsp + 0x32], dl
movzx edx, word [rsp + 0x58]
mov word [rsp + 0x30], dx
cmp al, 0x81
je 0x1400d1aa8
cmp al, 0x80
je 0x1400d1a8e
movzx edx, byte [rcx + 0x2b]
mov byte [rsp + 0x5a], dl
movzx edx, word [rcx + 0x29]
mov word [rsp + 0x58], dx
mov r8d, dword [rcx + 0x30]
mov edx, dword [rcx + 0x2c]
movzx r11d, byte [rsp + 0x5a]
mov byte [rsp + 0x36], r11b
movzx r11d, word [rsp + 0x58]
mov word [rsp + 0x34], r11w
movzx r11d, byte [rcx + 0x34]
mov byte [rsp + 0x2e], r11b
cmp r11b, 0x81
je 0x1400d1af2
cmp byte [rsp + 0x2e], 0x80
je 0x1400d1ad8
movzx r11d, byte [rcx + 0x37]
mov byte [rsp + 0x5a], r11b
movzx r11d, word [rcx + 0x35]
mov word [rsp + 0x58], r11w
mov r14d, dword [rcx + 0x3c]
mov edi, dword [rcx + 0x38]
movzx r11d, byte [rsp + 0x5a]
mov byte [rsp + 0x3a], r11b
movzx r11d, word [rsp + 0x58]
mov word [rsp + 0x38], r11w
movzx r11d, byte [rsp + 0x32]
mov byte [rsp + 0x4a], r11b
movzx r11d, word [rsp + 0x30]
mov word [rsp + 0x48], r11w
movzx r11d, word [rsp + 0x34]
mov word [rsp + 0x50], r11w
movzx r11d, byte [rsp + 0x36]
mov byte [rsp + 0x52], r11b
movzx r11d, word [rsp + 0x38]
mov word [rsp + 0x4c], r11w
movzx r11d, byte [rsp + 0x3a]
mov byte [rsp + 0x4e], r11b
movzx ebx, byte [rcx + 0x1c]
cmp bl, 0x82
mov dword [rsp + 0xbc], edi
mov qword [rsp + 0xd0], r14
jne 0x1400d1b54
jmp 0x1400d1c09
movzx ebp, byte [rcx + 0x10]
cmp bpl, 0x81
je 0x1400d1b9f
cmp bpl, 0x80
je 0x1400d1b7c
movzx r11d, byte [rcx + 0x13]
mov byte [rsp + 0x5a], r11b
movzx r11d, word [rcx + 0x11]
mov word [rsp + 0x58], r11w
mov esi, dword [rcx + 0x18]
mov r11d, dword [rcx + 0x14]
mov dword [rsp + 0xb8], r11d
movzx r11d, byte [rsp + 0x5a]
mov byte [rsp + 0x36], r11b
movzx r11d, word [rsp + 0x58]
mov word [rsp + 0x34], r11w
mov r15, qword [rcx + 8]
cmp bl, 0x81
je 0x1400d1be0
cmp bl, 0x80
je 0x1400d1bc6
movzx r11d, byte [rcx + 0x1f]
mov byte [rsp + 0x5a], r11b
movzx r11d, word [rcx + 0x1d]
mov word [rsp + 0x58], r11w
mov r14d, dword [rcx + 0x24]
mov edi, dword [rcx + 0x20]
movzx r11d, byte [rsp + 0x5a]
mov byte [rsp + 0x3a], r11b
movzx r11d, word [rsp + 0x58]
mov word [rsp + 0x38], r11w
mov r12, qword [rcx]
movzx ecx, byte [rsp + 0x36]
mov byte [rsp + 0x32], cl
movzx ecx, word [rsp + 0x34]
mov word [rsp + 0x30], cx
movzx ecx, word [rsp + 0x38]
mov word [rsp + 0x54], cx
movzx ecx, byte [rsp + 0x3a]
mov byte [rsp + 0x56], cl
movzx ecx, byte [rsp + 0x52]
mov byte [rsp + 0x83], cl
movzx ecx, word [rsp + 0x50]
mov word [rsp + 0x81], cx
movzx ecx, word [rsp + 0x4c]
mov word [rsp + 0x8d], cx
movzx ecx, byte [rsp + 0x4e]
mov byte [rsp + 0x8f], cl
movzx ecx, word [rsp + 0x48]
mov word [rsp + 0x99], cx
movzx ecx, byte [rsp + 0x4a]
mov byte [rsp + 0x9b], cl
movzx ecx, word [rsp + 0x30]
mov word [rsp + 0x69], cx
movzx ecx, byte [rsp + 0x32]
mov byte [rsp + 0x6b], cl
movzx ecx, word [rsp + 0x54]
mov word [rsp + 0x75], cx
movzx ecx, byte [rsp + 0x56]
mov byte [rsp + 0x77], cl
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x60], r15
mov byte [rsp + 0x68], bpl
mov ecx, dword [rsp + 0xb8]
mov dword [rsp + 0x6c], ecx
mov dword [rsp + 0x70], esi
mov byte [rsp + 0x74], bl
mov dword [rsp + 0x78], edi
mov dword [rsp + 0x7c], r14d
mov byte [rsp + 0x80], al
mov dword [rsp + 0x84], edx
mov dword [rsp + 0x88], r8d
movzx ecx, byte [rsp + 0x2e]
mov byte [rsp + 0x8c], cl
mov ecx, dword [rsp + 0xbc]
mov dword [rsp + 0x90], ecx
mov rcx, qword [rsp + 0xd0]
mov dword [rsp + 0x94], ecx
movzx ecx, byte [rsp + 0x2f]
mov byte [rsp + 0x98], cl
mov dword [rsp + 0x9c], r10d
mov dword [rsp + 0xa0], r9d
cmp al, 0x82
je 0x1400d1fc4
mov byte [rsp + 0x43], bpl
mov qword [rsp + 0xa8], r13
mov qword [rsp + 0xb0], r12
mov qword [rsp + 0xc0], r15
mov qword [rsp + 0xc8], r14
mov byte [rsp + 0x2d], bl
mov dword [rsp + 0x44], edi
cmp al, 0x81
jne 0x1400d1e0e
movzx edx, byte [rsp + 0x2f]
cmp dl, 0x82
je 0x1400d1f71
mov byte [rsp + 0x98], 0x81
cmp dl, 0x81
je 0x1400d1f71
lea rax, [rsp + 0x81]
mov ecx, dword [rax + 0x1f]
mov dword [rax + 7], ecx
mov rcx, qword [rax + 0x18]
mov qword [rax], rcx
mov byte [rsp + 0x80], dl
cmp dl, 0x80
jne 0x1400d1f0b
mov rax, qword [rsp + 0xa8]
mov r12, qword [rax + 0x20]
mov rdi, qword [rax + 0x28]
mov r13b, pe_nt_image_headers64
jmp 0x1400d1dd1
mov edx, dword [rsp + 0x84]
lea rax, [rsp + 0x80]
mov dword [rax + 8], 0
mov qword [rax], 0
xor r13d, r13d
mov rcx, r12
call qword [rdi + 0x20]
mov r14b, 1
test al, al
jne 0x1400d2564
cmp r13b, 0x80
je 0x1400d1da0
movzx r15d, byte [rsp + 0x8a]
cmp r15b, byte [rsp + 0x8b]
jae 0x1400d1f69
lea eax, [r15 + 1]
mov byte [rsp + 0x8a], al
cmp r15b, 0xa
jae 0x1400d25bc
movzx edx, byte [rsp + r15 + 0x80]
jmp 0x1400d1dc0
mov r13d, r8d
shr r13d, 0x18
shr r8d, 0x10
cmp al, 0x80
jne 0x1400d1eaa
mov rax, qword [rsp + 0xa8]
mov r14, qword [rax + 0x20]
mov r12, qword [rax + 0x28]
mov dil, pe_nt_image_headers64
jmp 0x1400d1e74
lea rax, [rsp + 0x80]
mov dword [rax + 8], 0
mov qword [rax], 0
xor ebx, ebx
xor r13d, r13d
xor ebp, ebp
xor edi, edi
mov rcx, r14
call qword [r12 + 0x20]
mov edx, ebx
mov r8d, ebp
test al, al
jne 0x1400d2561
cmp dil, 0x80
je 0x1400d1e40
cmp r8b, r13b
jae 0x1400d1d3d
lea ebp, [r8 + 1]
mov byte [rsp + 0x8a], bpl
movzx r15d, r8b
cmp r8b, 0xa
jae 0x1400d25bc
mov ebx, edx
movzx edx, byte [rsp + r15 + 0x80]
jmp 0x1400d1e5f
movzx r15d, r8b
mov edi, r13d
mov rax, qword [rsp + 0xa8]
mov r14, qword [rax + 0x20]
mov r12, qword [rax + 0x28]
mov ebp, r15d
inc bpl
nop word [rax + rax]
cmp r15, rdi
jae 0x1400d1d3d
mov byte [rsp + 0x8a], bpl
cmp r15, 9
ja 0x1400d25bc
movzx edx, byte [rsp + r15 + 0x80]
mov rcx, r14
call qword [r12 + 0x20]
inc bpl
inc r15
test al, al
je 0x1400d1ed0
jmp 0x1400d2561
movzx edi, byte [rsp + 0x8b]
movzx r15d, byte [rsp + 0x8a]
mov rax, qword [rsp + 0xa8]
mov r12, qword [rax + 0x20]
mov r13, qword [rax + 0x28]
nop dword [rax]
cmp r15, rdi
jae 0x1400d1f69
lea eax, [r15 + 1]
mov byte [rsp + 0x8a], al
cmp r15, 9
ja 0x1400d25bc
movzx edx, byte [rsp + r15 + 0x80]
mov rcx, r12
call qword [r13 + 0x20]
inc r15
mov r14b, 1
test al, al
je 0x1400d1f30
jmp 0x1400d2564
mov byte [rsp + 0x98], 0x81
movzx eax, byte [rsp + 0x2e]
cmp al, 0x81
mov rcx, qword [rsp + 0xd0]
jne 0x1400d242b
mov byte [rsp + 0x8c], 0x81
mov byte [rsp + 0x80], 0x82
mov edi, dword [rsp + 0x44]
movzx ebx, byte [rsp + 0x2d]
mov r14, qword [rsp + 0xc8]
mov r15, qword [rsp + 0xc0]
mov r12, qword [rsp + 0xb0]
mov r13, qword [rsp + 0xa8]
movzx ebp, byte [rsp + 0x43]
cmp bl, 0x82
jne 0x1400d1fd1
xor r14d, r14d
jmp 0x1400d2564
mov qword [rsp + 0xc0], r15
mov qword [rsp + 0xc8], r14
mov byte [rsp + 0x2d], bl
mov dword [rsp + 0x44], edi
mov rdi, qword [r13 + 0x20]
mov r15, qword [r13 + 0x28]
cmp bpl, 0x81
mov edx, dword [rsp + 0xb8]
jne 0x1400d230e
test r12, r12
mov r8, qword [rsp + 0xc8]
je 0x1400d238e
cmp r12, qword [rsp + 0xc0]
je 0x1400d238e
movzx ebx, byte [r12]
test bl, bl
js 0x1400d2066
inc r12
mov qword [rsp + 0xb0], r12
mov r13b, 2
mov ax, 0x5c
cmp ebx, 0x27
ja case.default.0x1400d2055
mov ecx, ebx
lea r8, [0x140149268]
movsxd rdx, dword [r8 + rcx*4]
add rdx, r8
jmp rdx
mov dx, 0x3000
xor r8d, r8d
mov r9, rcx
jmp 0x1400d2135
mov eax, ebx
and eax, 0x1f
movzx edx, byte [r12 + 1]
and edx, 0x3f
cmp bl, 0xdf
jbe 0x1400d20bb
movzx ecx, byte [r12 + 2]
shl edx, 6
and ecx, 0x3f
or ecx, edx
cmp bl, 0xf0
jb 0x1400d2223
movzx ebx, byte [r12 + 3]
and eax, 7
shl eax, 0x12
shl ecx, 6
and ebx, 0x3f
or ebx, ecx
or ebx, eax
cmp ebx, 0x110000
je 0x1400d238e
add r12, 4
jmp 0x1400d202d
add r12, 2
mov qword [rsp + 0xb0], r12
shl eax, 6
or eax, edx
mov ebx, eax
mov r13b, 2
mov ax, 0x5c
cmp ebx, 0x27
jbe 0x1400d2045
cmp ebx, 0x5c
jne case.0x1400d2055.1
xor ecx, ecx
mov dx, 0x5c00
jmp 0x1400d212d
mov ecx, ebx
call dbg.is_printable
test al, al
je 0x1400d224b
mov ax, pe_nt_image_headers64
xor edx, edx
xor ecx, ecx
xor r9d, r9d
jmp 0x1400d2135
xor ecx, ecx
mov dx, 0x7400
jmp 0x1400d212d
xor ecx, ecx
mov dx, 0x6e00
jmp 0x1400d212d
xor ecx, ecx
mov dx, 0x7200
jmp 0x1400d212d
xor ecx, ecx
mov dx, 0x2200
jmp 0x1400d212d
xor ecx, ecx
mov dx, 0x2700
xor ebx, ebx
xor r9d, r9d
xor r8d, r8d
or rcx, r9
movzx eax, ax
or edx, eax
mov r9d, ebx
shl r9, 0x10
or r9, rcx
mov word [rsp + 0x68], dx
mov qword [rsp + 0x6a], r9
mov byte [rsp + 0x73], r13b
cmp al, 0x80
jne 0x1400d21c3
mov sil, pe_nt_image_headers64
jmp 0x1400d2194
lea rax, [rsp + 0x68]
mov dword [rax + 8], 0
mov qword [rax], 0
xor r12d, r12d
xor r13d, r13d
xor ebp, ebp
xor esi, esi
mov rcx, rdi
mov edx, ebx
call qword [r15 + 0x20]
mov ebx, r12d
mov r8d, ebp
test al, al
jne 0x1400d2561
cmp sil, 0x80
je 0x1400d2160
cmp r8b, r13b
jae 0x1400d2200
lea ebp, [r8 + 1]
mov byte [rsp + 0x72], bpl
movzx r14d, r8b
cmp r8b, 0xa
jae 0x1400d25e8
mov r12d, ebx
movzx eax, byte [rsp + r14 + 0x68]
mov ebx, eax
jmp 0x1400d217d
movzx r14d, r8b
movzx esi, r13b
nop dword [rax + rax]
cmp r14, rsi
jae 0x1400d2200
lea eax, [r14 + 1]
mov byte [rsp + 0x72], al
cmp r14, 9
ja 0x1400d25e8
movzx edx, byte [rsp + r14 + 0x68]
mov rcx, rdi
call qword [r15 + 0x20]
inc r14
test al, al
je 0x1400d21d0
jmp 0x1400d2561
mov r12, qword [rsp + 0xb0]
cmp r12, qword [rsp + 0xc0]
mov r8, qword [rsp + 0xc8]
jne 0x1400d2021
jmp 0x1400d238e
add r12, 3
mov qword [rsp + 0xb0], r12
shl eax, 0xc
or ecx, eax
mov ebx, ecx
mov r13b, 2
mov ax, 0x5c
cmp ebx, 0x27
jbe 0x1400d2045
jmp case.default.0x1400d2055
mov byte [rsp + 0x3a], 0
mov word [rsp + 0x38], 0
mov byte [rsp + 0x41], 0x7d
mov eax, ebx
shr eax, 0x14
lea rcx, [0x14014b1f3]
movzx eax, byte [rax + rcx]
mov byte [rsp + 0x3b], al
mov eax, ebx
shr eax, 0x10
and eax, 0xf
movzx eax, byte [rax + rcx]
mov byte [rsp + 0x3c], al
mov eax, ebx
shr eax, 0xc
and eax, 0xf
movzx eax, byte [rax + rcx]
mov byte [rsp + 0x3d], al
mov eax, ebx
shr eax, 8
and eax, 0xf
movzx eax, byte [rax + rcx]
mov byte [rsp + 0x3e], al
mov eax, ebx
shr eax, 4
and eax, 0xf
movzx eax, byte [rax + rcx]
mov byte [rsp + 0x3f], al
mov eax, ebx
and eax, 0xf
movzx eax, byte [rax + rcx]
mov byte [rsp + 0x40], al
or ebx, 1
bsr eax, ebx
xor eax, 0x1c
shr eax, 2
lea r8, [rax - 2]
mov byte [rsp + rax + 0x38], 0x7b
mov word [rsp + rax + 0x36], 0x755c
movzx ecx, word [rsp + 0x38]
movzx eax, cl
mov edx, ecx
and edx, 0xff00
mov rbx, qword [rsp + 0x3a]
mov rcx, rbx
movzx r9d, bx
shr rbx, 0x10
movabs r10, 0xffff000000000000
and rcx, r10
mov r13b, 0xa
jmp 0x1400d2135
mov r14d, esi
shr r14d, 0x18
shr esi, 0x10
cmp bpl, 0x80
jne 0x1400d24c6
mov r13b, pe_nt_image_headers64
jmp 0x1400d2360
lea rax, [rsp + 0x68]
mov dword [rax + 8], 0
mov qword [rax], 0
xor esi, esi
xor r14d, r14d
xor ebp, ebp
xor r13d, r13d
mov rcx, rdi
call qword [r15 + 0x20]
mov edx, esi
mov esi, ebp
test al, al
jne 0x1400d2561
cmp r13b, 0x80
je 0x1400d2330
cmp sil, r14b
jae 0x1400d2002
lea ebp, [rsi + 1]
mov byte [rsp + 0x72], bpl
movzx ebx, sil
cmp sil, 0xa
jae 0x1400d25d2
mov esi, edx
movzx edx, byte [rsp + rbx + 0x68]
jmp 0x1400d234d
movzx eax, byte [rsp + 0x2d]
cmp al, 0x81
je 0x1400d1fc9
mov esi, r8d
shr esi, 0x18
shr r8d, 0x10
cmp al, 0x80
jne 0x1400d257b
mov rcx, r8
mov bpl, pe_nt_image_headers64
jmp 0x1400d23fb
lea rax, [rsp + 0x74]
mov dword [rax + 8], 0
mov qword [rax], 0
xor r12d, r12d
xor esi, esi
xor r13d, r13d
xor ebp, ebp
mov edx, dword [rsp + 0x44]
mov rcx, rdi
call qword [r15 + 0x20]
mov r14b, 1
mov dword [rsp + 0x44], r12d
mov ecx, r13d
test al, al
jne 0x1400d2564
cmp bpl, 0x80
je 0x1400d23c0
cmp cl, sil
mov r12d, dword [rsp + 0x44]
jae 0x1400d1fc9
lea r13d, [rcx + 1]
mov byte [rsp + 0x7e], r13b
movzx ebx, cl
cmp cl, 0xa
jae 0x1400d25d2
movzx edx, byte [rsp + rbx + 0x74]
jmp 0x1400d23e1
mov r12d, ecx
shr r12d, 0x18
shr ecx, 0x10
cmp al, 0x80
jne 0x1400d2510
mov rax, qword [rsp + 0xa8]
mov r14, qword [rax + 0x20]
mov r13, qword [rax + 0x28]
mov dil, pe_nt_image_headers64
mov edx, dword [rsp + 0xbc]
jmp 0x1400d2492
lea rax, [rsp + 0x8c]
mov dword [rax + 8], 0
mov qword [rax], 0
xor ebx, ebx
xor r12d, r12d
xor ebp, ebp
xor edi, edi
mov rcx, r14
call qword [r13 + 0x20]
mov edx, ebx
mov ecx, ebp
test al, al
jne 0x1400d2561
cmp dil, 0x80
je 0x1400d2460
cmp cl, r12b
jae 0x1400d1f86
lea ebp, [rcx + 1]
mov byte [rsp + 0x96], bpl
movzx r15d, cl
cmp cl, 0xa
jae 0x1400d25bc
mov ebx, edx
movzx edx, byte [rsp + r15 + 0x8c]
jmp 0x1400d247f
movzx ebx, sil
mov esi, r14d
mov ebp, ebx
inc bpl
nop word cs:[rax + rax]
cmp rbx, rsi
jae 0x1400d2002
mov byte [rsp + 0x72], bpl
cmp rbx, 9
ja 0x1400d25d2
movzx edx, byte [rsp + rbx + 0x68]
mov rcx, rdi
call qword [r15 + 0x20]
inc bpl
inc rbx
test al, al
je 0x1400d24e0
jmp 0x1400d2561
movzx r15d, cl
mov ebx, r12d
mov rax, qword [rsp + 0xa8]
mov rdi, qword [rax + 0x20]
mov r14, qword [rax + 0x28]
mov ebp, r15d
inc bpl
nop dword [rax]
cmp r15, rbx
jae 0x1400d1f86
mov byte [rsp + 0x96], bpl
cmp r15, 9
ja 0x1400d25bc
movzx edx, byte [rsp + r15 + 0x8c]
mov rcx, rdi
call qword [r14 + 0x20]
inc bpl
inc r15
test al, al
je 0x1400d2530
mov r14b, 1
mov eax, r14d
add rsp, 0xd8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
movzx ebx, r8b
mov esi, esi
mov ebp, ebx
inc bpl
nop word cs:[rax + rax]
cmp rbx, rsi
setb r14b
jae 0x1400d2564
mov byte [rsp + 0x7e], bpl
cmp rbx, 9
ja 0x1400d25d2
movzx edx, byte [rsp + rbx + 0x74]
mov rcx, rdi
call qword [r15 + 0x20]
inc bpl
inc rbx
test al, al
je 0x1400d2590
jmp 0x1400d2564
lea r8, [0x14014d5e8]
mov edx, 0xa
mov rcx, r15
call dbg.panic_bounds_check
ud2
lea r8, [0x14014d5e8]
mov edx, 0xa
mov rcx, rbx
call dbg.panic_bounds_check
ud2
lea r8, [0x14014d5e8]
mov edx, 0xa
mov rcx, r14
call dbg.panic_bounds_check
ud2