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

Disassembly:
push rbx
push rdi
sub rsp, 0x28
mov rbx, qword [rcx]
mov rdi, rcx
mov r9, qword [rcx + 8]
sub r9, rbx
je 0x1400442d6
movzx eax, byte [rbx]
mov byte [rcx + 0x3c], al
cmp r9, 1
jbe 0x1400442dc
movzx eax, byte [rbx + 1]
mov r8d, 2
mov qword [rsp + 0x40], rbp
xor ebp, ebp
mov byte [rcx + 0x3d], al
mov r10d, ebp
mov ecx, ebp
cmp r9, r8
jbe 0x1400442a6
nop dword [rax]
movzx edx, byte [r8 + rbx]
inc r8
mov eax, edx
and eax, 0x7f
shl rax, cl
add ecx, 7
or r10, rax
test dl, dl
jns 0x140043c95
cmp r8, r9
jae 0x1400442a6
jmp 0x140043c70
lea rax, [r8 + 0x20]
mov qword [rdi + 0x40], r10
cmp rax, r9
ja 0x1400442e2
lea rax, [r8 + rbx]
mov qword [rdi + 0x48], rax
lea rax, [r8 + 0x20]
lea r8, [rax + 4]
mov qword [rdi + 0x50], 0x20
mov dword [rdi + 0x1c], eax
cmp r8, r9
ja 0x1400442e8
mov eax, dword [rdi + 0x18]
mov r10, r8
cmp eax, 7
jne 0x140043d14
cmp byte [rdi + 0x3c], 0x12
jb 0x140043d29
lea rax, [r8 + 0x40]
cmp rax, r9
ja 0x1400442ee
lea rax, [r8 + rbx]
lea r10, [r8 + 0x42]
mov qword [rdi + 0x58], rax
mov qword [rdi + 0x60], 0x40
cmp r10, r9
ja 0x1400442f4
movzx eax, word [r8 + rbx + 0x40]
mov r8, r10
mov word [rdi + 0x68], ax
jmp 0x140043d29
cmp eax, 8
jne 0x140043d29
add r8, 0x18
cmp r8, r9
ja 0x1400442fa
mov r10, r8
mov dword [rdi + 0x20], r8d
mov r11, rbp
mov ecx, ebp
cmp r10, r9
jae 0x1400442d0
movzx edx, byte [r8 + rbx]
inc r8
mov eax, edx
mov r10, r8
and eax, 0x7f
shl rax, cl
add ecx, 7
or r11, rax
test dl, dl
js 0x140043d32
mov qword [rdi + 0x70], r11
mov r10, rbp
mov ecx, ebp
cmp r8, r9
jae 0x1400442a0
movzx edx, byte [r8 + rbx]
inc r8
mov eax, edx
and eax, 0x7f
shl rax, cl
add ecx, 7
or r10, rax
test dl, dl
js 0x140043d61
mov qword [rdi + 0x78], r10
mov r10, rbp
mov ecx, ebp
cmp r8, r9
jae 0x1400442ac
nop word [rax + rax]
movzx edx, byte [r8 + rbx]
inc r8
mov eax, edx
and eax, 0x7f
shl rax, cl
add ecx, 7
or r10, rax
test dl, dl
jns 0x140043dc5
cmp r8, r9
jae 0x1400442ac
jmp 0x140043da0
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x50], r12
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x20], r15
mov qword [rdi + 0x80], r10
cmp r10, 1
jne 0x14004429c
cmp r8, r9
jae 0x140044300
movzx eax, byte [r8 + rbx]
inc r8
mov byte [rdi + 0x88], al
cmp al, 0xff
jne 0x14004429c
mov r10, rbp
mov ecx, ebp
nop
cmp r8, r9
jae 0x14004438a
movzx edx, byte [r8 + rbx]
inc r8
mov eax, edx
and eax, 0x7f
shl rax, cl
add ecx, 7
or r10, rax
test dl, dl
js 0x140043e10
mov qword [rdi + 0x90], r10
mov ecx, ebp
mov r10, rbp
nop
cmp r8, r9
jae 0x140044384
movzx edx, byte [r8 + rbx]
inc r8
mov eax, edx
and eax, 0x7f
shl rax, cl
add ecx, 7
or r10, rax
test dl, dl
js 0x140043e40
mov r11d, dword [rdi + 0x18]
mov rax, rbp
cmp r11d, 8
mov qword [rdi + 0x98], r10
sete al
inc rax
cmp r10, rax
jne 0x14004429c
mov r10, rbp
mov ecx, ebp
cmp r8, r9
jae 0x1400442b2
nop dword [rax]
nop word [rax + rax]
movzx edx, byte [r8 + rbx]
inc r8
mov eax, edx
and eax, 0x7f
shl rax, cl
add ecx, 7
or r10, rax
test dl, dl
jns 0x140043ec5
cmp r8, r9
jae 0x1400442b2
jmp 0x140043ea0
mov qword [rdi + 0xa0], r10
cmp r8, r9
jae 0x140044306
movzx eax, byte [r8 + rbx]
lea r10, [r8 + 1]
mov byte [rdi + 0xa8], al
sub al, 2
cmp al, 1
ja 0x14004429c
lea rax, [r10 + 0x20]
mov dword [rdi + 0x28], r10d
cmp rax, r9
ja 0x14004430c
lea rax, [r10 + rbx]
add r10, 0x20
mov qword [rdi + 0xb0], rax
mov qword [rdi + 0xb8], 0x20
movzx ecx, byte [rdi + 0xa8]
cmp r11d, 8
jne 0x14004403f
cmp cl, 2
jne 0x14004429c
mov r8, rbp
mov ecx, ebp
cmp r10, r9
jae 0x1400442b8
nop dword [rax]
nop word [rax + rax]
movzx edx, byte [r10 + rbx]
inc r10
mov eax, edx
and eax, 0x7f
shl rax, cl
add ecx, 7
or r8, rax
test dl, dl
jns 0x140043f75
cmp r10, r9
jae 0x1400442b8
jmp 0x140043f50
lea rax, [r10 + r8]
cmp rax, r9
ja 0x140044312
lea rcx, [r10 + r8]
cmp rcx, r9
jae 0x140044318
movzx eax, byte [rcx + rbx]
inc rcx
mov byte [rdi + 0xc0], al
cmp rcx, r9
jae 0x1400442be
nop word [rax + rax]
lea rax, [rcx + rbx]
inc rcx
cmp byte [rax], bpl
jge 0x140043fc7
cmp rcx, r9
jae 0x1400442be
jmp 0x140043fb0
cmp rcx, r9
jae 0x14004431e
cmp byte [rcx + rbx], 2
jne 0x14004429c
lea r8, [rcx + 0x21]
cmp r8, r9
ja 0x140044324
mov r10, rbp
mov ecx, ebp
jae 0x1400442c4
nop dword [rax]
nop word [rax + rax]
movzx edx, byte [r8 + rbx]
inc r8
mov eax, edx
and eax, 0x7f
shl rax, cl
add ecx, 7
or r10, rax
test dl, dl
jns 0x140044025
cmp r8, r9
jae 0x1400442c4
jmp 0x140044000
add r10, r8
cmp r10, r9
ja 0x14004432a
jae 0x140044330
inc r10
mov rax, r10
jmp 0x140044062
mov rax, r10
cmp cl, 3
jne 0x140044062
cmp r10, r9
jae 0x140044336
movzx eax, byte [r10 + rbx]
mov byte [rdi + 0xc0], al
lea rax, [r10 + 1]
mov r10, rax
mov r11, rbp
mov ecx, ebp
cmp rax, r9
jae 0x1400442ca
movzx edx, byte [r10 + rbx]
inc r10
mov eax, edx
and eax, 0x7f
shl rax, cl
add ecx, 7
or r11, rax
test dl, dl
jns 0x140044095
cmp r10, r9
jae 0x1400442ca
jmp 0x140044070
mov r15d, r10d
mov r8, rbp
mov qword [rdi + 0xc8], r11
add r15, rbx
mov dword [rdi + 0x2c], r10d
add r10, r11
cmp r10, r9
ja 0x14004433c
mov r12b, 1
test r11, r11
je 0x1400441db
mov rsi, rbp
mov ecx, ebp
cmp r8, r11
jae 0x140044366
movzx edx, byte [r8 + r15]
inc r8
mov eax, edx
and eax, 0x7f
shl rax, cl
add ecx, 7
or rsi, rax
test dl, dl
js 0x1400440c6
sub rsi, 1
je 0x1400441b4
sub rsi, 1
je 0x14004415e
cmp rsi, 1
jne 0x14004429c
mov r14, rbp
mov ecx, ebp
mov rsi, r8
nop dword [rax + rax]
cmp rsi, r11
jae 0x14004434e
movzx edx, byte [r8 + r15]
inc r8
mov eax, edx
mov rsi, r8
and eax, 0x7f
shl rax, cl
add ecx, 7
or r14, rax
test dl, dl
js 0x140044110
mov ecx, dword [rdi + 0x2c]
add r8, r14
add ecx, esi
mov dword [rdi + 0x38], ecx
cmp r8, r11
ja 0x140044348
lea rax, [rsi + r15]
mov qword [rdi + 0xe0], rax
mov qword [rdi + 0xe8], r14
jmp 0x1400441d2
mov r14, rbp
mov ecx, ebp
mov rsi, r8
cmp rsi, r11
jae 0x14004435a
movzx edx, byte [r8 + r15]
inc r8
mov eax, edx
mov rsi, r8
and eax, 0x7f
shl rax, cl
add ecx, 7
or r14, rax
test dl, dl
js 0x140044166
mov ecx, dword [rdi + 0x2c]
add r8, r14
add ecx, esi
mov dword [rdi + 0x34], ecx
cmp r8, r11
ja 0x140044354
lea rax, [rsi + r15]
mov qword [rdi + 0xd0], rax
mov qword [rdi + 0xd8], r14
jmp 0x1400441d2
test r12b, r12b
je 0x1400441c5
mov ecx, dword [rdi + 0x2c]
xor r12b, r12b
add ecx, r8d
mov dword [rdi + 0x30], ecx
add r8, 0x20
cmp r8, r11
ja 0x140044360
cmp r8, r11
jb 0x1400440c1
cmp dword [rdi + 0x18], 8
jne 0x140044225
cmp r10, r9
jae 0x140044378
lea rax, [r10 + rbx]
inc r10
cmp byte [rax], bpl
jl 0x1400441e1
cmp r10, r9
jae 0x140044372
lea rax, [r10 + rbx]
inc r10
cmp byte [rax], bpl
jl 0x1400441f6
nop dword [rax + rax]
cmp r10, r9
jae 0x14004436c
lea rax, [r10 + rbx]
inc r10
cmp byte [rax], bpl
jl 0x140044210
mov dword [rdi + 0x24], r10d
cmp r10, r9
jae 0x140044342
lea r8, [r10 + 1]
cmp byte [r10 + rbx], bpl
jne 0x14004429c
mov ecx, r10d
lea rax, [rcx + 1]
cmp r8, rax
jne 0x14004429c
cmp byte [rcx + rbx], bpl
jne 0x14004429c
mov ecx, ebp
cmp r8, r9
jae 0x14004437e
movzx edx, byte [r8 + rbx]
inc r8
mov eax, edx
and eax, 0x7f
shl rax, cl
add ecx, 7
or rbp, rax
test dl, dl
js 0x140044250
mov qword [rdi + 0xf0], rbp
mov al, 1
mov r14, qword [rsp + 0x58]
mov r12, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x48]
mov r15, qword [rsp + 0x20]
mov rbp, qword [rsp + 0x40]
add rsp, 0x28
pop rdi
pop rbx
ret
xor al, al
jmp 0x14004427c
call fcn.140044390
int3
call fcn.140044390
int3
call fcn.140044390
int3
call fcn.140044390
int3
call fcn.140044390
int3
call fcn.140044390
int3
call fcn.140044390
int3
call fcn.140044390
int3
call fcn.140044390
int3
call fcn.140044390
int3
call fcn.140044390
int3
call fcn.140044390
int3
call fcn.140044390
int3
call fcn.140044390
int3
call fcn.140044390
int3
call fcn.140044390
int3
call fcn.140044390
int3
call fcn.140044390
int3
call fcn.140044390
int3
call fcn.140044390
int3
call fcn.140044390
int3
call fcn.140044390
int3
call fcn.140044390
int3
call fcn.140044390
int3
call fcn.140044390
int3
call fcn.140044390
int3
call fcn.140044390
int3
call fcn.140044390
int3
call fcn.140044390
int3
call fcn.140044390
int3
call fcn.140044390
int3
call fcn.140044390
int3
call fcn.140044390
int3
call fcn.140044390
int3
call fcn.140044390
int3
call fcn.140044390
int3
call fcn.140044390
int3
call fcn.140044390
int3
call fcn.140044390
int3
call fcn.140044390
int3