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

Disassembly:
push rsi
sub rsp, 0x30
mov r11, qword [rcx]
mov rsi, rcx
mov r9, qword [rcx + 8]
sub r9, r11
je 0x14004475f
movzx eax, byte [r11]
mov byte [rcx + 0x3c], al
cmp r9, 1
jbe 0x140044765
movzx eax, byte [r11 + 1]
mov r8d, 2
mov qword [rsp + 0x48], rbp
xor ebp, ebp
mov byte [rcx + 0x3d], al
mov r10d, ebp
mov ecx, ebp
cmp r9, r8
jbe 0x140044747
nop dword [rax]
movzx edx, byte [r8 + r11]
inc r8
mov eax, edx
and eax, 0x7f
shl rax, cl
add ecx, 7
or r10, rax
test dl, dl
jns 0x1400440f5
cmp r8, r9
jae 0x140044747
jmp 0x1400440d0
lea rax, [r8 + 0x20]
mov qword [rsi + 0x40], r10
cmp rax, r9
ja 0x14004476b
lea rax, [r8 + r11]
mov qword [rsi + 0x48], rax
lea rax, [r8 + 0x20]
lea r8, [rax + 4]
mov qword [rsi + 0x50], 0x20
mov dword [rsi + 0x1c], eax
cmp r8, r9
ja 0x140044771
mov qword [rsp + 0x50], rdi
mov r10, r8
mov edi, dword [rsi + 0x18]
cmp edi, 6
jne 0x140044179
cmp byte [rsi + 0x3c], 0x12
jb 0x14004418e
lea rax, [r8 + 0x40]
cmp rax, r9
ja 0x140044777
lea rax, [r8 + r11]
lea r10, [r8 + 0x42]
mov qword [rsi + 0x58], rax
mov qword [rsi + 0x60], 0x40
cmp r10, r9
ja 0x14004477d
movzx eax, word [r8 + r11 + 0x40]
mov r8, r10
mov word [rsi + 0x68], ax
jmp 0x14004418e
cmp edi, 7
jne 0x14004418e
add r8, 0x78
cmp r8, r9
ja 0x140044783
mov r10, r8
mov qword [rsp + 0x40], rbx
mov ecx, ebp
mov rbx, rbp
mov dword [rsi + 0x20], r8d
nop dword [rax]
cmp r10, r9
jae 0x140044759
movzx edx, byte [r8 + r11]
inc r8
mov eax, edx
mov r10, r8
and eax, 0x7f
shl rax, cl
add ecx, 7
or rbx, rax
test dl, dl
js 0x1400441a0
mov qword [rsi + 0x70], rbx
mov rbx, r8
cmp edi, 8
je 0x140044201
mov r10, rbp
mov ecx, ebp
cmp r8, r9
jae 0x140044789
movzx edx, byte [r8 + r11]
inc r8
mov eax, edx
mov rbx, r8
and eax, 0x7f
shl rax, cl
add ecx, 7
or r10, rax
test dl, dl
js 0x1400441d7
mov qword [rsi + 0x78], r10
mov r10, rbp
mov ecx, ebp
cmp rbx, r9
jae 0x14004474d
nop
movzx edx, byte [r8 + r11]
inc r8
mov eax, edx
and eax, 0x7f
shl rax, cl
add ecx, 7
or r10, rax
test dl, dl
jns 0x140044235
cmp r8, r9
jae 0x14004474d
jmp 0x140044210
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r15
mov qword [rsi + 0x80], r10
cmp r10, 1
jne 0x1400442d9
cmp r8, r9
jae 0x14004478f
movzx eax, byte [r8 + r11]
inc r8
mov byte [rsi + 0x88], al
cmp al, 0xff
jne 0x1400442d9
mov r10, rbp
mov ecx, ebp
cmp r8, r9
jae 0x140044741
movzx edx, byte [r8 + r11]
inc r8
mov eax, edx
and eax, 0x7f
shl rax, cl
add ecx, 7
or r10, rax
test dl, dl
js 0x140044275
mov qword [rsi + 0x90], r10
mov ecx, ebp
mov r10, rbp
cmp r8, r9
jae 0x140044831
movzx edx, byte [r8 + r11]
inc r8
mov eax, edx
and eax, 0x7f
shl rax, cl
add ecx, 7
or r10, rax
test dl, dl
js 0x1400442a4
mov qword [rsi + 0x98], r10
cmp edi, 7
jne 0x1400442ff
cmp r10, 2
jae 0x140044305
xor al, al
mov r14, qword [rsp + 0x28]
mov r12, qword [rsp + 0x58]
mov r15, qword [rsp + 0x20]
mov rbx, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x48]
add rsp, 0x30
pop rsi
ret
cmp r10, 1
jne 0x1400442d9
mov rbx, rbp
mov ecx, ebp
mov r10, r8
nop dword [rax]
cmp r10, r9
jae 0x14004482b
movzx edx, byte [r8 + r11]
inc r8
mov eax, edx
mov r10, r8
and eax, 0x7f
shl rax, cl
add ecx, 7
or rbx, rax
test dl, dl
js 0x140044310
mov qword [rsi + 0xa0], rbx
cmp r8, r9
jae 0x140044795
movzx eax, byte [r8 + r11]
inc r8
mov byte [rsi + 0xa8], al
sub al, 2
cmp al, 1
ja 0x1400442d9
lea rax, [r8 + 0x20]
mov dword [rsi + 0x28], r8d
cmp rax, r9
ja 0x14004479b
lea rax, [r8 + r11]
add r8, 0x20
mov qword [rsi + 0xb0], rax
mov qword [rsi + 0xb8], 0x20
movzx eax, byte [rsi + 0xa8]
cmp edi, 7
jne 0x14004449d
cmp al, 2
jne 0x1400442d9
mov r10, rbp
mov ecx, ebp
cmp r8, r9
jae 0x140044753
nop
movzx edx, byte [r8 + r11]
inc r8
mov eax, edx
and eax, 0x7f
shl rax, cl
add ecx, 7
or r10, rax
test dl, dl
jns 0x1400443d5
cmp r8, r9
jae 0x140044753
jmp 0x1400443b0
add r8, r10
cmp r8, r9
ja 0x1400447a1
jae 0x1400447a7
movzx eax, byte [r8 + r11]
mov edi, 1
mov r14, qword [rsi + 0x98]
inc r8
mov byte [rsi + 0xc0], al
cmp r14, rdi
jbe 0x1400444b8
mov rcx, r8
nop dword [rax]
cmp rcx, r9
jae 0x1400447cb
lea rax, [r8 + r11]
inc r8
mov rcx, r8
cmp byte [rax], bpl
jl 0x140044410
cmp rcx, r9
jae 0x1400447c5
cmp byte [r8 + r11], 2
jne 0x1400442d9
add r8, 0x21
cmp r8, r9
ja 0x1400447bf
mov rbx, rbp
mov ecx, ebp
mov r10, r8
cmp r10, r9
jae 0x1400447b9
movzx edx, byte [r8 + r11]
inc r8
mov eax, edx
mov r10, r8
and eax, 0x7f
shl rax, cl
add ecx, 7
or rbx, rax
test dl, dl
js 0x140044451
add r8, rbx
cmp r8, r9
ja 0x1400447b3
jae 0x1400447ad
inc r8
inc rdi
mov rcx, r8
cmp rdi, r14
jb 0x140044410
jmp 0x1400444b8
cmp al, 3
jne 0x1400444b8
cmp r8, r9
jae 0x1400447d1
movzx eax, byte [r8 + r11]
inc r8
mov byte [rsi + 0xc0], al
cmp dword [rsi + 0x18], 8
jne 0x1400444ea
mov r10, rbp
mov ecx, ebp
cmp r8, r9
jae 0x1400447dd
movzx edx, byte [r8 + r11]
inc r8
mov eax, edx
and eax, 0x7f
shl rax, cl
add ecx, 7
or r10, rax
test dl, dl
js 0x1400444c3
mov qword [rsi + 0x78], r10
mov rbx, rbp
mov ecx, ebp
nop
cmp r8, r9
jae 0x140044825
movzx edx, byte [r8 + r11]
inc r8
mov eax, edx
and eax, 0x7f
shl rax, cl
add ecx, 7
or rbx, rax
test dl, dl
js 0x1400444f0
mov r15d, r8d
mov r10, rbp
mov qword [rsi + 0xc8], rbx
add r15, r11
mov dword [rsi + 0x2c], r8d
add r8, rbx
cmp r8, r9
ja 0x1400447d7
mov r12b, 1
test rbx, rbx
je 0x14004465b
nop
mov rdi, rbp
mov ecx, ebp
cmp r10, rbx
jae 0x140044807
movzx edx, byte [r10 + r15]
inc r10
mov eax, edx
and eax, 0x7f
shl rax, cl
add ecx, 7
or rdi, rax
test dl, dl
js 0x140044545
sub rdi, 1
je 0x140044634
sub rdi, 1
je 0x1400445de
cmp rdi, 1
jne 0x1400442d9
mov r14, rbp
mov ecx, ebp
mov rdi, r10
nop word [rax + rax]
cmp rdi, rbx
jae 0x1400447ef
movzx edx, byte [r10 + r15]
inc r10
mov eax, edx
mov rdi, r10
and eax, 0x7f
shl rax, cl
add ecx, 7
or r14, rax
test dl, dl
js 0x140044590
mov ecx, dword [rsi + 0x2c]
add r10, r14
add ecx, edi
mov dword [rsi + 0x38], ecx
cmp r10, rbx
ja 0x1400447e9
lea rax, [rdi + r15]
mov qword [rsi + 0xe0], rax
mov qword [rsi + 0xe8], r14
jmp 0x140044652
mov r14, rbp
mov ecx, ebp
mov rdi, r10
cmp rdi, rbx
jae 0x1400447fb
movzx edx, byte [r10 + r15]
inc r10
mov eax, edx
mov rdi, r10
and eax, 0x7f
shl rax, cl
add ecx, 7
or r14, rax
test dl, dl
js 0x1400445e6
mov ecx, dword [rsi + 0x2c]
add r10, r14
add ecx, edi
mov dword [rsi + 0x34], ecx
cmp r10, rbx
ja 0x1400447f5
lea rax, [rdi + r15]
mov qword [rsi + 0xd0], rax
mov qword [rsi + 0xd8], r14
jmp 0x140044652
test r12b, r12b
je 0x140044645
mov ecx, dword [rsi + 0x2c]
xor r12b, r12b
add ecx, r10d
mov dword [rsi + 0x30], ecx
add r10, 0x20
cmp r10, rbx
ja 0x140044801
cmp r10, rbx
jb 0x140044540
mov ecx, dword [rsi + 0x18]
cmp ecx, 7
jne 0x1400446aa
cmp r8, r9
jae 0x140044819
lea rax, [r8 + r11]
inc r8
cmp byte [rax], bpl
jl 0x140044663
nop dword [rax + rax]
cmp r8, r9
jae 0x140044813
lea rax, [r8 + r11]
inc r8
cmp byte [rax], bpl
jl 0x140044680
cmp r8, r9
jae 0x14004480d
lea rax, [r8 + r11]
inc r8
cmp byte [rax], bpl
jl 0x140044695
mov dword [rsi + 0x24], r8d
cmp r8, r9
jae 0x1400447e3
movzx r10d, byte [r8 + r11]
inc r8
cmp ecx, 8
jne 0x1400446e8
mov rcx, qword [rsi + 0x90]
movabs rax, 0x2d82d82d82d82d83
mul rcx
shr rdx, 7
imul rax, rdx, 0x2d0
cmp rcx, rax
je 0x14004473a
test r10b, r10b
jne 0x1400442d9
mov ecx, dword [rsi + 0x24]
lea rax, [rcx + 1]
cmp r8, rax
jne 0x1400442d9
cmp byte [rcx + r11], bpl
jne 0x1400442d9
mov ecx, ebp
nop dword [rax]
cmp r8, r9
jae 0x14004481f
movzx edx, byte [r8 + r11]
inc r8
mov eax, edx
and eax, 0x7f
shl rax, cl
add ecx, 7
or rbp, rax
test dl, dl
js 0x140044710
mov qword [rsi + 0xf0], rbp
mov al, 1
jmp 0x1400442db
call fcn.140044840
int3
call fcn.140044840
int3
call fcn.140044840
int3
call fcn.140044840
int3
call fcn.140044840
int3
call fcn.140044840
int3
call fcn.140044840
int3
call fcn.140044840
int3
call fcn.140044840
int3
call fcn.140044840
int3
call fcn.140044840
int3
call fcn.140044840
int3
call fcn.140044840
int3
call fcn.140044840
int3
call fcn.140044840
int3
call fcn.140044840
int3
call fcn.140044840
int3
call fcn.140044840
int3
call fcn.140044840
int3
call fcn.140044840
int3
call fcn.140044840
int3
call fcn.140044840
int3
call fcn.140044840
int3
call fcn.140044840
int3
call fcn.140044840
int3
call fcn.140044840
int3
call fcn.140044840
int3
call fcn.140044840
int3
call fcn.140044840
int3
call fcn.140044840
int3
call fcn.140044840
int3
call fcn.140044840
int3
call fcn.140044840
int3
call fcn.140044840
int3
call fcn.140044840
int3
call fcn.140044840
int3
call fcn.140044840
int3
call fcn.140044840
int3
call fcn.140044840
int3
call fcn.140044840
int3
call fcn.140044840
int3