Function at 0x140044650
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 0x140044dc6
movzx eax, byte [rdi]
mov byte [rcx + 0x3c], al
cmp r10, 1
jbe 0x140044dcc
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 0x140044da8
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 0x1400446c9
cmp r8, r10
jae 0x140044da8
jmp 0x1400446a0
lea rax, [r8 + 0x20]
mov qword [r15 + 0x40], r11
lea rcx, [r8 + 0x20]
cmp rax, r10
ja 0x140044dd2
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 0x140044dd8
mov qword [rsp + 0x48], r13
mov r8, rcx
mov r13d, dword [r15 + 0x18]
mov rdx, rcx
mov rax, rcx
cmp r13d, 7
jne 0x14004479c
cmp byte [r15 + 0x3c], 0x12
jb 0x140044767
lea rax, [rcx + 0x40]
cmp rax, r10
ja 0x140044dde
lea rax, [rcx + rdi]
mov qword [r15 + 0x58], rax
lea rax, [rcx + 0x42]
mov qword [r15 + 0x60], 0x40
cmp rax, r10
ja 0x140044de4
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 0x140044dc0
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 0x1400447b1
mov rdx, r8
jmp 0x140044770
cmp r13d, 8
jne 0x140044767
add rcx, 0x78
cmp rcx, r10
ja 0x140044dae
jmp 0x14004475e
mov qword [r15 + 0x70], r9
mov r9, r8
cmp r13d, 9
je 0x1400447f1
mov r11, rbp
mov ecx, ebp
cmp r8, r10
jae 0x140044dea
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 0x1400447c3
mov qword [r15 + 0x78], r11
mov rax, r8
mov r11, rbp
mov ecx, ebp
cmp r8, r10
jae 0x140044db4
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 0x14004482a
mov rax, r9
cmp r9, r10
jae 0x140044db4
jmp 0x140044800
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 0x1400448db
cmp r9, r10
jae 0x140044df0
movzx eax, byte [rdi + r9]
lea r8, [r9 + 1]
mov byte [r15 + 0x88], al
cmp al, 0xff
jne 0x1400448db
mov r9, rbp
mov ecx, ebp
cmp r8, r10
jae 0x140044da2
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 0x140044874
mov qword [r15 + 0x90], r9
mov ecx, ebp
mov r9, rbp
cmp r8, r10
jae 0x140044e92
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 0x1400448a4
mov qword [r15 + 0x98], r9
cmp r13d, 8
jne 0x140044906
cmp r9, 2
jae 0x14004490c
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 0x1400448db
mov r11, rbp
mov ecx, ebp
mov r9, r8
cmp r9, r10
jae 0x140044e8c
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 0x140044914
mov qword [r15 + 0xa0], r11
cmp r8, r10
jae 0x140044df6
movzx eax, byte [rdi + r8]
inc r8
mov byte [r15 + 0xa8], al
sub al, 2
cmp al, 1
ja 0x1400448db
lea rax, [r8 + 0x20]
mov dword [r15 + 0x28], r8d
lea r9, [r8 + 0x20]
cmp rax, r10
ja 0x140044dfc
lea rax, [r8 + rdi]
mov qword [r15 + 0xb0], rax
mov qword [r15 + 0xb8], 0x20
movzx eax, byte [r15 + 0xa8]
cmp r13d, 8
jne 0x140044be5
cmp al, 2
jne 0x1400448db
mov r11, rbp
mov ecx, ebp
cmp r9, r10
jae 0x140044dba
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 0x1400449ea
mov r9, r8
cmp r8, r10
jae 0x140044dba
jmp 0x1400449c0
lea rax, [r8 + r11]
lea r9, [r11 + r8]
cmp rax, r10
ja 0x140044e02
cmp r9, r10
jae 0x140044e08
movzx eax, byte [rdi + r9]
mov ebx, 1
mov rsi, qword [r15 + 0x98]
inc r9
mov byte [r15 + 0xc0], al
cmp rsi, rbx
jbe 0x140044adb
mov rax, r9
mov rdx, r9
nop
lea rcx, [r9]
cmp rax, r10
jae 0x140044e32
lea rax, [rdx + 1]
mov r9, rax
mov rdx, rax
cmp byte [rdi + rcx], bpl
jl 0x140044a30
cmp rax, r10
jae 0x140044e2c
cmp byte [rdi + rax], 2
jne 0x1400448db
lea r8, [rax + 0x21]
add rax, 0x21
cmp rax, r10
ja 0x140044e26
mov r9, rbp
mov ecx, ebp
mov rax, r8
mov r11, r8
nop dword [rax + rax]
cmp r8, r10
jae 0x140044e20
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 0x140044a80
lea rax, [r9 + r8]
lea rcx, [r8 + r9]
cmp rax, r10
ja 0x140044e1a
cmp rcx, r10
jae 0x140044e14
lea r9, [rcx + 1]
inc rbx
mov rax, r9
mov rdx, r9
cmp rbx, rsi
jb 0x140044a30
mov rbx, rbp
mov ecx, ebp
cmp r9, r10
jae 0x140044e86
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 0x140044ae0
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 0x140044e0e
lea r11, [rbx + r9]
mov r12b, 1
test rbx, rbx
je 0x140044cc0
nop word [rax + rax]
mov r9, rbp
mov ecx, ebp
cmp r8, rbx
jae 0x140044e68
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 0x140044b45
sub r9, 1
je 0x140044c97
sub r9, 1
je 0x140044c3d
cmp r9, 1
jne 0x1400448db
mov rsi, rbp
mov ecx, ebp
mov r9, r8
nop
cmp r9, rbx
jae 0x140044e50
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 0x140044b90
mov ecx, dword [r15 + 0x2c]
add r8, rsi
add ecx, r9d
mov dword [r15 + 0x38], ecx
cmp r8, rbx
ja 0x140044e4a
lea rax, [r14 + r9]
mov qword [r15 + 0xe0], rax
mov qword [r15 + 0xe8], rsi
jmp 0x140044cb7
cmp al, 3
jne 0x140044c01
cmp r9, r10
jae 0x140044e38
movzx eax, byte [rdi + r9]
inc r9
mov byte [r15 + 0xc0], al
cmp r13d, 9
jne 0x140044adb
mov r8, rbp
mov ecx, ebp
cmp r9, r10
jae 0x140044e3e
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 0x140044c10
mov qword [r15 + 0x78], r8
jmp 0x140044adb
mov rsi, rbp
mov ecx, ebp
mov r9, r8
cmp r9, rbx
jae 0x140044e5c
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 0x140044c45
mov ecx, dword [r15 + 0x2c]
add r8, rsi
add ecx, r9d
mov dword [r15 + 0x34], ecx
cmp r8, rbx
ja 0x140044e56
lea rax, [r14 + r9]
mov qword [r15 + 0xd0], rax
mov qword [r15 + 0xd8], rsi
jmp 0x140044cb7
test r12b, r12b
je 0x140044caa
mov ecx, dword [r15 + 0x2c]
xor r12b, r12b
add ecx, r8d
mov dword [r15 + 0x30], ecx
add r8, 0x20
cmp r8, rbx
ja 0x140044e62
cmp r8, rbx
jb 0x140044b40
cmp r13d, 8
jne 0x140044d0a
cmp r11, r10
jae 0x140044e7a
lea rax, [rdi + r11]
inc r11
cmp byte [rax], bpl
jl 0x140044cc6
nop dword [rax + rax]
cmp r11, r10
jae 0x140044e74
lea rax, [rdi + r11]
inc r11
cmp byte [rax], bpl
jl 0x140044ce0
cmp r11, r10
jae 0x140044e6e
lea rax, [rdi + r11]
inc r11
cmp byte [rax], bpl
jl 0x140044cf5
mov dword [r15 + 0x24], r11d
cmp r11, r10
jae 0x140044e44
lea r8, [r11 + 1]
cmp r13d, 9
jne 0x140044d45
mov rcx, qword [r15 + 0x90]
movabs rax, 0x2d82d82d82d82d83
mul rcx
shr rdx, 7
imul rax, rdx, 0x2d0
cmp rcx, rax
je 0x140044d9b
cmp byte [rdi + r11], bpl
jne 0x1400448db
mov ecx, r11d
lea rax, [rcx + 1]
cmp r8, rax
jne 0x1400448db
cmp byte [rdi + rcx], bpl
jne 0x1400448db
mov ecx, ebp
nop dword [rax + rax]
cmp r8, r10
jae 0x140044e80
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 0x140044d70
mov qword [r15 + 0xf0], rbp
mov al, 1
jmp 0x1400448dd
call fcn.140044ea0
int3
call fcn.140044ea0
int3
call fcn.140044ea0
int3
call fcn.140044ea0
int3
call fcn.140044ea0
int3
call fcn.140044ea0
int3
call fcn.140044ea0
int3
call fcn.140044ea0
int3
call fcn.140044ea0
int3
call fcn.140044ea0
int3
call fcn.140044ea0
int3
call fcn.140044ea0
int3
call fcn.140044ea0
int3
call fcn.140044ea0
int3
call fcn.140044ea0
int3
call fcn.140044ea0
int3
call fcn.140044ea0
int3
call fcn.140044ea0
int3
call fcn.140044ea0
int3
call fcn.140044ea0
int3
call fcn.140044ea0
int3
call fcn.140044ea0
int3
call fcn.140044ea0
int3
call fcn.140044ea0
int3
call fcn.140044ea0
int3
call fcn.140044ea0
int3
call fcn.140044ea0
int3
call fcn.140044ea0
int3
call fcn.140044ea0
int3
call fcn.140044ea0
int3
call fcn.140044ea0
int3
call fcn.140044ea0
int3
call fcn.140044ea0
int3
call fcn.140044ea0
int3
call fcn.140044ea0
int3
call fcn.140044ea0
int3
call fcn.140044ea0
int3
call fcn.140044ea0
int3
call fcn.140044ea0
int3
call fcn.140044ea0
int3
call fcn.140044ea0
int3