Function at 0x140041f70
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 0x1400426f5
movzx eax, byte [rdi]
mov byte [rcx + 0x3c], al
cmp r10, 1
jbe 0x1400426fb
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 0x1400426d7
mov r9d, r8d
movzx edx, byte [rdi + r9]
inc r8
mov eax, edx
mov r9, r8
and eax, 0x7f
shl rax, cl
add ecx, 7
or r11, rax
test dl, dl
jns 0x140041fe8
cmp r8, r10
jae 0x1400426d7
jmp 0x140041fc0
lea rax, [r8 + 0x20]
mov qword [r15 + 0x40], r11
lea rcx, [r8 + 0x20]
cmp rax, r10
ja 0x140042701
lea rax, [r8 + rdi]
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 0x140042707
mov qword [rsp + 0x48], r13
mov r8, rcx
mov r13d, dword [r15 + 0x18]
mov rax, rcx
mov r9, rcx
cmp r13d, 7
jne 0x140042139
cmp byte [r15 + 0x3c], 0x12
jb 0x140042086
lea rax, [rcx + 0x40]
cmp rax, r10
ja 0x14004270d
lea rax, [rcx + rdi]
mov qword [r15 + 0x58], rax
lea rax, [rcx + 0x42]
mov qword [r15 + 0x60], 0x40
cmp rax, r10
ja 0x140042713
movzx eax, word [rcx + rdi + 0x40]
add rcx, 0x42
mov word [r15 + 0x68], ax
mov r9, rcx
mov rax, rcx
mov r8, rcx
mov dword [r15 + 0x20], ecx
mov r11, rbp
mov ecx, ebp
nop
cmp r8, r10
jae 0x1400426ef
movzx edx, byte [rdi + rax]
lea r8, [r9 + 1]
mov eax, edx
mov r9, r8
and eax, 0x7f
shl rax, cl
add ecx, 7
or r11, rax
mov rax, r8
test dl, dl
js 0x140042090
mov qword [r15 + 0x70], r11
cmp r13d, 9
je 0x1400420fd
mov r11, rbp
mov ecx, ebp
nop dword [rax + rax]
cmp r8, r10
jae 0x140042719
movzx edx, byte [r8 + rdi]
inc r8
mov eax, edx
mov r9, r8
and eax, 0x7f
shl rax, cl
add ecx, 7
or r11, rax
test dl, dl
js 0x1400420d0
mov qword [r15 + 0x78], r11
mov rax, r8
mov r11, rbp
mov ecx, ebp
cmp r8, r10
jae 0x1400426dd
nop dword [rax + rax]
movzx edx, byte [rdi + r9]
lea r9, [rax + 1]
mov eax, edx
and eax, 0x7f
shl rax, cl
add ecx, 7
or r11, rax
test dl, dl
jns 0x140042155
mov rax, r9
cmp r9, r10
jae 0x1400426dd
jmp 0x140042110
cmp r13d, 8
jne 0x140042086
add rcx, 0x78
cmp rcx, r10
ja 0x1400426e3
jmp 0x14004207d
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 0x140042206
cmp r9, r10
jae 0x14004271f
movzx eax, byte [r9 + rdi]
lea r8, [r9 + 1]
mov byte [r15 + 0x88], al
cmp al, 0xff
jne 0x140042206
mov r9, rbp
mov ecx, ebp
nop
cmp r8, r10
jae 0x1400426d1
movzx edx, byte [r8 + rdi]
inc r8
mov eax, edx
and eax, 0x7f
shl rax, cl
add ecx, 7
or r9, rax
test dl, dl
js 0x1400421a0
mov qword [r15 + 0x90], r9
mov ecx, ebp
mov r9, rbp
nop
cmp r8, r10
jae 0x1400427c1
movzx edx, byte [r8 + rdi]
inc r8
mov eax, edx
and eax, 0x7f
shl rax, cl
add ecx, 7
or r9, rax
test dl, dl
js 0x1400421d0
mov qword [r15 + 0x98], r9
cmp r13d, 8
jne 0x140042231
cmp r9, 2
jae 0x140042237
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 0x140042206
mov r11, rbp
mov ecx, ebp
mov r9, r8
nop
cmp r9, r10
jae 0x1400427bb
movzx edx, byte [r8 + rdi]
inc r8
mov eax, edx
mov r9, r8
and eax, 0x7f
shl rax, cl
add ecx, 7
or r11, rax
test dl, dl
js 0x140042240
mov qword [r15 + 0xa0], r11
cmp r8, r10
jae 0x140042725
movzx eax, byte [r8 + rdi]
inc r8
mov byte [r15 + 0xa8], al
sub al, 2
cmp al, 1
ja 0x140042206
lea rax, [r8 + 0x20]
mov dword [r15 + 0x28], r8d
lea r9, [r8 + 0x20]
cmp rax, r10
ja 0x14004272b
lea rax, [r8 + rdi]
mov qword [r15 + 0xb0], rax
mov qword [r15 + 0xb8], 0x20
movzx eax, byte [r15 + 0xa8]
cmp r13d, 8
jne 0x140042514
cmp al, 2
jne 0x140042206
mov r11, rbp
mov ecx, ebp
cmp r9, r10
jae 0x1400426e9
mov r8, r9
nop word [rax + rax]
movzx edx, byte [r8 + rdi]
lea r8, [r9 + 1]
mov eax, edx
and eax, 0x7f
shl rax, cl
add ecx, 7
or r11, rax
test dl, dl
jns 0x140042319
mov r9, r8
cmp r8, r10
jae 0x1400426e9
jmp 0x1400422f0
lea rax, [r8 + r11]
lea r9, [r11 + r8]
cmp rax, r10
ja 0x140042731
cmp r9, r10
jae 0x140042737
movzx eax, byte [r9 + rdi]
mov ebx, 1
mov rsi, qword [r15 + 0x98]
inc r9
mov byte [r15 + 0xc0], al
cmp rsi, rbx
jbe 0x14004240a
mov rcx, r9
mov rdx, r9
nop dword [rax]
lea rax, [r9]
cmp rcx, r10
jae 0x140042761
lea rcx, [rdx + 1]
mov r9, rcx
mov rdx, rcx
cmp byte [rdi + rax], bpl
jl 0x140042360
cmp rcx, r10
jae 0x14004275b
cmp byte [rdi + rcx], 2
jne 0x140042206
lea rax, [rcx + 0x21]
lea r8, [rcx + 0x21]
cmp rax, r10
ja 0x140042755
mov r9, rbp
mov ecx, ebp
mov rax, r8
mov r11, r8
nop dword [rax + rax]
cmp r8, r10
jae 0x14004274f
movzx edx, byte [r11 + rdi]
lea r8, [rax + 1]
mov eax, edx
mov r11, r8
and eax, 0x7f
shl rax, cl
add ecx, 7
or r9, rax
mov rax, r8
test dl, dl
js 0x1400423b0
lea rax, [r8 + r9]
lea rcx, [r8 + r9]
cmp rax, r10
ja 0x140042749
cmp rcx, r10
jae 0x140042743
lea r9, [rcx + 1]
inc rbx
mov rcx, r9
mov rdx, r9
cmp rbx, rsi
jb 0x140042360
mov rbx, rbp
mov ecx, ebp
nop
cmp r9, r10
jae 0x1400427b5
movzx edx, byte [r9 + rdi]
inc r9
mov eax, edx
and eax, 0x7f
shl rax, cl
add ecx, 7
or rbx, rax
test dl, dl
js 0x140042410
mov r14d, r9d
lea rax, [r9 + rbx]
add r14, rdi
mov qword [r15 + 0xc8], rbx
mov dword [r15 + 0x2c], r9d
mov r8, rbp
cmp rax, r10
ja 0x14004273d
lea r11, [r9 + rbx]
mov r12b, 1
test rbx, rbx
je 0x1400425ee
nop dword [rax]
nop dword [rax + rax]
mov r9, rbp
mov ecx, ebp
cmp r8, rbx
jae 0x140042797
movzx edx, byte [r14 + r8]
inc r8
mov eax, edx
and eax, 0x7f
shl rax, cl
add ecx, 7
or r9, rax
test dl, dl
js 0x140042475
sub r9, 1
je 0x1400425c5
sub r9, 1
je 0x14004256c
cmp r9, 1
jne 0x140042206
mov rsi, rbp
mov ecx, ebp
mov r9, r8
nop
cmp r9, rbx
jae 0x14004277f
movzx edx, byte [r14 + r8]
inc r8
mov eax, edx
mov r9, r8
and eax, 0x7f
shl rax, cl
add ecx, 7
or rsi, rax
test dl, dl
js 0x1400424c0
mov ecx, dword [r15 + 0x2c]
add r8, rsi
add ecx, r9d
mov dword [r15 + 0x38], ecx
cmp r8, rbx
ja 0x140042779
lea rax, [r14 + r9]
mov qword [r15 + 0xe0], rax
mov qword [r15 + 0xe8], rsi
jmp 0x1400425e5
cmp al, 3
jne 0x140042530
cmp r9, r10
jae 0x140042767
movzx eax, byte [r9 + rdi]
inc r9
mov byte [r15 + 0xc0], al
cmp r13d, 9
jne 0x14004240a
mov r8, rbp
mov ecx, ebp
nop
cmp r9, r10
jae 0x14004276d
movzx edx, byte [r9 + rdi]
inc r9
mov eax, edx
and eax, 0x7f
shl rax, cl
add ecx, 7
or r8, rax
test dl, dl
js 0x140042540
mov qword [r15 + 0x78], r8
jmp 0x14004240a
mov rsi, rbp
mov ecx, ebp
mov r9, r8
cmp r9, rbx
jae 0x14004278b
movzx edx, byte [r14 + r8]
inc r8
mov eax, edx
mov r9, r8
and eax, 0x7f
shl rax, cl
add ecx, 7
or rsi, rax
test dl, dl
js 0x140042574
mov ecx, dword [r15 + 0x2c]
add r8, rsi
add ecx, r9d
mov dword [r15 + 0x34], ecx
cmp r8, rbx
ja 0x140042785
lea rax, [r14 + r9]
mov qword [r15 + 0xd0], rax
mov qword [r15 + 0xd8], rsi
jmp 0x1400425e5
test r12b, r12b
je 0x1400425d8
mov ecx, dword [r15 + 0x2c]
xor r12b, r12b
add ecx, r8d
mov dword [r15 + 0x30], ecx
add r8, 0x20
cmp r8, rbx
ja 0x140042791
cmp r8, rbx
jb 0x140042470
cmp r13d, 8
jne 0x14004263a
cmp r11, r10
jae 0x1400427a9
lea rax, [r11 + rdi]
inc r11
cmp byte [rax], bpl
jl 0x1400425f4
nop dword [rax]
cmp r11, r10
jae 0x1400427a3
lea rax, [r11 + rdi]
inc r11
cmp byte [rax], bpl
jl 0x140042610
cmp r11, r10
jae 0x14004279d
lea rax, [r11 + rdi]
inc r11
cmp byte [rax], bpl
jl 0x140042625
mov dword [r15 + 0x24], r11d
cmp r11, r10
jae 0x140042773
lea r8, [r11 + 1]
cmp r13d, 9
jne 0x140042675
mov rcx, qword [r15 + 0x90]
movabs rax, 0x2d82d82d82d82d83
mul rcx
shr rdx, 7
imul rax, rdx, 0x2d0
cmp rcx, rax
je 0x1400426ca
cmp byte [r11 + rdi], bpl
jne 0x140042206
mov ecx, r11d
lea rax, [rcx + 1]
cmp r8, rax
jne 0x140042206
cmp byte [rcx + rdi], bpl
jne 0x140042206
mov ecx, ebp
nop dword [rax + rax]
cmp r8, r10
jae 0x1400427af
movzx edx, byte [r8 + rdi]
inc r8
mov eax, edx
and eax, 0x7f
shl rax, cl
add ecx, 7
or rbp, rax
test dl, dl
js 0x1400426a0
mov qword [r15 + 0xf0], rbp
mov al, 1
jmp 0x140042208
call fcn.1400427d0
int3
call fcn.1400427d0
int3
call fcn.1400427d0
int3
call fcn.1400427d0
int3
call fcn.1400427d0
int3
call fcn.1400427d0
int3
call fcn.1400427d0
int3
call fcn.1400427d0
int3
call fcn.1400427d0
int3
call fcn.1400427d0
int3
call fcn.1400427d0
int3
call fcn.1400427d0
int3
call fcn.1400427d0
int3
call fcn.1400427d0
int3
call fcn.1400427d0
int3
call fcn.1400427d0
int3
call fcn.1400427d0
int3
call fcn.1400427d0
int3
call fcn.1400427d0
int3
call fcn.1400427d0
int3
call fcn.1400427d0
int3
call fcn.1400427d0
int3
call fcn.1400427d0
int3
call fcn.1400427d0
int3
call fcn.1400427d0
int3
call fcn.1400427d0
int3
call fcn.1400427d0
int3
call fcn.1400427d0
int3
call fcn.1400427d0
int3
call fcn.1400427d0
int3
call fcn.1400427d0
int3
call fcn.1400427d0
int3
call fcn.1400427d0
int3
call fcn.1400427d0
int3
call fcn.1400427d0
int3
call fcn.1400427d0
int3
call fcn.1400427d0
int3
call fcn.1400427d0
int3
call fcn.1400427d0
int3
call fcn.1400427d0
int3
call fcn.1400427d0
int3