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

Disassembly:
push rbx
push r14
sub rsp, 0x28
mov r14, qword [rcx]
mov r10, rcx
mov rbx, qword [rcx + 8]
sub rbx, r14
je 0x140046100
movzx eax, byte [r14]
mov byte [rcx + 0x3c], al
cmp rbx, 1
jbe 0x140046106
movzx eax, byte [r14 + 1]
mov r8d, 2
mov qword [rsp + 0x50], rdi
xor edi, edi
mov byte [rcx + 0x3d], al
mov r9d, edi
mov ecx, edi
cmp rbx, r8
jbe 0x1400460e2
nop
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
jns 0x140045c65
cmp r8, rbx
jae 0x1400460e2
jmp 0x140045c40
lea rax, [r8 + 0x20]
mov qword [r10 + 0x40], r9
cmp rax, rbx
ja 0x14004610c
lea rax, [r14 + r8]
mov qword [r10 + 0x48], rax
lea rax, [r8 + 0x20]
lea r8, [rax + 4]
mov qword [r10 + 0x50], 0x20
mov dword [r10 + 0x1c], eax
cmp r8, rbx
ja 0x140046112
cmp dword [r10 + 0x18], 8
jne 0x140045ce1
cmp byte [r10 + 0x3c], 0x12
jb 0x140045ce1
lea rax, [r8 + 0x40]
cmp rax, rbx
ja 0x140046118
lea rax, [r14 + r8]
lea rcx, [r8 + 0x42]
mov qword [r10 + 0x58], rax
mov qword [r10 + 0x60], 0x40
cmp rcx, rbx
ja 0x14004611e
movzx eax, word [r14 + r8 + 0x40]
mov r8, rcx
mov word [r10 + 0x68], ax
mov dword [r10 + 0x20], r8d
mov r9, rdi
mov ecx, edi
nop word [rax + rax]
cmp r8, rbx
jae 0x1400460fa
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 0x140045cf0
mov qword [r10 + 0x70], r9
mov ecx, edi
mov r9, rdi
nop dword [rax]
cmp r8, rbx
jae 0x1400460dc
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 0x140045d20
mov qword [r10 + 0x78], r9
mov r9, rdi
mov ecx, edi
cmp r8, rbx
jae 0x1400460e8
nop word [rax + rax]
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
jns 0x140045d85
cmp r8, rbx
jae 0x1400460e8
jmp 0x140045d60
mov qword [rsp + 0x40], rbp
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x20], r15
mov qword [r10 + 0x80], r9
cmp r9, 1
jne 0x1400460d8
cmp r8, rbx
jae 0x140046124
movzx eax, byte [r14 + r8]
inc r8
mov byte [r10 + 0x88], al
cmp al, 0xff
jne 0x1400460d8
mov r9, rdi
mov ecx, edi
nop word [rax + rax]
cmp r8, rbx
jae 0x140046172
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 0x140045dd0
mov qword [r10 + 0x90], r9
mov ecx, edi
mov r9, rdi
nop
cmp r8, rbx
jae 0x14004616c
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 0x140045e00
mov qword [r10 + 0x98], r9
cmp r9, 1
jne 0x1400460d8
mov r9, rdi
mov ecx, edi
cmp r8, rbx
jae 0x1400460ee
nop dword [rax]
nop word [rax + rax]
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
jns 0x140045e75
cmp r8, rbx
jae 0x1400460ee
jmp 0x140045e50
mov qword [r10 + 0xa0], r9
cmp r8, rbx
jae 0x14004612a
movzx eax, byte [r14 + r8]
inc r8
mov byte [r10 + 0xa8], al
cmp al, 2
jne 0x1400460d8
lea rax, [r8 + 0x20]
mov dword [r10 + 0x28], r8d
cmp rax, rbx
ja 0x140046130
lea rax, [r14 + r8]
mov r9, rdi
add r8, 0x20
mov qword [r10 + 0xb0], rax
mov qword [r10 + 0xb8], 0x20
mov ecx, edi
cmp r8, rbx
jae 0x1400460f4
nop word [rax + rax]
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
jns 0x140045f05
cmp r8, rbx
jae 0x1400460f4
jmp 0x140045ee0
mov r15d, r8d
lea rcx, [r9 + r8]
add r15, r14
mov qword [r10 + 0xc0], r9
mov dword [r10 + 0x2c], r8d
mov rax, rdi
cmp rcx, rbx
ja 0x140046136
lea rbp, [r8 + r9]
test r9, r9
je 0x140046063
nop dword [rax]
nop word [rax + rax]
mov r11, rdi
mov ecx, edi
cmp rax, r9
jae 0x140046160
movzx r8d, byte [rax + r15]
inc rax
mov edx, r8d
and edx, 0x7f
shl rdx, cl
add ecx, 7
or r11, rdx
test r8b, r8b
js 0x140045f45
sub r11, 1
je 0x140046043
sub r11, 1
je 0x140045fe7
cmp r11, 1
jne 0x1400460d8
mov rsi, rdi
mov ecx, edi
mov r11, rax
nop dword [rax]
cmp r11, r9
jae 0x140046148
movzx r8d, byte [rax + r15]
inc rax
mov edx, r8d
mov r11, rax
and edx, 0x7f
shl rdx, cl
add ecx, 7
or rsi, rdx
test r8b, r8b
js 0x140045f90
mov ecx, dword [r10 + 0x2c]
add rsi, 0x20
add ecx, r11d
add rax, rsi
mov dword [r10 + 0x38], ecx
cmp rax, r9
ja 0x140046142
lea rcx, [r15 + r11]
mov qword [r10 + 0xd8], rcx
mov qword [r10 + 0xe0], rsi
jmp 0x14004605a
mov rsi, rdi
mov ecx, edi
mov r11, rax
nop
cmp r11, r9
jae 0x140046154
movzx r8d, byte [rax + r15]
inc rax
mov edx, r8d
mov r11, rax
and edx, 0x7f
shl rdx, cl
add ecx, 7
or rsi, rdx
test r8b, r8b
js 0x140045ff0
mov ecx, dword [r10 + 0x2c]
add rax, rsi
add ecx, r11d
mov dword [r10 + 0x34], ecx
cmp rax, r9
ja 0x14004614e
lea rcx, [r15 + r11]
mov qword [r10 + 0xc8], rcx
mov qword [r10 + 0xd0], rsi
jmp 0x14004605a
mov edx, dword [r10 + 0x2c]
add edx, eax
add rax, 0x20
mov dword [r10 + 0x30], edx
cmp rax, r9
ja 0x14004615a
cmp rax, r9
jb 0x140045f40
mov dword [r10 + 0x24], ebp
cmp rbp, rbx
jae 0x14004613c
lea r8, [rbp + 1]
cmp byte [r14 + rbp], dil
jne 0x1400460d8
mov ecx, ebp
lea rax, [rcx + 1]
cmp r8, rax
jne 0x1400460d8
cmp byte [rcx + r14], dil
jne 0x1400460d8
mov ecx, edi
nop dword [rax]
cmp r8, rbx
jae 0x140046166
movzx edx, byte [r14 + r8]
inc r8
mov eax, edx
and eax, 0x7f
shl rax, cl
add ecx, 7
or rdi, rax
test dl, dl
js 0x140046090
mov qword [r10 + 0xe8], rdi
mov al, 1
mov rbp, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
mov r15, qword [rsp + 0x20]
mov rdi, qword [rsp + 0x50]
add rsp, 0x28
pop r14
pop rbx
ret
xor al, al
jmp 0x1400460bc
call fcn.140046180
int3
call fcn.140046180
int3
call fcn.140046180
int3
call fcn.140046180
int3
call fcn.140046180
int3
call fcn.140046180
int3
call fcn.140046180
int3
call fcn.140046180
int3
call fcn.140046180
int3
call fcn.140046180
int3
call fcn.140046180
int3
call fcn.140046180
int3
call fcn.140046180
int3
call fcn.140046180
int3
call fcn.140046180
int3
call fcn.140046180
int3
call fcn.140046180
int3
call fcn.140046180
int3
call fcn.140046180
int3
call fcn.140046180
int3
call fcn.140046180
int3
call fcn.140046180
int3
call fcn.140046180
int3
call fcn.140046180
int3
call fcn.140046180
int3
call fcn.140046180
int3