Function at 0x1400b15d0
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 0x1400b15f3
jmp 0x1400b1727
movzx r8d, byte [rcx + 0x40]
cmp r8b, 0x82
je 0x1400b1649
cmp r8b, 0x81
je 0x1400b1636
cmp r8b, 0x80
je 0x1400b161f
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 0x1400b1698
cmp al, 0x80
je 0x1400b167e
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 0x1400b16e2
cmp byte [rsp + 0x2e], 0x80
je 0x1400b16c8
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 0x1400b1744
jmp 0x1400b17f9
movzx ebp, byte [rcx + 0x10]
cmp bpl, 0x81
je 0x1400b178f
cmp bpl, 0x80
je 0x1400b176c
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 0x1400b17d0
cmp bl, 0x80
je 0x1400b17b6
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 0x1400b1bb4
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 0x1400b19fe
movzx edx, byte [rsp + 0x2f]
cmp dl, 0x82
je 0x1400b1b61
mov byte [rsp + 0x98], 0x81
cmp dl, 0x81
je 0x1400b1b61
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 0x1400b1afb
mov rax, qword [rsp + 0xa8]
mov r12, qword [rax + 0x20]
mov rdi, qword [rax + 0x28]
mov r13b, pe_nt_image_headers64
jmp 0x1400b19c1
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 0x1400b2154
cmp r13b, 0x80
je 0x1400b1990
movzx r15d, byte [rsp + 0x8a]
cmp r15b, byte [rsp + 0x8b]
jae 0x1400b1b59
lea eax, [r15 + 1]
mov byte [rsp + 0x8a], al
cmp r15b, 0xa
jae 0x1400b21ac
movzx edx, byte [rsp + r15 + 0x80]
jmp 0x1400b19b0
mov r13d, r8d
shr r13d, 0x18
shr r8d, 0x10
cmp al, 0x80
jne 0x1400b1a9a
mov rax, qword [rsp + 0xa8]
mov r14, qword [rax + 0x20]
mov r12, qword [rax + 0x28]
mov dil, pe_nt_image_headers64
jmp 0x1400b1a64
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 0x1400b2151
cmp dil, 0x80
je 0x1400b1a30
cmp r8b, r13b
jae 0x1400b192d
lea ebp, [r8 + 1]
mov byte [rsp + 0x8a], bpl
movzx r15d, r8b
cmp r8b, 0xa
jae 0x1400b21ac
mov ebx, edx
movzx edx, byte [rsp + r15 + 0x80]
jmp 0x1400b1a4f
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 0x1400b192d
mov byte [rsp + 0x8a], bpl
cmp r15, 9
ja 0x1400b21ac
movzx edx, byte [rsp + r15 + 0x80]
mov rcx, r14
call qword [r12 + 0x20]
inc bpl
inc r15
test al, al
je 0x1400b1ac0
jmp 0x1400b2151
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 0x1400b1b59
lea eax, [r15 + 1]
mov byte [rsp + 0x8a], al
cmp r15, 9
ja 0x1400b21ac
movzx edx, byte [rsp + r15 + 0x80]
mov rcx, r12
call qword [r13 + 0x20]
inc r15
mov r14b, 1
test al, al
je 0x1400b1b20
jmp 0x1400b2154
mov byte [rsp + 0x98], 0x81
movzx eax, byte [rsp + 0x2e]
cmp al, 0x81
mov rcx, qword [rsp + 0xd0]
jne 0x1400b201b
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 0x1400b1bc1
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 0x1400b1efe
test r12, r12
mov r8, qword [rsp + 0xc8]
je 0x1400b1f7e
cmp r12, qword [rsp + 0xc0]
je 0x1400b1f7e
movzx ebx, byte [r12]
test bl, bl
js 0x1400b1c56
inc r12
mov qword [rsp + 0xb0], r12
mov r13b, 2
mov ax, 0x5c
cmp ebx, 0x27
ja case.default.0x1400b1c45
mov ecx, ebx
lea r8, [0x1400dd8e8]
movsxd rdx, dword [r8 + rcx*4]
add rdx, r8
jmp rdx
mov dx, 0x3000
xor r8d, r8d
mov r9, rcx
jmp 0x1400b1d25
mov eax, ebx
and eax, 0x1f
movzx edx, byte [r12 + 1]
and edx, 0x3f
cmp bl, 0xdf
jbe 0x1400b1cab
movzx ecx, byte [r12 + 2]
shl edx, 6
and ecx, 0x3f
or ecx, edx
cmp bl, 0xf0
jb 0x1400b1e13
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 0x1400b1f7e
add r12, 4
jmp 0x1400b1c1d
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 0x1400b1c35
cmp ebx, 0x5c
jne case.0x1400b1c45.1
xor ecx, ecx
mov dx, 0x5c00
jmp 0x1400b1d1d
mov ecx, ebx
call dbg.is_printable
test al, al
je 0x1400b1e3b
mov ax, pe_nt_image_headers64
xor edx, edx
xor ecx, ecx
xor r9d, r9d
jmp 0x1400b1d25
xor ecx, ecx
mov dx, 0x7400
jmp 0x1400b1d1d
xor ecx, ecx
mov dx, 0x6e00
jmp 0x1400b1d1d
xor ecx, ecx
mov dx, 0x7200
jmp 0x1400b1d1d
xor ecx, ecx
mov dx, 0x2200
jmp 0x1400b1d1d
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 0x1400b1db3
mov sil, pe_nt_image_headers64
jmp 0x1400b1d84
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 0x1400b2151
cmp sil, 0x80
je 0x1400b1d50
cmp r8b, r13b
jae 0x1400b1df0
lea ebp, [r8 + 1]
mov byte [rsp + 0x72], bpl
movzx r14d, r8b
cmp r8b, 0xa
jae 0x1400b21d8
mov r12d, ebx
movzx eax, byte [rsp + r14 + 0x68]
mov ebx, eax
jmp 0x1400b1d6d
movzx r14d, r8b
movzx esi, r13b
nop dword [rax + rax]
cmp r14, rsi
jae 0x1400b1df0
lea eax, [r14 + 1]
mov byte [rsp + 0x72], al
cmp r14, 9
ja 0x1400b21d8
movzx edx, byte [rsp + r14 + 0x68]
mov rcx, rdi
call qword [r15 + 0x20]
inc r14
test al, al
je 0x1400b1dc0
jmp 0x1400b2151
mov r12, qword [rsp + 0xb0]
cmp r12, qword [rsp + 0xc0]
mov r8, qword [rsp + 0xc8]
jne 0x1400b1c11
jmp 0x1400b1f7e
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 0x1400b1c35
jmp case.default.0x1400b1c45
mov byte [rsp + 0x3a], 0
mov word [rsp + 0x38], 0
mov byte [rsp + 0x41], 0x7d
mov eax, ebx
shr eax, 0x14
lea rcx, [0x1400df873]
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 0x1400b1d25
mov r14d, esi
shr r14d, 0x18
shr esi, 0x10
cmp bpl, 0x80
jne 0x1400b20b6
mov r13b, pe_nt_image_headers64
jmp 0x1400b1f50
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 0x1400b2151
cmp r13b, 0x80
je 0x1400b1f20
cmp sil, r14b
jae 0x1400b1bf2
lea ebp, [rsi + 1]
mov byte [rsp + 0x72], bpl
movzx ebx, sil
cmp sil, 0xa
jae 0x1400b21c2
mov esi, edx
movzx edx, byte [rsp + rbx + 0x68]
jmp 0x1400b1f3d
movzx eax, byte [rsp + 0x2d]
cmp al, 0x81
je 0x1400b1bb9
mov esi, r8d
shr esi, 0x18
shr r8d, 0x10
cmp al, 0x80
jne 0x1400b216b
mov rcx, r8
mov bpl, pe_nt_image_headers64
jmp 0x1400b1feb
mov r12d, ecx
shr r12d, 0x18
shr ecx, 0x10
cmp al, 0x80
jne 0x1400b2100
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 0x1400b2082
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 0x1400b2151
cmp dil, 0x80
je 0x1400b2050
cmp cl, r12b
jae 0x1400b1b76
lea ebp, [rcx + 1]
mov byte [rsp + 0x96], bpl
movzx r15d, cl
cmp cl, 0xa
jae 0x1400b21ac
mov ebx, edx
movzx edx, byte [rsp + r15 + 0x8c]
jmp 0x1400b206f
movzx ebx, sil
mov esi, r14d
mov ebp, ebx
inc bpl
nop word cs:[rax + rax]
cmp rbx, rsi
jae 0x1400b1bf2
mov byte [rsp + 0x72], bpl
cmp rbx, 9
ja 0x1400b21c2
movzx edx, byte [rsp + rbx + 0x68]
mov rcx, rdi
call qword [r15 + 0x20]
inc bpl
inc rbx
test al, al
je 0x1400b20d0
jmp 0x1400b2151
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 0x1400b1b76
mov byte [rsp + 0x96], bpl
cmp r15, 9
ja 0x1400b21ac
movzx edx, byte [rsp + r15 + 0x8c]
mov rcx, rdi
call qword [r14 + 0x20]
inc bpl
inc r15
test al, al
je 0x1400b2120
mov r14b, 1
movzx ebx, r8b
mov esi, esi
mov ebp, ebx
inc bpl
nop word cs:[rax + rax]
cmp rbx, rsi
setb r14b
jae 0x1400b2154
mov byte [rsp + 0x7e], bpl
cmp rbx, 9
ja 0x1400b21c2
movzx edx, byte [rsp + rbx + 0x74]
mov rcx, rdi
call qword [r15 + 0x20]
inc bpl
inc rbx
test al, al
je 0x1400b2180
jmp 0x1400b2154
lea r8, [0x1400e1c68]
mov edx, 0xa
mov rcx, r15
call dbg.panic_bounds_check
ud2
lea r8, [0x1400e1c68]
mov edx, 0xa
mov rcx, r14
call dbg.panic_bounds_check
ud2