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

Disassembly:
push rdi
push r14
sub rsp, 0x58
mov rdi, qword [rcx]
mov r14, rcx
mov r9, qword [rcx + 8]
sub r9, rdi
je 0x140043655
movzx eax, byte [rdi]
mov byte [rcx + 0x3c], al
cmp r9, 1
jbe 0x14004365b
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 r9, r8
jbe 0x14004361f
mov r10d, r8d
movzx edx, byte [r10 + rdi]
inc r8
mov eax, edx
mov r10, r8
and eax, 0x7f
shl rax, cl
add ecx, 7
or r11, rax
test dl, dl
jns 0x140042fa8
cmp r8, r9
jae 0x14004361f
jmp 0x140042f80
lea rax, [r8 + 0x20]
mov qword [r14 + 0x40], r11
lea rcx, [r8 + 0x20]
cmp rax, r9
ja 0x140043661
lea rax, [rdi + r8]
mov qword [r14 + 0x48], rax
lea rax, [r8 + 0x24]
mov qword [r14 + 0x50], 0x20
mov dword [r14 + 0x1c], ecx
lea rcx, [r8 + 0x24]
cmp rax, r9
ja 0x140043667
mov qword [rsp + 0x48], r13
mov r8, rcx
mov r13d, dword [r14 + 0x18]
mov rdx, rcx
mov rax, rcx
cmp r13d, 7
jne 0x14004307b
cmp byte [r14 + 0x3c], 0x12
jb 0x140043046
lea rax, [rcx + 0x40]
cmp rax, r9
ja 0x14004366d
lea rax, [rdi + rcx]
mov qword [r14 + 0x58], rax
lea rax, [rcx + 0x42]
mov qword [r14 + 0x60], 0x40
cmp rax, r9
ja 0x140043673
movzx eax, word [rdi + rcx + 0x40]
add rcx, 0x42
mov word [r14 + 0x68], ax
mov rax, rcx
mov rdx, rcx
mov r8, rcx
mov dword [r14 + 0x20], ecx
mov r10, rbp
mov ecx, ebp
nop
cmp r8, r9
jae 0x14004364f
movzx edx, byte [rdi + rdx]
lea r8, [rax + 1]
mov eax, edx
and eax, 0x7f
shl rax, cl
add ecx, 7
or r10, rax
test dl, dl
jns 0x140043090
mov rdx, r8
mov rax, r8
jmp 0x140043050
cmp r13d, 8
jne 0x140043046
add rcx, 0x18
cmp rcx, r9
ja 0x140043625
jmp 0x14004303d
mov qword [r14 + 0x70], r10
mov ecx, ebp
mov r10, rbp
nop dword [rax]
cmp r8, r9
jae 0x140043619
movzx edx, byte [rdi + r8]
inc r8
mov eax, edx
and eax, 0x7f
shl rax, cl
add ecx, 7
or r10, rax
test dl, dl
js 0x1400430a0
mov qword [r14 + 0x78], r10
mov r11, rbp
mov ecx, ebp
cmp r8, r9
jae 0x14004362b
mov r10, r8
nop dword [rax + rax]
movzx edx, byte [r10 + rdi]
lea r10, [r8 + 1]
mov eax, edx
and eax, 0x7f
shl rax, cl
add ecx, 7
or r11, rax
test dl, dl
jns 0x140043109
mov r8, r10
cmp r10, r9
jae 0x14004362b
jmp 0x1400430e0
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x80], rsi
mov qword [rsp + 0x50], r12
mov qword [rsp + 0x40], r15
mov qword [r14 + 0x80], r11
cmp r11, 1
jne 0x140043615
cmp r10, r9
jae 0x140043679
movzx eax, byte [rdi + r10]
lea r8, [r10 + 1]
mov byte [r14 + 0x88], al
cmp al, 0xff
jne 0x140043615
mov r10, rbp
mov ecx, ebp
cmp r8, r9
jae 0x140043703
movzx edx, byte [rdi + r8]
inc r8
mov eax, edx
and eax, 0x7f
shl rax, cl
add ecx, 7
or r10, rax
test dl, dl
js 0x140043157
mov qword [r14 + 0x90], r10
mov ecx, ebp
mov r10, rbp
cmp r8, r9
jae 0x1400436fd
movzx edx, byte [rdi + r8]
inc r8
mov eax, edx
and eax, 0x7f
shl rax, cl
add ecx, 7
or r10, rax
test dl, dl
js 0x140043186
cmp r13d, 8
mov qword [r14 + 0x98], r10
mov rax, rbp
sete al
inc rax
cmp r10, rax
jne 0x140043615
mov r10, rbp
mov ecx, ebp
cmp r8, r9
jae 0x140043631
mov rax, r8
nop word [rax + rax]
movzx edx, byte [r8 + rdi]
lea r8, [rax + 1]
mov eax, edx
and eax, 0x7f
shl rax, cl
add ecx, 7
or r10, rax
test dl, dl
jns 0x140043209
mov rax, r8
cmp r8, r9
jae 0x140043631
jmp 0x1400431e0
mov qword [r14 + 0xa0], r10
cmp r8, r9
jae 0x14004367f
movzx eax, byte [rdi + r8]
inc r8
mov byte [r14 + 0xa8], al
sub al, 2
cmp al, 1
ja 0x140043615
lea rax, [r8 + 0x20]
mov dword [r14 + 0x28], r8d
cmp rax, r9
ja 0x140043685
lea rax, [rdi + r8]
add r8, 0x20
mov qword [r14 + 0xb0], rax
mov qword [r14 + 0xb8], 0x20
movzx eax, byte [r14 + 0xa8]
cmp r13d, 8
jne 0x140043388
cmp al, 2
jne 0x140043615
mov r10, rbp
mov ecx, ebp
cmp r8, r9
jae 0x140043637
mov r11, r8
nop dword [rax + rax]
movzx edx, byte [rdi + r11]
inc r8
mov eax, edx
mov r11, r8
and eax, 0x7f
shl rax, cl
add ecx, 7
or r10, rax
test dl, dl
jns 0x1400432b8
cmp r8, r9
jae 0x140043637
jmp 0x140043290
lea rax, [r8 + r10]
cmp rax, r9
ja 0x14004368b
lea rcx, [r8 + r10]
cmp rcx, r9
jae 0x140043691
movzx eax, byte [rdi + rcx]
inc rcx
mov byte [r14 + 0xc0], al
cmp rcx, r9
jae 0x14004363d
mov rax, rcx
nop dword [rax]
inc rcx
cmp byte [rax + rdi], bpl
jge 0x140043307
mov rax, rcx
cmp rcx, r9
jae 0x14004363d
jmp 0x1400432f0
cmp rcx, r9
jae 0x140043697
cmp byte [rdi + rcx], 2
jne 0x140043615
lea rax, [rcx + 0x21]
lea r8, [rcx + 0x21]
cmp rax, r9
ja 0x14004369d
mov r10, rbp
mov ecx, ebp
cmp r8, r9
jae 0x140043643
mov r11, r8
nop dword [rax]
movzx edx, byte [rdi + r11]
inc r8
mov eax, edx
mov r11, r8
and eax, 0x7f
shl rax, cl
add ecx, 7
or r10, rax
test dl, dl
jns 0x140043368
cmp r8, r9
jae 0x140043643
jmp 0x140043340
lea rax, [r8 + r10]
lea rcx, [r8 + r10]
cmp rax, r9
ja 0x1400436a3
cmp rcx, r9
jae 0x1400436a9
lea r8, [rcx + 1]
jmp 0x1400433a7
mov r10, r8
cmp al, 3
jne 0x1400433aa
cmp r8, r9
jae 0x1400436af
movzx eax, byte [rdi + r8]
inc r8
mov byte [r14 + 0xc0], al
mov r10, r8
mov r11, rbp
mov ecx, ebp
cmp r8, r9
jae 0x140043649
nop dword [rax + rax]
movzx edx, byte [rdi + r10]
lea r10, [r8 + 1]
mov eax, edx
and eax, 0x7f
shl rax, cl
add ecx, 7
or r11, rax
test dl, dl
jns 0x1400433e9
mov r8, r10
cmp r10, r9
jae 0x140043649
jmp 0x1400433c0
mov r15d, r10d
lea rax, [r10 + r11]
add r15, rdi
mov qword [r14 + 0xc8], r11
mov dword [r14 + 0x2c], r10d
mov r8, rbp
cmp rax, r9
ja 0x1400436b5
add r10, r11
mov r12b, 1
test r11, r11
je 0x140043549
nop dword [rax]
mov rbx, rbp
mov ecx, ebp
cmp r8, r11
jae 0x1400436df
movzx edx, byte [r8 + r15]
inc r8
mov eax, edx
and eax, 0x7f
shl rax, cl
add ecx, 7
or rbx, rax
test dl, dl
js 0x140043425
sub rbx, 1
je 0x140043520
sub rbx, 1
je 0x1400434c3
cmp rbx, 1
jne 0x140043615
mov rsi, rbp
mov ecx, ebp
mov rbx, r8
nop word [rax + rax]
cmp rbx, r11
jae 0x1400436c7
movzx edx, byte [r8 + r15]
inc r8
mov eax, edx
mov rbx, r8
and eax, 0x7f
shl rax, cl
add ecx, 7
or rsi, rax
test dl, dl
js 0x140043470
mov ecx, dword [r14 + 0x2c]
add r8, rsi
add ecx, ebx
mov dword [r14 + 0x38], ecx
cmp r8, r11
ja 0x1400436c1
lea rax, [r15 + rbx]
mov qword [r14 + 0xe0], rax
mov qword [r14 + 0xe8], rsi
jmp 0x140043540
mov rsi, rbp
mov ecx, ebp
mov rbx, r8
nop dword [rax + rax]
cmp rbx, r11
jae 0x1400436d3
movzx edx, byte [r8 + r15]
inc r8
mov eax, edx
mov rbx, r8
and eax, 0x7f
shl rax, cl
add ecx, 7
or rsi, rax
test dl, dl
js 0x1400434d0
mov ecx, dword [r14 + 0x2c]
add r8, rsi
add ecx, ebx
mov dword [r14 + 0x34], ecx
cmp r8, r11
ja 0x1400436cd
lea rax, [r15 + rbx]
mov qword [r14 + 0xd0], rax
mov qword [r14 + 0xd8], rsi
jmp 0x140043540
test r12b, r12b
je 0x140043533
mov ecx, dword [r14 + 0x2c]
xor r12b, r12b
add ecx, r8d
mov dword [r14 + 0x30], ecx
add r8, 0x20
cmp r8, r11
ja 0x1400436d9
cmp r8, r11
jb 0x140043420
cmp r13d, 8
jne 0x140043595
nop
cmp r10, r9
jae 0x1400436f1
lea rax, [rdi + r10]
inc r10
cmp byte [rax], bpl
jl 0x140043550
cmp r10, r9
jae 0x1400436eb
lea rax, [rdi + r10]
inc r10
cmp byte [rax], bpl
jl 0x140043565
nop word [rax + rax]
cmp r10, r9
jae 0x1400436e5
lea rax, [rdi + r10]
inc r10
cmp byte [rax], bpl
jl 0x140043580
mov dword [r14 + 0x24], r10d
cmp r10, r9
jae 0x1400436bb
lea r8, [r10 + 1]
cmp byte [rdi + r10], bpl
jne 0x140043615
mov ecx, r10d
lea rax, [rcx + 1]
cmp r8, rax
jne 0x140043615
cmp byte [rcx + rdi], bpl
jne 0x140043615
mov ecx, ebp
cmp r8, r9
jae 0x1400436f7
movzx edx, byte [rdi + r8]
inc r8
mov eax, edx
and eax, 0x7f
shl rax, cl
add ecx, 7
or rbp, rax
test dl, dl
js 0x1400435c0
mov qword [r14 + 0xf0], rbp
mov al, 1
mov rbx, qword [rsp + 0x70]
mov r12, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x80]
mov r15, qword [rsp + 0x40]
mov r13, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x78]
add rsp, 0x58
pop r14
pop rdi
ret
xor al, al
jmp 0x1400435ec
call fcn.140043710
int3
call fcn.140043710
int3
call fcn.140043710
int3
call fcn.140043710
int3
call fcn.140043710
int3
call fcn.140043710
int3
call fcn.140043710
int3
call fcn.140043710
int3
call fcn.140043710
int3
call fcn.140043710
int3
call fcn.140043710
int3
call fcn.140043710
int3
call fcn.140043710
int3
call fcn.140043710
int3
call fcn.140043710
int3
call fcn.140043710
int3
call fcn.140043710
int3
call fcn.140043710
int3
call fcn.140043710
int3
call fcn.140043710
int3
call fcn.140043710
int3
call fcn.140043710
int3
call fcn.140043710
int3
call fcn.140043710
int3
call fcn.140043710
int3
call fcn.140043710
int3
call fcn.140043710
int3
call fcn.140043710
int3
call fcn.140043710
int3
call fcn.140043710
int3
call fcn.140043710
int3
call fcn.140043710
int3
call fcn.140043710
int3
call fcn.140043710
int3
call fcn.140043710
int3
call fcn.140043710
int3
call fcn.140043710
int3
call fcn.140043710
int3
call fcn.140043710
int3
call fcn.140043710
int3