Function at 0x140043f50
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 0x14004462f
movzx eax, byte [r11]
mov byte [rcx + 0x3c], al
cmp r9, 1
jbe 0x140044635
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 0x140044617
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 0x140043fc5
cmp r8, r9
jae 0x140044617
jmp 0x140043fa0
lea rax, [r8 + 0x20]
mov qword [rsi + 0x40], r10
cmp rax, r9
ja 0x14004463b
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 0x140044641
mov qword [rsp + 0x50], rdi
mov r10, r8
mov edi, dword [rsi + 0x18]
cmp edi, 7
jne 0x140044049
cmp byte [rsi + 0x3c], 0x12
jb 0x14004405e
lea rax, [r8 + 0x40]
cmp rax, r9
ja 0x140044647
lea rax, [r8 + r11]
lea r10, [r8 + 0x42]
mov qword [rsi + 0x58], rax
mov qword [rsi + 0x60], 0x40
cmp r10, r9
ja 0x14004464d
movzx eax, word [r8 + r11 + 0x40]
mov r8, r10
mov word [rsi + 0x68], ax
jmp 0x14004405e
cmp edi, 8
jne 0x14004405e
add r8, 0x78
cmp r8, r9
ja 0x140044653
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 0x140044629
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 0x140044070
mov qword [rsi + 0x70], rbx
mov rbx, r8
cmp edi, 9
je 0x1400440d1
mov r10, rbp
mov ecx, ebp
cmp r8, r9
jae 0x140044659
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 0x1400440a7
mov qword [rsi + 0x78], r10
mov r10, rbp
mov ecx, ebp
cmp rbx, r9
jae 0x14004461d
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 0x140044105
cmp r8, r9
jae 0x14004461d
jmp 0x1400440e0
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r15
mov qword [rsi + 0x80], r10
cmp r10, 1
jne 0x1400441a9
cmp r8, r9
jae 0x14004465f
movzx eax, byte [r8 + r11]
inc r8
mov byte [rsi + 0x88], al
cmp al, 0xff
jne 0x1400441a9
mov r10, rbp
mov ecx, ebp
cmp r8, r9
jae 0x140044611
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 0x140044145
mov qword [rsi + 0x90], r10
mov ecx, ebp
mov r10, rbp
cmp r8, r9
jae 0x140044701
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 0x140044174
mov qword [rsi + 0x98], r10
cmp edi, 8
jne 0x1400441cf
cmp r10, 2
jae 0x1400441d5
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 0x1400441a9
mov rbx, rbp
mov ecx, ebp
mov r10, r8
nop dword [rax]
cmp r10, r9
jae 0x1400446fb
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 0x1400441e0
mov qword [rsi + 0xa0], rbx
cmp r8, r9
jae 0x140044665
movzx eax, byte [r8 + r11]
inc r8
mov byte [rsi + 0xa8], al
sub al, 2
cmp al, 1
ja 0x1400441a9
lea rax, [r8 + 0x20]
mov dword [rsi + 0x28], r8d
cmp rax, r9
ja 0x14004466b
lea rax, [r8 + r11]
add r8, 0x20
mov qword [rsi + 0xb0], rax
mov qword [rsi + 0xb8], 0x20
movzx eax, byte [rsi + 0xa8]
cmp edi, 8
jne 0x14004436d
cmp al, 2
jne 0x1400441a9
mov r10, rbp
mov ecx, ebp
cmp r8, r9
jae 0x140044623
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 0x1400442a5
cmp r8, r9
jae 0x140044623
jmp 0x140044280
add r8, r10
cmp r8, r9
ja 0x140044671
jae 0x140044677
movzx eax, byte [r8 + r11]
mov edi, 1
mov r14, qword [rsi + 0x98]
inc r8
mov byte [rsi + 0xc0], al
cmp r14, rdi
jbe 0x140044388
mov rcx, r8
nop dword [rax]
cmp rcx, r9
jae 0x14004469b
lea rax, [r8 + r11]
inc r8
mov rcx, r8
cmp byte [rax], bpl
jl 0x1400442e0
cmp rcx, r9
jae 0x140044695
cmp byte [r8 + r11], 2
jne 0x1400441a9
add r8, 0x21
cmp r8, r9
ja 0x14004468f
mov rbx, rbp
mov ecx, ebp
mov r10, r8
cmp r10, r9
jae 0x140044689
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 0x140044321
add r8, rbx
cmp r8, r9
ja 0x140044683
jae 0x14004467d
inc r8
inc rdi
mov rcx, r8
cmp rdi, r14
jb 0x1400442e0
jmp 0x140044388
cmp al, 3
jne 0x140044388
cmp r8, r9
jae 0x1400446a1
movzx eax, byte [r8 + r11]
inc r8
mov byte [rsi + 0xc0], al
cmp dword [rsi + 0x18], 9
jne 0x1400443ba
mov r10, rbp
mov ecx, ebp
cmp r8, r9
jae 0x1400446ad
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 0x140044393
mov qword [rsi + 0x78], r10
mov rbx, rbp
mov ecx, ebp
nop
cmp r8, r9
jae 0x1400446f5
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 0x1400443c0
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 0x1400446a7
mov r12b, 1
test rbx, rbx
je 0x14004452b
nop
mov rdi, rbp
mov ecx, ebp
cmp r10, rbx
jae 0x1400446d7
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 0x140044415
sub rdi, 1
je 0x140044504
sub rdi, 1
je 0x1400444ae
cmp rdi, 1
jne 0x1400441a9
mov r14, rbp
mov ecx, ebp
mov rdi, r10
nop word [rax + rax]
cmp rdi, rbx
jae 0x1400446bf
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 0x140044460
mov ecx, dword [rsi + 0x2c]
add r10, r14
add ecx, edi
mov dword [rsi + 0x38], ecx
cmp r10, rbx
ja 0x1400446b9
lea rax, [rdi + r15]
mov qword [rsi + 0xe0], rax
mov qword [rsi + 0xe8], r14
jmp 0x140044522
mov r14, rbp
mov ecx, ebp
mov rdi, r10
cmp rdi, rbx
jae 0x1400446cb
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 0x1400444b6
mov ecx, dword [rsi + 0x2c]
add r10, r14
add ecx, edi
mov dword [rsi + 0x34], ecx
cmp r10, rbx
ja 0x1400446c5
lea rax, [rdi + r15]
mov qword [rsi + 0xd0], rax
mov qword [rsi + 0xd8], r14
jmp 0x140044522
test r12b, r12b
je 0x140044515
mov ecx, dword [rsi + 0x2c]
xor r12b, r12b
add ecx, r10d
mov dword [rsi + 0x30], ecx
add r10, 0x20
cmp r10, rbx
ja 0x1400446d1
cmp r10, rbx
jb 0x140044410
mov ecx, dword [rsi + 0x18]
cmp ecx, 8
jne 0x14004457a
cmp r8, r9
jae 0x1400446e9
lea rax, [r8 + r11]
inc r8
cmp byte [rax], bpl
jl 0x140044533
nop dword [rax + rax]
cmp r8, r9
jae 0x1400446e3
lea rax, [r8 + r11]
inc r8
cmp byte [rax], bpl
jl 0x140044550
cmp r8, r9
jae 0x1400446dd
lea rax, [r8 + r11]
inc r8
cmp byte [rax], bpl
jl 0x140044565
mov dword [rsi + 0x24], r8d
cmp r8, r9
jae 0x1400446b3
movzx r10d, byte [r8 + r11]
inc r8
cmp ecx, 9
jne 0x1400445b8
mov rcx, qword [rsi + 0x90]
movabs rax, 0x2d82d82d82d82d83
mul rcx
shr rdx, 7
imul rax, rdx, 0x2d0
cmp rcx, rax
je 0x14004460a
test r10b, r10b
jne 0x1400441a9
mov ecx, dword [rsi + 0x24]
lea rax, [rcx + 1]
cmp r8, rax
jne 0x1400441a9
cmp byte [rcx + r11], bpl
jne 0x1400441a9
mov ecx, ebp
nop dword [rax]
cmp r8, r9
jae 0x1400446ef
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 0x1400445e0
mov qword [rsi + 0xf0], rbp
mov al, 1
jmp 0x1400441ab
call fcn.140044710
int3
call fcn.140044710
int3
call fcn.140044710
int3
call fcn.140044710
int3
call fcn.140044710
int3
call fcn.140044710
int3
call fcn.140044710
int3
call fcn.140044710
int3
call fcn.140044710
int3
call fcn.140044710
int3
call fcn.140044710
int3
call fcn.140044710
int3
call fcn.140044710
int3
call fcn.140044710
int3
call fcn.140044710
int3
call fcn.140044710
int3
call fcn.140044710
int3
call fcn.140044710
int3
call fcn.140044710
int3
call fcn.140044710
int3
call fcn.140044710
int3
call fcn.140044710
int3
call fcn.140044710
int3
call fcn.140044710
int3
call fcn.140044710
int3
call fcn.140044710
int3
call fcn.140044710
int3
call fcn.140044710
int3
call fcn.140044710
int3
call fcn.140044710
int3
call fcn.140044710
int3
call fcn.140044710
int3
call fcn.140044710
int3
call fcn.140044710
int3
call fcn.140044710
int3
call fcn.140044710
int3
call fcn.140044710
int3
call fcn.140044710
int3
call fcn.140044710
int3
call fcn.140044710
int3
call fcn.140044710
int3