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

Disassembly:
push rdi
push r15
sub rsp, 0x58
mov rdi, qword [rcx]
mov r15, rcx
mov r10, qword [rcx + 8]
sub r10, rdi
je 0x140043c56
movzx eax, byte [rdi]
mov byte [rcx + 0x3c], al
cmp r10, 1
jbe 0x140043c5c
movzx eax, byte [rdi + 1]
mov r8d, 2
mov qword [rsp + 0x78], rbp
xor ebp, ebp
mov byte [rcx + 0x3d], al
mov r11d, ebp
mov ecx, ebp
cmp r10, r8
jbe 0x140043c38
mov r9d, r8d
movzx edx, byte [rdi + r9]
inc r8
mov rax, rdx
mov r9, r8
and eax, 0x7f
shl rax, cl
add ecx, 7
or r11, rax
test dl, dl
jns 0x140043559
cmp r8, r10
jae 0x140043c38
jmp 0x140043530
lea rax, [r8 + 0x20]
mov qword [r15 + 0x40], r11
lea rcx, [r8 + 0x20]
cmp rax, r10
ja 0x140043c62
lea rax, [rdi + r8]
mov qword [r15 + 0x48], rax
lea rax, [r8 + 0x24]
mov qword [r15 + 0x50], 0x20
mov dword [r15 + 0x1c], ecx
lea rcx, [r8 + 0x24]
cmp rax, r10
ja 0x140043c68
mov qword [rsp + 0x48], r13
mov r8, rcx
mov r13d, dword [r15 + 0x18]
mov rdx, rcx
mov rax, rcx
cmp r13d, 7
jne 0x14004362c
cmp byte [r15 + 0x3c], 0x12
jb 0x1400435f7
lea rax, [rcx + 0x40]
cmp rax, r10
ja 0x140043c6e
lea rax, [rcx + rdi]
mov qword [r15 + 0x58], rax
lea rax, [rcx + 0x42]
mov qword [r15 + 0x60], 0x40
cmp rax, r10
ja 0x140043c74
movzx eax, word [rdi + rcx + 0x40]
add rcx, 0x42
mov word [r15 + 0x68], ax
mov rax, rcx
mov rdx, rcx
mov r8, rcx
mov dword [r15 + 0x20], ecx
mov r9, rbp
mov ecx, ebp
cmp r8, r10
jae 0x140043c50
movzx edx, byte [rdi + rdx]
lea r8, [rax + 1]
mov rax, rdx
and eax, 0x7f
shl rax, cl
add ecx, 7
or r9, rax
mov rax, r8
test dl, dl
jns 0x140043641
mov rdx, r8
jmp 0x140043600
cmp r13d, 8
jne 0x1400435f7
add rcx, 0x78
cmp rcx, r10
ja 0x140043c3e
jmp 0x1400435ee
mov qword [r15 + 0x70], r9
mov r9, r8
cmp r13d, 9
je 0x140043681
mov r11, rbp
mov ecx, ebp
cmp r8, r10
jae 0x140043c7a
movzx edx, byte [rdi + r8]
inc r8
mov rax, rdx
mov r9, r8
and eax, 0x7f
shl rax, cl
add ecx, 7
or r11, rax
test dl, dl
js 0x140043653
mov qword [r15 + 0x78], r11
mov rax, r8
mov r11, rbp
mov ecx, ebp
cmp r8, r10
jae 0x140043c44
nop
movzx edx, byte [rdi + r9]
lea r9, [rax + 1]
mov rax, rdx
and eax, 0x7f
shl rax, cl
add ecx, 7
or r11, rax
test dl, dl
jns 0x1400436ba
mov rax, r9
cmp r9, r10
jae 0x140043c44
jmp 0x140043690
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x80], rsi
mov qword [rsp + 0x50], r12
mov qword [rsp + 0x40], r14
mov qword [r15 + 0x80], r11
cmp r11, 1
jne 0x14004376b
cmp r9, r10
jae 0x140043c80
movzx eax, byte [rdi + r9]
lea r8, [r9 + 1]
mov byte [r15 + 0x88], al
cmp al, 0xff
jne 0x14004376b
mov r9, rbp
mov ecx, ebp
cmp r8, r10
jae 0x140043c32
movzx edx, byte [rdi + r8]
inc r8
mov rax, rdx
and eax, 0x7f
shl rax, cl
add ecx, 7
or r9, rax
test dl, dl
js 0x140043704
mov qword [r15 + 0x90], r9
mov ecx, ebp
mov r9, rbp
cmp r8, r10
jae 0x140043d22
movzx edx, byte [rdi + r8]
inc r8
mov rax, rdx
and eax, 0x7f
shl rax, cl
add ecx, 7
or r9, rax
test dl, dl
js 0x140043734
mov qword [r15 + 0x98], r9
cmp r13d, 8
jne 0x140043796
cmp r9, 2
jae 0x14004379c
xor al, al
mov rbx, qword [rsp + 0x70]
mov r12, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x80]
mov r14, qword [rsp + 0x40]
mov r13, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x78]
add rsp, 0x58
pop r15
pop rdi
ret
cmp r9, 1
jne 0x14004376b
mov r11, rbp
mov ecx, ebp
mov r9, r8
cmp r9, r10
jae 0x140043d1c
movzx edx, byte [rdi + r8]
inc r8
mov rax, rdx
mov r9, r8
and eax, 0x7f
shl rax, cl
add ecx, 7
or r11, rax
test dl, dl
js 0x1400437a4
mov qword [r15 + 0xa0], r11
cmp r8, r10
jae 0x140043c86
movzx eax, byte [rdi + r8]
inc r8
mov byte [r15 + 0xa8], al
sub al, 2
cmp al, 1
ja 0x14004376b
lea rax, [r8 + 0x20]
mov dword [r15 + 0x28], r8d
lea r9, [r8 + 0x20]
cmp rax, r10
ja 0x140043c8c
lea rax, [r8 + rdi]
mov qword [r15 + 0xb0], rax
mov qword [r15 + 0xb8], 0x20
movzx eax, byte [r15 + 0xa8]
cmp r13d, 8
jne 0x140043a75
cmp al, 2
jne 0x14004376b
mov r11, rbp
mov ecx, ebp
cmp r9, r10
jae 0x140043c4a
mov r8, r9
nop word [rax + rax]
movzx edx, byte [rdi + r8]
lea r8, [r9 + 1]
mov rax, rdx
and eax, 0x7f
shl rax, cl
add ecx, 7
or r11, rax
test dl, dl
jns 0x14004387a
mov r9, r8
cmp r8, r10
jae 0x140043c4a
jmp 0x140043850
lea rax, [r8 + r11]
lea r9, [r11 + r8]
cmp rax, r10
ja 0x140043c92
cmp r9, r10
jae 0x140043c98
movzx eax, byte [rdi + r9]
mov ebx, 1
mov rsi, qword [r15 + 0x98]
inc r9
mov byte [r15 + 0xc0], al
cmp rsi, rbx
jbe 0x14004396b
mov rax, r9
mov rdx, r9
nop
lea rcx, [r9]
cmp rax, r10
jae 0x140043cc2
lea rax, [rdx + 1]
mov r9, rax
mov rdx, rax
cmp byte [rdi + rcx], bpl
jl 0x1400438c0
cmp rax, r10
jae 0x140043cbc
cmp byte [rdi + rax], 2
jne 0x14004376b
lea r8, [rax + 0x21]
add rax, 0x21
cmp rax, r10
ja 0x140043cb6
mov r9, rbp
mov ecx, ebp
mov rax, r8
mov r11, r8
nop dword [rax + rax]
cmp r8, r10
jae 0x140043cb0
movzx edx, byte [r11 + rdi]
lea r8, [rax + 1]
mov rax, rdx
mov r11, r8
and eax, 0x7f
shl rax, cl
add ecx, 7
or r9, rax
mov rax, r8
test dl, dl
js 0x140043910
lea rax, [r9 + r8]
lea rcx, [r8 + r9]
cmp rax, r10
ja 0x140043caa
cmp rcx, r10
jae 0x140043ca4
lea r9, [rcx + 1]
inc rbx
mov rax, r9
mov rdx, r9
cmp rbx, rsi
jb 0x1400438c0
mov rbx, rbp
mov ecx, ebp
cmp r9, r10
jae 0x140043d16
movzx edx, byte [rdi + r9]
inc r9
mov rax, rdx
and eax, 0x7f
shl rax, cl
add ecx, 7
or rbx, rax
test dl, dl
js 0x140043970
mov r14d, r9d
lea rax, [rbx + r9]
add r14, rdi
mov qword [r15 + 0xc8], rbx
mov dword [r15 + 0x2c], r9d
mov r8, rbp
cmp rax, r10
ja 0x140043c9e
lea r11, [rbx + r9]
mov r12b, 1
test rbx, rbx
je 0x140043b50
nop word [rax + rax]
mov r9, rbp
mov ecx, ebp
cmp r8, rbx
jae 0x140043cf8
movzx edx, byte [r14 + r8]
inc r8
mov rax, rdx
and eax, 0x7f
shl rax, cl
add ecx, 7
or r9, rax
test dl, dl
js 0x1400439d5
sub r9, 1
je 0x140043b27
sub r9, 1
je 0x140043acd
cmp r9, 1
jne 0x14004376b
mov rsi, rbp
mov ecx, ebp
mov r9, r8
nop
cmp r9, rbx
jae 0x140043ce0
movzx edx, byte [r14 + r8]
inc r8
mov rax, rdx
mov r9, r8
and eax, 0x7f
shl rax, cl
add ecx, 7
or rsi, rax
test dl, dl
js 0x140043a20
mov ecx, dword [r15 + 0x2c]
add r8, rsi
add ecx, r9d
mov dword [r15 + 0x38], ecx
cmp r8, rbx
ja 0x140043cda
lea rax, [r14 + r9]
mov qword [r15 + 0xe0], rax
mov qword [r15 + 0xe8], rsi
jmp 0x140043b47
cmp al, 3
jne 0x140043a91
cmp r9, r10
jae 0x140043cc8
movzx eax, byte [rdi + r9]
inc r9
mov byte [r15 + 0xc0], al
cmp r13d, 9
jne 0x14004396b
mov r8, rbp
mov ecx, ebp
cmp r9, r10
jae 0x140043cce
movzx edx, byte [rdi + r9]
inc r9
mov rax, rdx
and eax, 0x7f
shl rax, cl
add ecx, 7
or r8, rax
test dl, dl
js 0x140043aa0
mov qword [r15 + 0x78], r8
jmp 0x14004396b
mov rsi, rbp
mov ecx, ebp
mov r9, r8
cmp r9, rbx
jae 0x140043cec
movzx edx, byte [r14 + r8]
inc r8
mov rax, rdx
mov r9, r8
and eax, 0x7f
shl rax, cl
add ecx, 7
or rsi, rax
test dl, dl
js 0x140043ad5
mov ecx, dword [r15 + 0x2c]
add r8, rsi
add ecx, r9d
mov dword [r15 + 0x34], ecx
cmp r8, rbx
ja 0x140043ce6
lea rax, [r14 + r9]
mov qword [r15 + 0xd0], rax
mov qword [r15 + 0xd8], rsi
jmp 0x140043b47
test r12b, r12b
je 0x140043b3a
mov ecx, dword [r15 + 0x2c]
xor r12b, r12b
add ecx, r8d
mov dword [r15 + 0x30], ecx
add r8, 0x20
cmp r8, rbx
ja 0x140043cf2
cmp r8, rbx
jb 0x1400439d0
cmp r13d, 8
jne 0x140043b9a
cmp r11, r10
jae 0x140043d0a
lea rax, [rdi + r11]
inc r11
cmp byte [rax], bpl
jl 0x140043b56
nop dword [rax + rax]
cmp r11, r10
jae 0x140043d04
lea rax, [rdi + r11]
inc r11
cmp byte [rax], bpl
jl 0x140043b70
cmp r11, r10
jae 0x140043cfe
lea rax, [rdi + r11]
inc r11
cmp byte [rax], bpl
jl 0x140043b85
mov dword [r15 + 0x24], r11d
cmp r11, r10
jae 0x140043cd4
lea r8, [r11 + 1]
cmp r13d, 9
jne 0x140043bd5
mov rcx, qword [r15 + 0x90]
movabs rax, 0x2d82d82d82d82d83
mul rcx
shr rdx, 7
imul rax, rdx, 0x2d0
cmp rcx, rax
je 0x140043c2b
cmp byte [rdi + r11], bpl
jne 0x14004376b
mov ecx, r11d
lea rax, [rcx + 1]
cmp r8, rax
jne 0x14004376b
cmp byte [rdi + rcx], bpl
jne 0x14004376b
mov ecx, ebp
nop dword [rax + rax]
cmp r8, r10
jae 0x140043d10
movzx edx, byte [rdi + r8]
inc r8
mov rax, rdx
and eax, 0x7f
shl rax, cl
add ecx, 7
or rbp, rax
test dl, dl
js 0x140043c00
mov qword [r15 + 0xf0], rbp
mov al, 1
jmp 0x14004376d
call fcn.140043d30
int3
call fcn.140043d30
int3
call fcn.140043d30
int3
call fcn.140043d30
int3
call fcn.140043d30
int3
call fcn.140043d30
int3
call fcn.140043d30
int3
call fcn.140043d30
int3
call fcn.140043d30
int3
call fcn.140043d30
int3
call fcn.140043d30
int3
call fcn.140043d30
int3
call fcn.140043d30
int3
call fcn.140043d30
int3
call fcn.140043d30
int3
call fcn.140043d30
int3
call fcn.140043d30
int3
call fcn.140043d30
int3
call fcn.140043d30
int3
call fcn.140043d30
int3
call fcn.140043d30
int3
call fcn.140043d30
int3
call fcn.140043d30
int3
call fcn.140043d30
int3
call fcn.140043d30
int3
call fcn.140043d30
int3
call fcn.140043d30
int3
call fcn.140043d30
int3
call fcn.140043d30
int3
call fcn.140043d30
int3
call fcn.140043d30
int3
call fcn.140043d30
int3
call fcn.140043d30
int3
call fcn.140043d30
int3
call fcn.140043d30
int3
call fcn.140043d30
int3
call fcn.140043d30
int3
call fcn.140043d30
int3
call fcn.140043d30
int3
call fcn.140043d30
int3
call fcn.140043d30
int3