Function at 0x140043ab0
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 0x140043fb0
movzx eax, byte [r14]
mov byte [rcx + 0x3c], al
cmp rbx, 1
jbe 0x140043fb6
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 0x140043f92
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 0x140043b25
cmp r8, rbx
jae 0x140043f92
jmp 0x140043b00
lea rax, [r8 + 0x20]
mov qword [r10 + 0x40], r9
cmp rax, rbx
ja 0x140043fbc
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 0x140043fc2
cmp dword [r10 + 0x18], 9
jne 0x140043ba1
cmp byte [r10 + 0x3c], 0x12
jb 0x140043ba1
lea rax, [r8 + 0x40]
cmp rax, rbx
ja 0x140043fc8
lea rax, [r14 + r8]
lea rcx, [r8 + 0x42]
mov qword [r10 + 0x58], rax
mov qword [r10 + 0x60], 0x40
cmp rcx, rbx
ja 0x140043fce
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 0x140043faa
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 0x140043bb0
mov qword [r10 + 0x70], r9
mov ecx, edi
mov r9, rdi
nop dword [rax]
cmp r8, rbx
jae 0x140043f8c
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 0x140043be0
mov qword [r10 + 0x78], r9
mov r9, rdi
mov ecx, edi
cmp r8, rbx
jae 0x140043f98
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 0x140043c45
cmp r8, rbx
jae 0x140043f98
jmp 0x140043c20
mov qword [rsp + 0x40], rbp
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x20], r15
mov qword [r10 + 0x80], r9
cmp r9, 1
jne 0x140043f88
cmp r8, rbx
jae 0x140043fd4
movzx eax, byte [r14 + r8]
inc r8
mov byte [r10 + 0x88], al
cmp al, 0xff
jne 0x140043f88
mov r9, rdi
mov ecx, edi
nop word [rax + rax]
cmp r8, rbx
jae 0x140044022
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 0x140043c90
mov qword [r10 + 0x90], r9
mov ecx, edi
mov r9, rdi
nop
cmp r8, rbx
jae 0x14004401c
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 0x140043cc0
mov qword [r10 + 0x98], r9
cmp r9, 1
jne 0x140043f88
mov r9, rdi
mov ecx, edi
cmp r8, rbx
jae 0x140043f9e
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 0x140043d35
cmp r8, rbx
jae 0x140043f9e
jmp 0x140043d10
mov qword [r10 + 0xa0], r9
cmp r8, rbx
jae 0x140043fda
movzx eax, byte [r14 + r8]
inc r8
mov byte [r10 + 0xa8], al
cmp al, 2
jne 0x140043f88
lea rax, [r8 + 0x20]
mov dword [r10 + 0x28], r8d
cmp rax, rbx
ja 0x140043fe0
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 0x140043fa4
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 0x140043dc5
cmp r8, rbx
jae 0x140043fa4
jmp 0x140043da0
mov r15d, r8d
lea rbp, [r8 + r9]
add r15, r14
mov qword [r10 + 0xc0], r9
mov dword [r10 + 0x2c], r8d
mov rax, rdi
cmp rbp, rbx
ja 0x140043fe6
test r9, r9
je 0x140043f13
nop
mov r11, rdi
mov ecx, edi
cmp rax, r9
jae 0x140044010
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 0x140043df5
sub r11, 1
je 0x140043ef3
sub r11, 1
je 0x140043e97
cmp r11, 1
jne 0x140043f88
mov rsi, rdi
mov ecx, edi
mov r11, rax
nop dword [rax]
cmp r11, r9
jae 0x140043ff8
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 0x140043e40
mov ecx, dword [r10 + 0x2c]
add rsi, 0x20
add ecx, r11d
add rax, rsi
mov dword [r10 + 0x38], ecx
cmp rax, r9
ja 0x140043ff2
lea rcx, [r15 + r11]
mov qword [r10 + 0xd8], rcx
mov qword [r10 + 0xe0], rsi
jmp 0x140043f0a
mov rsi, rdi
mov ecx, edi
mov r11, rax
nop
cmp r11, r9
jae 0x140044004
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 0x140043ea0
mov ecx, dword [r10 + 0x2c]
add rax, rsi
add ecx, r11d
mov dword [r10 + 0x34], ecx
cmp rax, r9
ja 0x140043ffe
lea rcx, [r15 + r11]
mov qword [r10 + 0xc8], rcx
mov qword [r10 + 0xd0], rsi
jmp 0x140043f0a
mov edx, dword [r10 + 0x2c]
add edx, eax
add rax, 0x20
mov dword [r10 + 0x30], edx
cmp rax, r9
ja 0x14004400a
cmp rax, r9
jb 0x140043df0
mov dword [r10 + 0x24], ebp
cmp rbp, rbx
jae 0x140043fec
lea r8, [rbp + 1]
cmp byte [r14 + rbp], dil
jne 0x140043f88
mov ecx, ebp
lea rax, [rcx + 1]
cmp r8, rax
jne 0x140043f88
cmp byte [rcx + r14], dil
jne 0x140043f88
mov ecx, edi
nop dword [rax]
cmp r8, rbx
jae 0x140044016
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 0x140043f40
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 0x140043f6c
call fcn.140044030
int3
call fcn.140044030
int3
call fcn.140044030
int3
call fcn.140044030
int3
call fcn.140044030
int3
call fcn.140044030
int3
call fcn.140044030
int3
call fcn.140044030
int3
call fcn.140044030
int3
call fcn.140044030
int3
call fcn.140044030
int3
call fcn.140044030
int3
call fcn.140044030
int3
call fcn.140044030
int3
call fcn.140044030
int3
call fcn.140044030
int3
call fcn.140044030
int3
call fcn.140044030
int3
call fcn.140044030
int3
call fcn.140044030
int3
call fcn.140044030
int3
call fcn.140044030
int3
call fcn.140044030
int3
call fcn.140044030
int3
call fcn.140044030
int3
call fcn.140044030
int3