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

Disassembly:
push rbx
push rsi
push rdi
sub rsp, 0x30
mov rdi, qword [rcx]
mov rsi, rcx
mov rbx, qword [rcx + 8]
sub rbx, rdi
je 0x140043380
movzx eax, byte [rdi]
mov byte [rcx + 0x3c], al
cmp rbx, 1
jbe 0x140043386
movzx eax, byte [rdi + 1]
mov r8d, 2
mov qword [rsp + 0x50], rbp
xor ebp, ebp
mov byte [rcx + 0x3d], al
mov r9d, ebp
mov ecx, ebp
cmp rbx, r8
jbe 0x140043362
nop dword [rax]
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
jns 0x140042cb5
cmp r8, rbx
jae 0x140043362
jmp 0x140042c90
lea rax, [r8 + 0x20]
mov qword [rsi + 0x40], r9
cmp rax, rbx
ja 0x14004338c
lea rax, [r8 + rdi]
mov qword [rsp + 0x28], r14
mov qword [rsi + 0x48], rax
mov r14d, 0x20
lea rax, [r8 + 0x20]
mov qword [rsi + 0x50], r14
lea r8, [rax + 4]
mov dword [rsi + 0x1c], eax
cmp r8, rbx
ja 0x140043392
mov eax, dword [rsi + 0x18]
mov r9, r8
cmp eax, 7
jne 0x140042d3b
cmp byte [rsi + 0x3c], 0x12
jb 0x140042d50
lea rax, [r8 + 0x40]
cmp rax, rbx
ja 0x140043398
lea rax, [r8 + rdi]
lea r9, [r8 + 0x42]
mov qword [rsi + 0x58], rax
mov qword [rsi + 0x60], 0x40
cmp r9, rbx
ja 0x14004339e
movzx eax, word [r8 + rdi + 0x40]
mov r8, r9
mov word [rsi + 0x68], ax
jmp 0x140042d50
cmp eax, 8
jne 0x140042d50
add r8, 0x78
cmp r8, rbx
ja 0x1400433a4
mov r9, r8
mov dword [rsi + 0x20], r8d
mov r10, rbp
mov ecx, ebp
nop dword [rax]
cmp r9, rbx
jae 0x14004337a
movzx edx, byte [r8 + rdi]
inc r8
mov eax, edx
mov r9, r8
and eax, 0x7f
shl rax, cl
add ecx, 7
or r10, rax
test dl, dl
js 0x140042d60
mov qword [rsi + 0x70], r10
mov r9, rbp
mov ecx, ebp
nop
cmp r8, rbx
jae 0x14004335c
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 0x140042d90
mov qword [rsi + 0x78], r9
mov r9, rbp
mov ecx, ebp
cmp r8, rbx
jae 0x140043368
nop word [rax + rax]
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
jns 0x140042df5
cmp r8, rbx
jae 0x140043368
jmp 0x140042dd0
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x60], r13
mov qword [rsp + 0x20], r15
mov qword [rsi + 0x80], r9
cmp r9, 1
jne 0x140042e9e
cmp r8, rbx
jae 0x1400433aa
movzx eax, byte [r8 + rdi]
inc r8
mov byte [rsi + 0x88], al
cmp al, 0xff
jne 0x140042e9e
mov r9, rbp
mov ecx, ebp
cmp r8, rbx
jae 0x14004344c
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 0x140042e35
mov qword [rsi + 0x90], r9
mov ecx, ebp
mov r9, rbp
cmp r8, rbx
jae 0x140043446
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 0x140042e64
mov r11d, dword [rsi + 0x18]
mov qword [rsi + 0x98], r9
cmp r11d, 8
jne 0x140042ec1
cmp r9, 2
jae 0x140042ec7
xor al, al
mov r12, qword [rsp + 0x58]
mov r13, qword [rsp + 0x60]
mov r15, qword [rsp + 0x20]
mov r14, qword [rsp + 0x28]
mov rbp, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
pop rsi
pop rbx
ret
cmp r9, 1
jne 0x140042e9e
mov r10, rbp
mov ecx, ebp
mov r9, r8
nop
cmp r9, rbx
jae 0x140043440
movzx edx, byte [r8 + rdi]
inc r8
mov eax, edx
mov r9, r8
and eax, 0x7f
shl rax, cl
add ecx, 7
or r10, rax
test dl, dl
js 0x140042ed0
mov qword [rsi + 0xa0], r10
cmp r8, rbx
jae 0x1400433b0
movzx eax, byte [r8 + rdi]
inc r8
mov byte [rsi + 0xa8], al
sub al, 2
cmp al, 1
ja 0x140042e9e
lea rax, [r8 + 0x20]
mov dword [rsi + 0x28], r8d
cmp rax, rbx
ja 0x1400433b6
lea rax, [r8 + rdi]
mov r13d, 1
mov qword [rsi + 0xb0], rax
add r8, r14
mov qword [rsi + 0xb8], r14
movzx ecx, byte [rsi + 0xa8]
cmp r11d, 8
jne 0x140043065
cmp cl, 2
jne 0x140042e9e
mov r9, rbp
mov ecx, ebp
cmp r8, rbx
jae 0x14004336e
nop
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
jns 0x140042f95
cmp r8, rbx
jae 0x14004336e
jmp 0x140042f70
lea rax, [r8 + r9]
cmp rax, rbx
ja 0x1400433bc
add r8, r9
cmp r8, rbx
jae 0x1400433c2
movzx eax, byte [r8 + rdi]
mov r11, r13
mov r14, qword [rsi + 0x98]
inc r8
mov byte [rsi + 0xc0], al
mov rax, r8
cmp r14, r13
jbe 0x140043088
mov rcx, r8
cmp rcx, rbx
jae 0x1400433e6
lea rax, [r8 + rdi]
inc r8
mov rcx, r8
cmp byte [rax], bpl
jl 0x140042fd5
cmp rcx, rbx
jae 0x1400433e0
cmp byte [r8 + rdi], 2
jne 0x140042e9e
add r8, 0x21
cmp r8, rbx
ja 0x1400433da
mov r10, rbp
mov ecx, ebp
mov r9, r8
cmp r9, rbx
jae 0x1400433d4
movzx edx, byte [r8 + rdi]
inc r8
mov eax, edx
mov r9, r8
and eax, 0x7f
shl rax, cl
add ecx, 7
or r10, rax
test dl, dl
js 0x140043016
add r8, r10
cmp r8, rbx
ja 0x1400433ce
jae 0x1400433c8
inc r8
inc r11
mov rcx, r8
cmp r11, r14
jb 0x140042fd5
mov rax, r8
jmp 0x140043088
mov rax, r8
cmp cl, 3
jne 0x140043088
cmp r8, rbx
jae 0x1400433ec
movzx eax, byte [r8 + rdi]
mov byte [rsi + 0xc0], al
lea rax, [r8 + 1]
mov r8, rax
mov r11, rbp
mov ecx, ebp
cmp rax, rbx
jae 0x140043374
nop word [rax + rax]
movzx edx, byte [r8 + rdi]
inc r8
mov eax, edx
and eax, 0x7f
shl rax, cl
add ecx, 7
or r11, rax
test dl, dl
jns 0x1400430c5
cmp r8, rbx
jae 0x140043374
jmp 0x1400430a0
mov r15d, r8d
lea r10, [r11 + r8]
add r15, rdi
mov qword [rsi + 0xc8], r11
mov dword [rsi + 0x2c], r8d
mov r9, rbp
cmp r10, rbx
ja 0x1400433f2
movzx r12d, r13b
test r11, r11
je 0x140043216
nop dword [rax]
nop word [rax + rax]
mov r8, rbp
mov ecx, ebp
cmp r9, r11
jae 0x14004341c
movzx edx, byte [r15 + r9]
inc r9
mov eax, edx
and eax, 0x7f
shl rax, cl
add ecx, 7
or r8, rax
test dl, dl
js 0x140043105
sub r8, r13
je 0x1400431ef
sub r8, r13
je 0x140043196
cmp r8, r13
jne 0x140042e9e
mov r14, rbp
mov ecx, ebp
mov r8, r9
cmp r8, r11
jae 0x140043404
movzx edx, byte [r15 + r9]
inc r9
mov eax, edx
mov r8, r9
and eax, 0x7f
shl rax, cl
add ecx, 7
or r14, rax
test dl, dl
js 0x140043147
mov ecx, dword [rsi + 0x2c]
add r9, r14
add ecx, r8d
mov dword [rsi + 0x38], ecx
cmp r9, r11
ja 0x1400433fe
lea rax, [r15 + r8]
mov qword [rsi + 0xe0], rax
mov qword [rsi + 0xe8], r14
jmp 0x14004320d
mov r14, rbp
mov ecx, ebp
mov r8, r9
nop
cmp r8, r11
jae 0x140043410
movzx edx, byte [r15 + r9]
inc r9
mov eax, edx
mov r8, r9
and eax, 0x7f
shl rax, cl
add ecx, 7
or r14, rax
test dl, dl
js 0x1400431a0
mov ecx, dword [rsi + 0x2c]
add r9, r14
add ecx, r8d
mov dword [rsi + 0x34], ecx
cmp r9, r11
ja 0x14004340a
lea rax, [r15 + r8]
mov qword [rsi + 0xd0], rax
mov qword [rsi + 0xd8], r14
jmp 0x14004320d
test r12b, r12b
je 0x140043200
mov ecx, dword [rsi + 0x2c]
xor r12b, r12b
add ecx, r9d
mov dword [rsi + 0x30], ecx
add r9, 0x20
cmp r9, r11
ja 0x140043416
cmp r9, r11
jb 0x140043100
cmp dword [rsi + 0x18], 8
jne 0x140043265
nop dword [rax]
cmp r10, rbx
jae 0x14004342e
lea rax, [r10 + rdi]
inc r10
cmp byte [rax], bpl
jl 0x140043220
cmp r10, rbx
jae 0x140043428
lea rax, [r10 + rdi]
inc r10
cmp byte [rax], bpl
jl 0x140043235
nop word [rax + rax]
cmp r10, rbx
jae 0x140043422
lea rax, [r10 + rdi]
inc r10
cmp byte [rax], bpl
jl 0x140043250
mov dword [rsi + 0x24], r10d
cmp r10, rbx
jae 0x1400433f8
lea r14, [r10 + 1]
cmp byte [r10 + rdi], bpl
jne 0x140042e9e
mov ecx, r10d
lea rax, [rcx + 1]
cmp r14, rax
jne 0x140042e9e
cmp byte [rcx + rdi], bpl
jne 0x140042e9e
mov ecx, ebp
nop dword [rax]
cmp r14, rbx
jae 0x14004343a
movzx edx, byte [r14 + rdi]
inc r14
mov eax, edx
and eax, 0x7f
shl rax, cl
add ecx, 7
or rbp, rax
test dl, dl
js 0x1400432a0
lea rdx, [rbp + 1]
mov qword [rsi + 0xf0], rbp
shl rdx, 5
lea rcx, [rsi + 0xf8]
call fcn.140040a00
mov edx, dword [rsi + 0x24]
mov ecx, dword [rsi + 0x20]
add rdx, qword [rsi]
add rcx, qword [rsi]
mov r8, qword [rsi + 0xf8]
call fcn.140042820
cmp r13, qword [rsi + 0xf0]
ja 0x14004334d
mov r9d, 0x20
lea rdx, [rdi + r14]
mov r8d, r9d
sub r8, rdi
nop
lea rax, [r8 + rdx]
cmp rax, rbx
ja 0x140043434
mov rax, qword [rsi + 0xf8]
mov rcx, rdx
add rdx, 0x20
inc r13
movups xmm0, xmmword [rcx]
movups xmmword [rax + r9], xmm0
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rax + r9 + 0x10], xmm1
add r9, 0x20
cmp r13, qword [rsi + 0xf0]
jbe 0x140043310
mov rcx, rsi
call fcn.1400428b0
mov al, 1
jmp 0x140042ea0
call fcn.140043460
int3
call fcn.140043460
int3
call fcn.140043460
int3
call fcn.140043460
int3
call fcn.140043460
int3
call fcn.140043460
int3
call fcn.140043460
int3
call fcn.140043460
int3
call fcn.140043460
int3
call fcn.140043460
int3
call fcn.140043460
int3
call fcn.140043460
int3
call fcn.140043460
int3
call fcn.140043460
int3
call fcn.140043460
int3
call fcn.140043460
int3
call fcn.140043460
int3
call fcn.140043460
int3
call fcn.140043460
int3
call fcn.140043460
int3
call fcn.140043460
int3
call fcn.140043460
int3
call fcn.140043460
int3
call fcn.140043460
int3
call fcn.140043460
int3
call fcn.140043460
int3
call fcn.140043460
int3
call fcn.140043460
int3
call fcn.140043460
int3
call fcn.140043460
int3
call fcn.140043460
int3
call fcn.140043460
int3
call fcn.140043460
int3
call fcn.140043460
int3
call fcn.140043460
int3
call fcn.140043460
int3
call fcn.140043460
int3
call fcn.140043460
int3
call fcn.140043460
int3
call fcn.140043460
int3
call fcn.140043460
int3