Function at 0x1400d14b0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x78
mov rax, qword [rsp + 0x88]
mov eax, dword [rax + 0xc]
mov dword [rsp + 0x18], eax
cmp dword [rsp + 0x18], 2
je 0x1400d14fb
cmp dword [rsp + 0x18], 3
je 0x1400d1526
cmp dword [rsp + 0x18], 4
je 0x1400d15ab
cmp dword [rsp + 0x18], 5
je 0x1400d1acf
jmp 0x1400d2139
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0x2b]
lea rcx, [0x14015b530]
mov rdx, qword [rsp + 0x88]
movzx eax, word [rcx + rax*2]
mov word [rdx + 0x48c], ax
jmp 0x1400d2139
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0x2b]
lea rcx, [0x14015b534]
mov rdx, qword [rsp + 0x88]
movzx eax, word [rcx + rax*2]
mov word [rdx + 0x48c], ax
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x60]
movzx eax, byte [rax + 0xd]
shr al, 5
and al, 7
movzx eax, al
test eax, eax
je 0x1400d15a6
mov rax, qword [rsp + 0x88]
mov byte [rax + 0x498], 1
mov rax, qword [rsp + 0x60]
movzx eax, byte [rax + 0xd]
shr al, 5
and al, 7
movzx eax, al
lea rcx, [0x1401c8320]
mov rdx, qword [rsp + 0x88]
mov eax, dword [rcx + rax*4]
mov dword [rdx + 0x49c], eax
jmp 0x1400d2139
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x10], rax
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0x2b]
mov byte [rsp], al
mov rax, qword [rsp + 0x10]
movzx eax, byte [rax + 0xd]
shr al, 5
and al, 3
movzx eax, al
test eax, eax
je 0x1400d15f2
mov rax, qword [rsp + 0x10]
movzx eax, byte [rax + 0xd]
shr al, 5
and al, 3
movzx eax, al
dec eax
mov byte [rsp], al
movzx eax, byte [rsp]
lea rcx, [0x14015b538]
mov rdx, qword [rsp + 0x88]
movzx eax, word [rcx + rax*2]
mov word [rdx + 0x48c], ax
mov rax, qword [rsp + 0x10]
movzx eax, byte [rax + 0xe]
and al, 0xf
movzx eax, al
mov rcx, qword [rsp + 0x80]
mov dword [rcx + 0x30], eax
mov rax, qword [rsp + 0x10]
movzx eax, byte [rax + 0xe]
and al, 0xf
movzx eax, al
test eax, eax
je case.default.0x1400d16a3
mov rax, qword [rsp + 0x10]
movzx eax, byte [rax + 0xe]
shr al, 4
and al, 7
movzx eax, al
lea rcx, [0x14015b540]
mov rdx, qword [rsp + 0x80]
movzx eax, byte [rcx + rax]
mov byte [rdx + 0x34], al
mov rax, qword [rsp + 0x10]
movzx eax, byte [rax + 0xe]
and al, 0xf
movzx eax, al
mov dword [rsp + 0x1c], eax
mov eax, dword [rsp + 0x1c]
dec eax
mov dword [rsp + 0x1c], eax
cmp dword [rsp + 0x1c], 0xe
ja case.default.0x1400d16a3
movsxd rax, dword [rsp + 0x1c]
lea rcx, [0x140000000]
mov eax, dword [rcx + rax*4 + 0xd2140]
add rax, rcx
jmp rax
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax + 0x567]
mov byte [rsp + 2], al
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0x26]
mov byte [rsp + 3], al
movzx eax, byte [rsp + 2]
imul rax, rax, 6
lea rcx, [0x14015b548]
add rcx, rax
mov rax, rcx
movzx ecx, byte [rsp + 3]
imul rcx, rcx, 3
add rax, rcx
movzx ecx, byte [rsp]
mov rdx, qword [rsp + 0x80]
movzx eax, byte [rax + rcx]
mov byte [rdx + 0x3c], al
movzx eax, byte [rsp + 2]
imul rax, rax, 0x18
lea rcx, [0x14015b558]
add rcx, rax
mov rax, rcx
movzx ecx, byte [rsp + 3]
imul rcx, rcx, 0xc
add rax, rcx
movzx ecx, byte [rsp]
mov rdx, qword [rsp + 0x88]
mov eax, dword [rax + rcx*4]
mov dword [rdx + 0x49c], eax
jmp case.default.0x1400d16a3
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax + 0x567]
mov byte [rsp + 4], al
movzx eax, byte [rsp + 4]
imul rax, rax, 3
lea rcx, [0x14015b588]
add rcx, rax
mov rax, rcx
movzx ecx, byte [rsp]
mov rdx, qword [rsp + 0x80]
movzx eax, byte [rax + rcx]
mov byte [rdx + 0x3c], al
movzx eax, byte [rsp + 4]
imul rax, rax, 0xc
lea rcx, [0x14015b590]
add rcx, rax
mov rax, rcx
movzx ecx, byte [rsp]
mov rdx, qword [rsp + 0x88]
mov eax, dword [rax + rcx*4]
mov dword [rdx + 0x49c], eax
jmp case.default.0x1400d16a3
movzx eax, byte [rsp]
lea rcx, [0x14015b5a8]
mov rdx, qword [rsp + 0x80]
movzx eax, byte [rcx + rax]
mov byte [rdx + 0x3c], al
jmp case.default.0x1400d16a3
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0x26]
mov byte [rsp + 0x38], al
mov rax, qword [rsp + 0x10]
movzx eax, byte [rax + 0xe]
shr al, 4
and al, 7
movzx eax, al
lea rcx, [0x14015b5ac]
mov rdx, qword [rsp + 0x80]
movzx eax, byte [rcx + rax]
mov byte [rdx + 0x3c], al
jmp case.default.0x1400d16a3
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0x34]
mov byte [rsp + 0x3c], al
cmp byte [rsp + 0x3c], 0x20
je 0x1400d181e
cmp byte [rsp + 0x3c], 0x40
je 0x1400d182c
mov rax, qword [rsp + 0x80]
mov byte [rax + 0x3c], 4
jmp 0x1400d1838
mov rax, qword [rsp + 0x80]
mov byte [rax + 0x3c], 8
jmp case.default.0x1400d16a3
mov rax, qword [rsp + 0x80]
mov byte [rax + 0x3c], 0x10
jmp case.default.0x1400d16a3
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0x26]
mov byte [rsp + 0x40], al
cmp byte [rsp + 0x40], 0
je 0x1400d186c
cmp byte [rsp + 0x40], 1
je 0x1400d187a
mov rax, qword [rsp + 0x80]
mov byte [rax + 0x3c], 8
jmp 0x1400d1886
mov rax, qword [rsp + 0x80]
mov byte [rax + 0x3c], 0x10
jmp case.default.0x1400d16a3
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0x26]
mov byte [rsp + 0x44], al
cmp byte [rsp + 0x44], 0
je 0x1400d18a9
cmp byte [rsp + 0x44], 1
je 0x1400d18b7
mov rax, qword [rsp + 0x80]
mov byte [rax + 0x3c], 0x10
jmp 0x1400d18c3
mov rax, qword [rsp + 0x80]
mov byte [rax + 0x3c], 0x20
jmp case.default.0x1400d16a3
mov rax, qword [rsp + 0x80]
mov byte [rax + 0x3c], 0x20
jmp case.default.0x1400d16a3
movzx eax, byte [rsp]
lea rcx, [0x14015b5b4]
mov rdx, qword [rsp + 0x80]
movzx eax, byte [rcx + rax]
mov byte [rdx + 0x3c], al
jmp case.default.0x1400d16a3
movzx eax, byte [rsp]
lea rcx, [0x14015b5b8]
mov rdx, qword [rsp + 0x80]
movzx eax, byte [rcx + rax]
mov byte [rdx + 0x3c], al
jmp case.default.0x1400d16a3
movzx eax, byte [rsp]
lea rcx, [0x14015b5bc]
mov rdx, qword [rsp + 0x80]
movzx eax, byte [rcx + rax]
mov byte [rdx + 0x3c], al
jmp case.default.0x1400d16a3
mov rax, qword [rsp + 0x80]
mov byte [rax + 0x3c], 0x10
jmp case.default.0x1400d16a3
movzx eax, byte [rsp]
lea rcx, [0x14015b5c0]
mov rdx, qword [rsp + 0x80]
movzx eax, byte [rcx + rax]
mov byte [rdx + 0x3c], al
jmp case.default.0x1400d16a3
mov rax, qword [rsp + 0x10]
movzx eax, byte [rax + 0x10]
and al, 0xf
movzx eax, al
test eax, eax
je 0x1400d199b
mov rax, qword [rsp + 0x88]
mov byte [rax + 0x498], 1
mov rax, qword [rsp + 0x10]
movzx eax, byte [rax + 0x10]
and al, 0xf
movzx eax, al
lea rcx, [0x14015b5c8]
mov rdx, qword [rsp + 0x88]
mov eax, dword [rcx + rax*4]
mov dword [rdx + 0x49c], eax
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax + 0x567]
test eax, eax
je 0x1400d1a06
mov rax, qword [rsp + 0x10]
movzx eax, byte [rax + 0xf]
and al, 3
mov byte [rsp + 0x20], al
cmp byte [rsp + 0x20], 0
je 0x1400d19d9
cmp byte [rsp + 0x20], 1
je 0x1400d19d9
cmp byte [rsp + 0x20], 2
je 0x1400d19db
cmp byte [rsp + 0x20], 3
je 0x1400d19f7
jmp 0x1400d1a06
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0x2b]
inc eax
mov rcx, qword [rsp + 0x88]
mov dword [rcx + 0x4a0], eax
mov rax, qword [rsp + 0x88]
mov byte [rax + 0x4ac], 1
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax + 0x569]
add eax, 0xf0
mov rcx, qword [rsp + 0x88]
mov dword [rcx + 0x494], eax
mov rax, qword [rsp + 0x10]
movzx eax, byte [rax + 0xf]
shr al, 5
and al, 3
mov byte [rsp + 0x28], al
cmp byte [rsp + 0x28], 0
je 0x1400d1a4f
cmp byte [rsp + 0x28], 1
je 0x1400d1a71
cmp byte [rsp + 0x28], 2
je 0x1400d1a85
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax + 0x564]
add eax, 2
mov rcx, qword [rsp + 0x88]
mov dword [rcx + 0x490], eax
jmp 0x1400d1aa5
mov rax, qword [rsp + 0x88]
mov dword [rax + 0x490], 3
jmp 0x1400d1aa5
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax + 0x564]
add eax, 4
mov rcx, qword [rsp + 0x88]
mov dword [rcx + 0x490], eax
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax + 0x569]
test eax, eax
jne 0x1400d1aca
mov rax, qword [rsp + 0x88]
mov dword [rax + 0x490], 1
jmp 0x1400d2139
mov eax, 0x200
mov rcx, qword [rsp + 0x88]
mov word [rcx + 0x48c], ax
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0xe]
shr al, 7
and al, 1
mov byte [rsp + 1], al
movzx eax, byte [rsp + 1]
test eax, eax
jne 0x1400d1bc1
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0xf]
and al, 7
movzx eax, al
test eax, eax
je 0x1400d1bc1
mov rax, qword [rsp + 0x88]
mov byte [rax + 0x498], 1
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0xf]
and al, 7
mov byte [rsp + 0x24], al
cmp byte [rsp + 0x24], 1
je 0x1400d1b5f
cmp byte [rsp + 0x24], 2
je 0x1400d1b78
cmp byte [rsp + 0x24], 3
je 0x1400d1b91
cmp byte [rsp + 0x24], 4
je 0x1400d1baa
mov rax, qword [rsp + 0x88]
mov dword [rax + 0x49c], 3
mov byte [rsp + 1], 1
jmp 0x1400d1bc1
mov rax, qword [rsp + 0x88]
mov dword [rax + 0x49c], 4
mov byte [rsp + 1], 1
jmp 0x1400d1bc1
mov rax, qword [rsp + 0x88]
mov dword [rax + 0x49c], 0xa
mov byte [rsp + 1], 2
jmp 0x1400d1bc1
mov rax, qword [rsp + 0x88]
mov dword [rax + 0x49c], 0xb
mov byte [rsp + 1], 2
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0xe]
and al, 0x1f
movzx eax, al
mov dword [rsp + 0x48], eax
cmp dword [rsp + 0x48], 0x19
ja case.default.0x1400d1bf4
movsxd rax, dword [rsp + 0x48]
lea rcx, [0x140000000]
mov eax, dword [rcx + rax*4 + 0xd217c]
add rax, rcx
jmp rax
jmp case.default.0x1400d1bf4
mov rax, qword [rsp + 0x80]
mov byte [rax + 0x3c], 0x40
jmp case.default.0x1400d1bf4
movzx eax, byte [rsp + 1]
lea rcx, [0x14015b600]
lea rax, [rcx + rax*8]
mov rcx, qword [rsp + 0x88]
movzx ecx, byte [rcx + 0x574]
mov rdx, qword [rsp + 0x80]
movzx eax, byte [rax + rcx]
mov byte [rdx + 0x3c], al
jmp case.default.0x1400d1bf4
movzx eax, byte [rsp + 1]
lea rcx, [0x14015b618]
lea rax, [rcx + rax*8]
mov rcx, qword [rsp + 0x88]
movzx ecx, byte [rcx + 0x574]
mov rdx, qword [rsp + 0x80]
movzx eax, byte [rax + rcx]
mov byte [rdx + 0x3c], al
jmp case.default.0x1400d1bf4
movzx eax, byte [rsp + 1]
imul rax, rax, 3
lea rcx, [0x14015b630]
add rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x88]
movzx ecx, byte [rcx + 0x574]
mov rdx, qword [rsp + 0x80]
movzx eax, byte [rax + rcx]
mov byte [rdx + 0x3c], al
jmp case.default.0x1400d1bf4
movzx eax, byte [rsp + 1]
lea rcx, [0x14015b640]
lea rax, [rcx + rax*8]
mov rcx, qword [rsp + 0x88]
movzx ecx, byte [rcx + 0x574]
mov rdx, qword [rsp + 0x80]
movzx eax, byte [rax + rcx]
mov byte [rdx + 0x3c], al
jmp case.default.0x1400d1bf4
movzx eax, byte [rsp + 1]
lea rcx, [0x14015b554]
add rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x88]
movzx ecx, byte [rcx + 0x574]
mov rdx, qword [rsp + 0x80]
movzx eax, byte [rax + rcx]
mov byte [rdx + 0x3c], al
jmp case.default.0x1400d1bf4
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0xe]
and al, 0x1f
movzx eax, al
mov rcx, qword [rsp + 0x80]
mov dword [rcx + 0x38], eax
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0xe]
and al, 0x1f
movzx eax, al
mov dword [rsp + 0x4c], eax
cmp dword [rsp + 0x4c], 0x19
ja case.default.0x1400d1d56
movsxd rax, dword [rsp + 0x4c]
lea rcx, [0x140000000]
mov eax, dword [rcx + rax*4 + 0xd21e4]
add rax, rcx
jmp rax
jmp case.default.0x1400d1d56
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax + 0x574]
inc eax
mov rcx, qword [rsp + 0x88]
mov dword [rcx + 0x4a0], eax
jmp case.default.0x1400d1d56
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax + 0x574]
cmp eax, 4
jl 0x1400d1da4
mov rax, qword [rsp + 0x88]
mov byte [rax + 0x4ac], 1
jmp case.default.0x1400d1d56
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax + 0x574]
inc eax
mov rcx, qword [rsp + 0x88]
mov dword [rcx + 0x4a4], eax
jmp case.default.0x1400d1d56
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax + 0x574]
mov dword [rsp + 0x50], eax
cmp dword [rsp + 0x50], 7
ja case.default.0x1400d1e01
movsxd rax, dword [rsp + 0x50]
lea rcx, [0x140000000]
mov eax, dword [rcx + rax*4 + 0xd224c]
add rax, rcx
jmp rax
jmp case.default.0x1400d1e01
mov rax, qword [rsp + 0x88]
mov dword [rax + 0x49c], 4
jmp case.default.0x1400d1e01
mov rax, qword [rsp + 0x88]
mov dword [rax + 0x49c], 0xb
jmp case.default.0x1400d1e01
mov rax, qword [rsp + 0x88]
mov dword [rax + 0x4a8], 1
jmp case.default.0x1400d1e01
mov rax, qword [rsp + 0x88]
mov dword [rax + 0x4a8], 3
jmp case.default.0x1400d1e01
mov rax, qword [rsp + 0x88]
mov dword [rax + 0x4a8], 2
jmp case.default.0x1400d1e01
mov rax, qword [rsp + 0x88]
mov dword [rax + 0x4a8], 5
jmp case.default.0x1400d1e01
mov rax, qword [rsp + 0x88]
mov dword [rax + 0x4a8], 4
jmp case.default.0x1400d1e01
jmp case.default.0x1400d1d56
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax + 0x574]
mov dword [rsp + 0x54], eax
cmp dword [rsp + 0x54], 7
ja case.0x1400d1ecd.3
movsxd rax, dword [rsp + 0x54]
lea rcx, [0x140000000]
mov eax, dword [rcx + rax*4 + 0xd226c]
add rax, rcx
jmp rax
jmp case.0x1400d1ecd.3
mov rax, qword [rsp + 0x88]
mov dword [rax + 0x49c], 4
jmp case.0x1400d1ecd.3
mov rax, qword [rsp + 0x88]
mov dword [rax + 0x49c], 0xb
jmp case.0x1400d1ecd.3
mov rax, qword [rsp + 0x88]
mov dword [rax + 0x4a8], 3
jmp case.0x1400d1ecd.3
mov rax, qword [rsp + 0x88]
mov dword [rax + 0x4a8], 2
jmp case.0x1400d1ecd.3
mov rax, qword [rsp + 0x88]
mov dword [rax + 0x4a8], 5
jmp case.0x1400d1ecd.3
mov rax, qword [rsp + 0x88]
mov dword [rax + 0x4a8], 4
jmp case.0x1400d1ecd.3
jmp case.default.0x1400d1d56
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax + 0x574]
mov byte [rsp + 0x2c], al
cmp byte [rsp + 0x2c], 0
je 0x1400d1f76
cmp byte [rsp + 0x2c], 1
je 0x1400d1f78
cmp byte [rsp + 0x2c], 2
je 0x1400d1f8c
jmp 0x1400d1f9e
mov rax, qword [rsp + 0x88]
mov dword [rax + 0x49c], 3
jmp 0x1400d1f9e
mov rax, qword [rsp + 0x88]
mov dword [rax + 0x49c], 0xa
jmp case.default.0x1400d1d56
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax + 0x574]
mov dword [rsp + 0x58], eax
cmp dword [rsp + 0x58], 7
ja case.0x1400d1fd3.1
movsxd rax, dword [rsp + 0x58]
lea rcx, [0x140000000]
mov eax, dword [rcx + rax*4 + 0xd228c]
add rax, rcx
jmp rax
jmp case.0x1400d1fd3.1
mov rax, qword [rsp + 0x88]
mov dword [rax + 0x4a8], 1
jmp case.0x1400d1fd3.1
mov rax, qword [rsp + 0x88]
mov dword [rax + 0x4a8], 3
jmp case.0x1400d1fd3.1
mov rax, qword [rsp + 0x88]
mov dword [rax + 0x4a8], 2
jmp case.0x1400d1fd3.1
mov rax, qword [rsp + 0x88]
mov dword [rax + 0x4a8], 5
jmp case.0x1400d1fd3.1
mov rax, qword [rsp + 0x88]
mov dword [rax + 0x4a8], 4
jmp case.0x1400d1fd3.1
jmp case.default.0x1400d1d56
jmp case.default.0x1400d1d56
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax + 0x574]
mov byte [rsp + 8], al
cmp byte [rsp + 8], 0
je 0x1400d207b
cmp byte [rsp + 8], 4
je 0x1400d207d
cmp byte [rsp + 8], 5
je 0x1400d2091
cmp byte [rsp + 8], 6
je 0x1400d20a5
cmp byte [rsp + 8], 7
je 0x1400d20b9
jmp 0x1400d20cb
mov rax, qword [rsp + 0x88]
mov dword [rax + 0x4a8], 3
jmp 0x1400d20cb
mov rax, qword [rsp + 0x88]
mov dword [rax + 0x4a8], 2
jmp 0x1400d20cb
mov rax, qword [rsp + 0x88]
mov dword [rax + 0x4a8], 5
jmp 0x1400d20cb
mov rax, qword [rsp + 0x88]
mov dword [rax + 0x4a8], 4
jmp case.default.0x1400d1d56
jmp case.default.0x1400d1d56
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax + 0x578]
cmp eax, 3
je 0x1400d2105
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax + 0x573]
test eax, eax
je 0x1400d2105
mov rax, qword [rsp + 0x88]
mov byte [rax + 0x4ad], 1
mov rax, qword [rsp + 0x88]
mov dword [rax + 0x490], 2
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax + 0x576]
add eax, 0xf0
mov rcx, qword [rsp + 0x88]
mov dword [rcx + 0x494], eax
add rsp, 0x78
ret