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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov edi, dword [rcx + 8]
mov rsi, rcx
movzx eax, byte [rdi + 0x29]
cmp eax, 5
ja case.default.0x1400120df
lea rcx, [0x140000000]
mov edx, dword [rcx + rax*4 + 0x1230c]
add rdx, rcx
jmp rdx
xor eax, eax
mov qword [rdi + 0x38], rax
mov dword [rdi + 0x40], eax
mov eax, dword [rdi + 0x80]
test byte [rax + 4], 3
je 0x140012106
mov edx, eax
mov rcx, rdi
call fcn.140011f30
mov eax, dword [rdi + 0x80]
mov edx, dword [rax + 0x2c]
test byte [rdx + 4], 3
je 0x140012117
mov rcx, rdi
call fcn.140011f30
mov eax, dword [rdi + 0x8c]
add eax, 4
cmp eax, 0xfffffff6
jbe 0x140012139
mov edx, dword [rdi + 0x88]
test byte [rdx + 4], 3
je 0x140012139
mov rcx, rdi
call fcn.140011f30
mov rcx, rdi
call fcn.140011fe0
mov byte [rdi + 0x29], 1
xor eax, eax
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
cmp dword [rdi + 0x38], 0
je 0x140012174
mov rcx, rdi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp fcn.140013af0
mov byte [rdi + 0x29], 2
xor eax, eax
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
cmp dword [rdi + 0xfc], 0
jne 0x140012298
mov rdx, rsi
mov rcx, rdi
call fcn.140011ab0
xor eax, eax
mov byte [rdi + 0x29], 3
mov dword [rdi + 0x2c], eax
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
mov ecx, dword [rdi + 0x2c]
mov r8d, 0xffffffff
mov rax, qword [rdi]
mov ebx, dword [rdi + 0x20]
lea rdx, [rax + rcx*4]
lea eax, [rcx + 1]
mov rcx, rdi
mov dword [rdi + 0x2c], eax
call fcn.1400125e0
mov eax, dword [rdi + 8]
cmp dword [rdi + 0x2c], eax
jbe 0x1400121e8
mov byte [rdi + 0x29], 4
mov eax, dword [rdi + 0x20]
sub eax, ebx
add dword [rdi + 0x4c], eax
mov eax, 0xa
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
mov edx, dword [rdi + 0x34]
mov r8d, 0x28
mov ebx, dword [rdi + 0x20]
mov rcx, rdi
call fcn.1400125e0
mov ecx, dword [rdi + 0x20]
mov dword [rdi + 0x34], eax
sub ecx, ebx
add dword [rdi + 0x4c], ecx
mov eax, eax
cmp dword [rax], 0
jne 0x140012274
mov edx, dword [rdi + 8]
mov eax, edx
shr eax, 2
cmp dword [rdi + 0xc], eax
ja 0x14001224a
cmp edx, 0x1ff
jbe 0x14001224a
shr edx, 1
mov rcx, rsi
call fcn.140014230
cmp dword [rdi + 0x44], 0
je 0x14001226b
mov word [rdi + 0x29], 0x105
mov eax, 0x190
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
xor eax, eax
mov byte [rdi + 0x29], 0
mov dword [rdi + 0x48], eax
mov eax, 0x190
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
cmp dword [rdi + 0x44], 0
je 0x1400122d8
cmp dword [rdi + 0xfc], 0
je 0x1400122ad
mov eax, 0x7fffff00
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
mov rcx, rsi
call fcn.140011e30
mov eax, dword [rdi + 0x4c]
cmp eax, 0x64
jbe 0x1400122c3
add eax, 0xffffff9c
mov dword [rdi + 0x4c], eax
mov eax, 0x64
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
cmp byte [rdi + 0x2a], 0
jne 0x1400122f0
mov edx, dword [rdi + 0x100]
mov rcx, rsi
mov rdx, qword [rdx + 0x20]
call fcn.140014cc0
mov rbx, qword [rsp + 0x30]
xor eax, eax
mov rsi, qword [rsp + 0x38]
mov dword [rdi + 0x48], eax
mov byte [rdi + 0x29], 0
add rsp, 0x20
pop rdi
ret