Function at 0x14002d420
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]
movzx eax, byte [rax + 0x14]
mov byte [rsp + 0x18], al
cmp byte [rsp + 0x18], 3
je 0x14002d46c
cmp byte [rsp + 0x18], 4
je 0x14002d497
cmp byte [rsp + 0x18], 5
je 0x14002d51d
cmp byte [rsp + 0x18], 6
je 0x14002d9c8
jmp 0x14002dfa7
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0x30]
lea rcx, [0x1400377e0]
mov rdx, qword [rsp + 0x88]
movzx eax, word [rcx + rax*2]
mov word [rdx + 0x2c6], ax
jmp 0x14002dfa7
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0x30]
lea rcx, [0x1400377e4]
mov rdx, qword [rsp + 0x88]
movzx eax, word [rcx + rax*2]
mov word [rdx + 0x2c6], ax
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x60]
movzx eax, byte [rax + 0xc]
shr al, 5
and al, 7
movzx eax, al
test eax, eax
je 0x14002d518
mov rax, qword [rsp + 0x88]
mov byte [rax + 0x2cb], 1
mov rax, qword [rsp + 0x60]
movzx eax, byte [rax + 0xc]
shr al, 5
and al, 7
movzx eax, al
lea rcx, [0x14007a2a4]
mov rdx, qword [rsp + 0x88]
movzx eax, byte [rcx + rax]
mov byte [rdx + 0x2cc], al
jmp 0x14002dfa7
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x10], rax
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0x30]
mov byte [rsp], al
mov rax, qword [rsp + 0x10]
movzx eax, byte [rax + 0xc]
shr al, 5
and al, 3
movzx eax, al
test eax, eax
je 0x14002d564
mov rax, qword [rsp + 0x10]
movzx eax, byte [rax + 0xc]
shr al, 5
and al, 3
movzx eax, al
dec eax
mov byte [rsp], al
movzx eax, byte [rsp]
lea rcx, [0x1400377e8]
mov rdx, qword [rsp + 0x88]
movzx eax, word [rcx + rax*2]
mov word [rdx + 0x2c6], ax
mov rax, qword [rsp + 0x10]
movzx eax, byte [rax + 0xd]
and al, 0xf
mov rcx, qword [rsp + 0x80]
mov byte [rcx + 0x35], al
mov rax, qword [rsp + 0x10]
movzx eax, byte [rax + 0xd]
and al, 0xf
movzx eax, al
test eax, eax
je 0x14002d8ba
mov rax, qword [rsp + 0x10]
movzx eax, byte [rax + 0xd]
shr al, 4
and al, 7
movzx eax, al
lea rcx, [0x1400377f0]
mov rdx, qword [rsp + 0x80]
movzx eax, byte [rcx + rax]
mov byte [rdx + 0x36], al
mov rax, qword [rsp + 0x10]
movzx eax, byte [rax + 0xd]
and al, 0xf
movzx eax, al
mov dword [rsp + 0x1c], eax
mov eax, dword [rsp + 0x1c]
dec eax
mov dword [rsp + 0x1c], eax
movsxd rax, dword [rsp + 0x1c]
lea rcx, [0x140000000]
mov eax, dword [rcx + rax*4 + 0x2dfac]
add rax, rcx
jmp rax
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax + 0x320]
mov byte [rsp + 2], al
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0x2b]
mov byte [rsp + 3], al
movzx eax, byte [rsp + 2]
imul rax, rax, 6
lea rcx, [0x1400377f8]
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 + 0x38], al
movzx eax, byte [rsp + 2]
imul rax, rax, 6
lea rcx, [0x140037808]
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 + 0x88]
movzx eax, byte [rax + rcx]
mov byte [rdx + 0x2cc], al
jmp 0x14002d8ba
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax + 0x320]
mov byte [rsp + 4], al
movzx eax, byte [rsp + 4]
imul rax, rax, 3
lea rcx, [0x140037814]
add rcx, rax
mov rax, rcx
movzx ecx, byte [rsp]
mov rdx, qword [rsp + 0x80]
movzx eax, byte [rax + rcx]
mov byte [rdx + 0x38], al
movzx eax, byte [rsp + 4]
imul rax, rax, 3
lea rcx, [0x14003781c]
add rcx, rax
mov rax, rcx
movzx ecx, byte [rsp]
mov rdx, qword [rsp + 0x88]
movzx eax, byte [rax + rcx]
mov byte [rdx + 0x2cc], al
jmp 0x14002d8ba
mov rax, qword [rsp + 0x10]
movzx eax, byte [rax + 0xf]
and al, 0xf
movzx eax, al
test eax, eax
je 0x14002d902
mov rax, qword [rsp + 0x88]
mov byte [rax + 0x2cb], 1
mov rax, qword [rsp + 0x10]
movzx eax, byte [rax + 0xf]
and al, 0xf
movzx eax, al
lea rcx, [0x140037840]
mov rdx, qword [rsp + 0x88]
movzx eax, byte [rcx + rax]
mov byte [rdx + 0x2cc], al
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax + 0x320]
test eax, eax
je 0x14002d966
mov rax, qword [rsp + 0x10]
movzx eax, byte [rax + 0xe]
and al, 3
mov byte [rsp + 0x20], al
cmp byte [rsp + 0x20], 1
jbe 0x14002d939
cmp byte [rsp + 0x20], 2
je 0x14002d93b
cmp byte [rsp + 0x20], 3
je 0x14002d957
jmp 0x14002d966
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0x30]
inc eax
mov rcx, qword [rsp + 0x88]
mov byte [rcx + 0x2cd], al
mov rax, qword [rsp + 0x88]
mov byte [rax + 0x2d0], 1
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax + 0x31d]
inc eax
mov rcx, qword [rsp + 0x88]
mov byte [rcx + 0x2c8], al
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax + 0x322]
add eax, 0xed
mov rcx, qword [rsp + 0x88]
mov byte [rcx + 0x2c9], al
mov rax, qword [rsp + 0x10]
movzx eax, byte [rax + 0xe]
shr al, 5
and al, 1
mov rcx, qword [rsp + 0x88]
mov byte [rcx + 0x2ca], al
jmp 0x14002dfa7
mov eax, 0x200
mov rcx, qword [rsp + 0x88]
mov word [rcx + 0x2c6], ax
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0xd]
shr al, 7
and al, 1
mov byte [rsp + 1], al
movzx eax, byte [rsp + 1]
test eax, eax
jne 0x14002daae
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0xe]
and al, 7
movzx eax, al
test eax, eax
je 0x14002daae
mov rax, qword [rsp + 0x88]
mov byte [rax + 0x2cb], 1
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0xe]
and al, 7
mov byte [rsp + 0x24], al
cmp byte [rsp + 0x24], 1
je case.default.0x14002dade
cmp byte [rsp + 0x24], 2
je 0x14002da6e
cmp byte [rsp + 0x24], 3
je 0x14002da84
cmp byte [rsp + 0x24], 4
je 0x14002da9a
mov rax, qword [rsp + 0x88]
mov byte [rax + 0x2cc], 3
mov byte [rsp + 1], 1
jmp 0x14002daae
mov rax, qword [rsp + 0x88]
mov byte [rax + 0x2cc], 4
mov byte [rsp + 1], 1
jmp 0x14002daae
mov rax, qword [rsp + 0x88]
mov byte [rax + 0x2cc], 0xa
mov byte [rsp + 1], 2
jmp 0x14002daae
mov rax, qword [rsp + 0x88]
mov byte [rax + 0x2cc], 0xb
mov byte [rsp + 1], 2
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0xd]
and al, 0x1f
movzx eax, al
mov dword [rsp + 0x48], eax
movsxd rax, dword [rsp + 0x48]
lea rcx, [0x140000000]
movzx eax, byte [rcx + rax + 0x2e004]
mov eax, dword [rcx + rax*4 + 0x2dfe8]
add rax, rcx
jmp rax
jmp 0x14002dbf4
mov rax, qword [rsp + 0x80]
mov byte [rax + 0x38], 0x40
jmp 0x14002dbf4
movzx eax, byte [rsp + 1]
lea rcx, [0x140037850]
lea rax, [rcx + rax*8]
mov rcx, qword [rsp + 0x88]
movzx ecx, byte [rcx + 0x331]
mov rdx, qword [rsp + 0x80]
movzx eax, byte [rax + rcx]
mov byte [rdx + 0x38], al
jmp 0x14002dbf4
movzx eax, byte [rsp + 1]
lea rcx, [0x140037868]
lea rax, [rcx + rax*8]
mov rcx, qword [rsp + 0x88]
movzx ecx, byte [rcx + 0x331]
mov rdx, qword [rsp + 0x80]
movzx eax, byte [rax + rcx]
mov byte [rdx + 0x38], al
jmp 0x14002dbf4
movzx eax, byte [rsp + 1]
imul rax, rax, 3
lea rcx, [0x140037880]
add rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x88]
movzx ecx, byte [rcx + 0x331]
mov rdx, qword [rsp + 0x80]
movzx eax, byte [rax + rcx]
mov byte [rdx + 0x38], al
jmp 0x14002dbf4
movzx eax, byte [rsp + 1]
lea rcx, [0x140037890]
lea rax, [rcx + rax*8]
mov rcx, qword [rsp + 0x88]
movzx ecx, byte [rcx + 0x331]
mov rdx, qword [rsp + 0x80]
movzx eax, byte [rax + rcx]
mov byte [rdx + 0x38], al
jmp 0x14002dbf4
movzx eax, byte [rsp + 1]
lea rcx, [0x1400378a0]
add rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x88]
movzx ecx, byte [rcx + 0x331]
mov rdx, qword [rsp + 0x80]
movzx eax, byte [rax + rcx]
mov byte [rdx + 0x38], al
jmp 0x14002dbf4
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0xd]
and al, 0x1f
mov rcx, qword [rsp + 0x80]
mov byte [rcx + 0x37], al
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0xd]
and al, 0x1f
movzx eax, al
mov dword [rsp + 0x4c], eax
movsxd rax, dword [rsp + 0x4c]
lea rcx, [0x140000000]
mov eax, dword [rcx + rax*4 + 0x2e020]
add rax, rcx
jmp rax
jmp 0x14002df40
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax + 0x331]
inc eax
mov rcx, qword [rsp + 0x88]
mov byte [rcx + 0x2cd], al
jmp 0x14002df40
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax + 0x331]
cmp eax, 4
jl 0x14002dc80
mov rax, qword [rsp + 0x88]
mov byte [rax + 0x2d0], 1
jmp 0x14002df40
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax + 0x336]
cmp eax, 3
je 0x14002df76
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax + 0x330]
test eax, eax
je 0x14002df76
mov rax, qword [rsp + 0x88]
mov byte [rax + 0x2d1], 1
mov rax, qword [rsp + 0x88]
mov byte [rax + 0x2c8], 1
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax + 0x333]
add eax, 0xed
mov rcx, qword [rsp + 0x88]
mov byte [rcx + 0x2c9], al
add rsp, 0x78
ret