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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x58
mov r15, rcx
mov r14, rdx
movsxd rcx, dword [rcx + 0x1d0]
mov rax, rcx
mov rdx, qword [r15 + 0x1e0]
mov rbx, qword [rdx + rcx*8]
mov edi, dword [rbx + 0x18]
mov r8d, dword [rbx + 0x14]
mov r13d, r8d
mov esi, edi
and esi, 0x80
or eax, esi
jne 0x42a9d3
mov ebp, edi
shr ebp, 0x12
and ebp, 0x1f
cmp ebp, 0x17
jbe 0x42b818
mov dword [rsp + 0x28], 0
test dil, 4
jne 0x42a9f2
cmp dword [r15 + 0x1dc], 0x410
je 0x42b438
mov ebp, edi
mov r10d, ebp
and r10d, 0x40000004
mov dword [rsp + 0x20], r10d
test ebp, 0x3e000
je 0x42ac6d
mov ecx, ebp
shr ecx, 0xd
and ecx, 0x1f
mov esi, ebp
shr esi, 0x12
and esi, 0x1f
lea eax, [r8 - 1]
test r10d, r10d
je 0x42af3d
test r8d, r8d
je 0x42ac49
mov rdx, r14
shr rdx, 2
neg rdx
and edx, 3
cmp eax, 5
jbe 0x42bee4
test edx, edx
je 0x42ba7e
lea r10, [r14 + 4]
sar dword [r14], cl
lea eax, [r8 - 2]
cmp edx, 1
je 0x42aa80
lea r10, [r14 + 8]
sar dword [r14 + 4], cl
lea eax, [r8 - 3]
cmp edx, 3
jne 0x42aa80
lea r10, [r14 + 0xc]
sar dword [r14 + 8], cl
lea eax, [r8 - 4]
sub r8d, edx
lea r9, [r14 + rdx*4]
mov r12d, r8d
shr r12d, 2
lea r12d, [r12 - 1]
add r12, 1
shl r12, 4
xor edx, edx
movsxd r11, ecx
movq xmm0, r11
lea r11, [r12 - 0x10]
shr r11, 4
add r11, 1
and r11d, 7
je 0x42ab69
cmp r11, 1
je 0x42ab4c
cmp r11, 2
je 0x42ab38
cmp r11, 3
je 0x42ab24
cmp r11, 4
je 0x42ab10
cmp r11, 5
je 0x42aafc
cmp r11, 6
jne 0x42be82
movdqa xmm2, xmmword [r9 + rdx]
psrad xmm2, xmm0
movdqa xmmword [r9 + rdx], xmm2
add rdx, 0x10
movdqa xmm3, xmmword [r9 + rdx]
psrad xmm3, xmm0
movdqa xmmword [r9 + rdx], xmm3
add rdx, 0x10
movdqa xmm4, xmmword [r9 + rdx]
psrad xmm4, xmm0
movdqa xmmword [r9 + rdx], xmm4
add rdx, 0x10
movdqa xmm5, xmmword [r9 + rdx]
psrad xmm5, xmm0
movdqa xmmword [r9 + rdx], xmm5
add rdx, 0x10
movdqa xmm1, xmmword [r9 + rdx]
psrad xmm1, xmm0
movdqa xmmword [r9 + rdx], xmm1
add rdx, 0x10
movdqa xmm2, xmmword [r9 + rdx]
psrad xmm2, xmm0
movdqa xmmword [r9 + rdx], xmm2
add rdx, 0x10
cmp r12, rdx
je 0x42ac04
movdqa xmm3, xmmword [r9 + rdx]
psrad xmm3, xmm0
movdqa xmmword [r9 + rdx], xmm3
movdqa xmm4, xmmword [r9 + rdx + 0x10]
psrad xmm4, xmm0
movdqa xmmword [r9 + rdx + 0x10], xmm4
movdqa xmm5, xmmword [r9 + rdx + 0x20]
psrad xmm5, xmm0
movdqa xmmword [r9 + rdx + 0x20], xmm5
movdqa xmm1, xmmword [r9 + rdx + 0x30]
psrad xmm1, xmm0
movdqa xmmword [r9 + rdx + 0x30], xmm1
movdqa xmm2, xmmword [r9 + rdx + 0x40]
psrad xmm2, xmm0
movdqa xmmword [r9 + rdx + 0x40], xmm2
movdqa xmm3, xmmword [r9 + rdx + 0x50]
psrad xmm3, xmm0
movdqa xmmword [r9 + rdx + 0x50], xmm3
movdqa xmm4, xmmword [r9 + rdx + 0x60]
psrad xmm4, xmm0
movdqa xmmword [r9 + rdx + 0x60], xmm4
movdqa xmm5, xmmword [r9 + rdx + 0x70]
psrad xmm5, xmm0
movdqa xmmword [r9 + rdx + 0x70], xmm5
sub rdx, 0xffffffffffffff80
cmp r12, rdx
jne 0x42ab69
mov r9d, r8d
and r9d, 0xfffffffc
mov r12d, r9d
lea r11, [r10 + r12*4]
sub eax, r9d
cmp r9d, r8d
je 0x42ac49
sar dword [r11], cl
test eax, eax
je 0x42ac49
sar dword [r11 + 4], cl
cmp eax, 1
je 0x42ac49
sar dword [r11 + 8], cl
cmp eax, 2
je 0x42ac49
sar dword [r11 + 0xc], cl
cmp eax, 3
je 0x42ac49
sar dword [r11 + 0x10], cl
cmp eax, 4
je 0x42ac49
sar dword [r11 + 0x14], cl
cmp esi, ecx
js 0x42b42d
shl ecx, 0x12
sub ebp, ecx
mov ecx, ebp
and ecx, 0x40000004
mov dword [rsp + 0x20], ecx
mov dword [rbx + 0x18], ebp
mov esi, ebp
and esi, 0x80
test esi, esi
jne 0x42ac82
mov eax, ebp
shr eax, 0x12
and eax, 0x1f
cmp eax, 0x17
jbe 0x42b033
and ebp, 8
jne 0x42acc8
test byte [r15 + 0x17], 4
je 0x42acda
test esi, esi
je 0x42b3f8
mov r10d, dword [r15 + 0x20]
mov byte [rbx + 0x17b], r10b
mov eax, dword [rsp + 0x20]
test eax, eax
je 0x42ba6c
mov r8d, r13d
mov rdx, r14
mov rcx, rbx
call fcn.0042d000
test eax, eax
jne 0x42b41a
jmp 0x42b425
mov ebp, dword [r15 + 0xe0]
test ebp, ebp
je 0x42ac8e
test byte [r15 + 0x17], 4
jne 0x42ac8e
mov r11d, dword [rsp + 0x20]
test r11d, r11d
jne 0x42b6cb
lea ecx, [r13 + r13]
movsxd rbp, ecx
mov dword [rsp + 0x30], ecx
shl rbp, 2
mov rcx, rbp
call sub.msvcrt.dll_malloc
mov r12, rax
mov r8, rbp
mov rdx, r14
mov rcx, rax
call sub.msvcrt.dll_memcpy
test esi, esi
mov edx, dword [rsp + 0x30]
je 0x42b6f6
mov r9d, dword [r15 + 0x20]
mov byte [rbx + 0x17b], r9b
mov r8d, edx
mov rdx, r14
mov rcx, rbx
call fcn.0042d000
test eax, eax
je 0x42b70c
mov qword [rbx + 0x190], 0
mov dword [rbx + 0xa4], 0
test byte [r15 + 0x16], 2
je 0x42ad68
mov r10d, dword [rsp + 0x28]
test r10d, r10d
je 0x42bda8
mov eax, dword [rbx + 0xbc]
test eax, eax
jne 0x42adb2
mov r11d, dword [rbx + 0xa4]
test r11d, r11d
jne 0x42adb2
mov dword [rbx + 0xbc], 1
xor r9d, r9d
mov r8d, 1
mov rdx, r14
mov rcx, r15
mov ebp, dword [rsp + 0x20]
test ebp, ebp
je 0x42bdca
call fcn.004439ff
mov dword [rbx + 0xbc], 0
mov rdx, r14
mov rcx, r15
call fcn.00426d5a
mov dword [rbx + 0x18], edi
test eax, eax
je 0x42bbfb
mov rcx, qword [rbx + 0x1b0]
test rcx, rcx
je 0x42ae05
mov edi, dword [rbx + 0x1c0]
mov edx, edi
sub edx, r13d
cmp edi, r13d
je 0x42adff
movsxd r8, edx
movsxd r14, r13d
lea rdx, [rcx + r14*2]
add r8, r8
call sub.msvcrt.dll_memmove
mov edx, dword [rbx + 0x1c0]
sub edx, r13d
mov dword [rbx + 0x1c0], edx
test r12, r12
je 0x42bbe5
mov ecx, dword [r15 + 0xe0]
test ecx, ecx
je 0x42bd92
mov rax, qword [rbx + 0x80]
mov r11d, dword [rax + 4]
lea rbp, [rax + r11 + 8]
mov r10, qword [rbx + 0x88]
lea r8, [rbp + 8]
lea rdi, [rbx + 0x138]
mov qword [rbx + 0x158], 0
mov dword [rbx + 0x160], 0
mov qword [rbx + 0x138], r8
mov qword [rbx + 0x148], r8
mov qword [rbx + 0x140], r10
lea r14, [0x0042559b]
mov qword [rbx + 0x150], r14
test esi, esi
je 0x42bc12
mov eax, dword [rsp + 0x20]
test eax, eax
jne 0x42ae8a
add r13d, r13d
mov r8d, r13d
mov rdx, r12
mov rcx, rbx
call fcn.0042d7bf
mov r13d, dword [rbx + 0x158]
test r13d, r13d
jne 0x42bcf8
mov r9d, dword [rbx + 0x15c]
mov r8, qword [rbx + 0x148]
mov r14d, 1
mov ecx, r9d
test ecx, ecx
jne 0x42aee3
mov rax, r8
sub rax, qword [rbx + 0x138]
mov esi, eax
test al, 1
je 0x42baca
or dword [rbx + 0x160], 1
mov ecx, 1
mov esi, r14d
shl esi, cl
or esi, dword [rbx + 0x160]
mov dword [rbx + 0x160], esi
add ecx, 1
mov dword [rbx + 0x15c], ecx
cmp ecx, 0x10
jne 0x42aebf
mov word [r8], si
mov qword [rbx + 0x15c], 0
add r8, 2
mov qword [rbx + 0x148], r8
cmp r8, qword [rbx + 0x140]
jne 0x42aec3
mov rcx, rdi
call qword [rbx + 0x150]
mov ecx, dword [rbx + 0x15c]
mov r8, qword [rbx + 0x148]
jmp 0x42aebf
test r8d, r8d
je 0x42ac49
mov r12, r14
lea r8, [r14 + rax*8 + 8]
add rax, 1
and eax, 7
je 0x42afd6
cmp rax, 1
je 0x42afc0
cmp rax, 2
je 0x42afb3
cmp rax, 3
je 0x42afa6
cmp rax, 4
je 0x42af99
cmp rax, 5
je 0x42af8c
cmp rax, 6
jne 0x42be72
sar dword [r12], cl
add r12, 8
sar dword [r12 - 4], cl
sar dword [r12], cl
add r12, 8
sar dword [r12 - 4], cl
sar dword [r12], cl
add r12, 8
sar dword [r12 - 4], cl
sar dword [r12], cl
add r12, 8
sar dword [r12 - 4], cl
sar dword [r12], cl
add r12, 8
sar dword [r12 - 4], cl
sar dword [r12], cl
add r12, 8
sar dword [r12 - 4], cl
cmp r8, r12
je 0x42ac49
sar dword [r12], cl
sar dword [r12 + 4], cl
sar dword [r12 + 8], cl
sar dword [r12 + 0xc], cl
sar dword [r12 + 0x10], cl
sar dword [r12 + 0x14], cl
sar dword [r12 + 0x18], cl
sar dword [r12 + 0x1c], cl
sar dword [r12 + 0x20], cl
sar dword [r12 + 0x24], cl
sar dword [r12 + 0x28], cl
sar dword [r12 + 0x2c], cl
sar dword [r12 + 0x30], cl
sar dword [r12 + 0x34], cl
sar dword [r12 + 0x38], cl
add r12, 0x40
sar dword [r12 - 4], cl
cmp r8, r12
jne 0x42afd6
jmp 0x42ac49
mov ebp, dword [rsp + 0x20]
test ebp, ebp
jne 0x42b810
lea r10d, [r13 + r13]
mov dword [rbx + 0x174], 0
lea r12d, [r10 - 1]
test r10d, r10d
je 0x42bdbb
mov ecx, r12d
xor eax, eax
xor r8d, r8d
xor edx, edx
mov rbp, r14
mov r11d, 0xffffffff
lea r9, [r14 + rcx*4 + 4]
mov qword [rsp + 0x30], r9
add rcx, 1
and ecx, 3
je 0x42b7bf
cmp rcx, 1
je 0x42b0eb
cmp rcx, 2
je 0x42b0b4
mov r11d, dword [r14]
mov edx, r11d
test r11d, r11d
js 0x42be9a
mov r8d, r11d
and r8d, 1
neg r8d
xor r8d, r11d
mov eax, r11d
lea rbp, [r14 + 4]
mov ecx, dword [rbp]
mov r9d, ecx
test ecx, ecx
jns 0x42b0c1
not r9d
or edx, r9d
mov r9d, ecx
and r9d, 1
neg r9d
xor r9d, ecx
or r8d, r9d
and r11d, ecx
or eax, ecx
test al, 1
je 0x42b0e7
test r11b, 1
je 0x42be63
add rbp, 4
mov ecx, dword [rbp]
mov r9d, ecx
test ecx, ecx
jns 0x42b0f8
not r9d
or edx, r9d
mov r9d, ecx
and r9d, 1
neg r9d
xor r9d, ecx
or r8d, r9d
and r11d, ecx
or eax, ecx
mov ecx, eax
and ecx, 1
je 0x42b127
test r11b, 1
jne 0x42b127
test r8b, 2
jne 0x42bdc2
add rbp, 4
cmp rbp, qword [rsp + 0x30]
jne 0x42b7bf
mov r9d, dword [rbx + 0x18]
and r9d, 0xff83ffff
mov dword [rbx + 0x18], r9d
test edx, edx
je 0x42bdc2
mov ebp, r9d
lea r9d, [r9 + 0x40000]
shr edx, 1
jne 0x42b14d
mov dword [rbx + 0x18], r9d
test r9d, 0x7c0000
je 0x42bdc2
test ecx, ecx
jne 0x42be0f
mov r8d, 1
mov r11d, r8d
mov edx, r8d
shr eax, 1
mov r9d, ebp
lea ebp, [rbp - 0x40000]
lea r8d, [rdx + 1]
test al, 1
je 0x42b17a
mov byte [rbx + 0x175], r11b
or r9d, 0x100
mov dword [rbx + 0x18], r9d
mov rax, r14
shr rax, 2
neg rax
and eax, 3
cmp r12d, 5
jbe 0x42bf27
test eax, eax
je 0x42beec
mov ecx, edx
sar dword [r14], cl
lea r9, [r14 + 4]
lea r12d, [r10 - 2]
cmp eax, 1
je 0x42b1f3
sar dword [r14 + 4], cl
lea r9, [r14 + 8]
lea r12d, [r10 - 3]
cmp eax, 3
jne 0x42b1f3
sar dword [r14 + 8], cl
lea r9, [r14 + 0xc]
lea r12d, [r10 - 4]
sub r10d, eax
mov ebp, r10d
lea rcx, [r14 + rax*4]
mov r11d, r10d
shr r11d, 2
shl r11, 4
xor eax, eax
movsxd r8, edx
movq xmm0, r8
lea r10, [r11 - 0x10]
shr r10, 4
add r10, 1
and r10d, 7
je 0x42b2d6
cmp r10, 1
je 0x42b2bb
cmp r10, 2
je 0x42b2a9
cmp r10, 3
je 0x42b297
cmp r10, 4
je 0x42b285
cmp r10, 5
je 0x42b273
cmp r10, 6
je 0x42b261
movdqa xmm1, xmmword [rcx]
psrad xmm1, xmm0
movdqa xmmword [rcx], xmm1
mov eax, 0x10
movdqa xmm2, xmmword [rcx + rax]
psrad xmm2, xmm0
movdqa xmmword [rcx + rax], xmm2
add rax, 0x10
movdqa xmm3, xmmword [rcx + rax]
psrad xmm3, xmm0
movdqa xmmword [rcx + rax], xmm3
add rax, 0x10
movdqa xmm4, xmmword [rcx + rax]
psrad xmm4, xmm0
movdqa xmmword [rcx + rax], xmm4
add rax, 0x10
movdqa xmm5, xmmword [rcx + rax]
psrad xmm5, xmm0
movdqa xmmword [rcx + rax], xmm5
add rax, 0x10
movdqa xmm1, xmmword [rcx + rax]
psrad xmm1, xmm0
movdqa xmmword [rcx + rax], xmm1
add rax, 0x10
movdqa xmm2, xmmword [rcx + rax]
psrad xmm2, xmm0
movdqa xmmword [rcx + rax], xmm2
add rax, 0x10
cmp r11, rax
je 0x42b361
movdqa xmm3, xmmword [rcx + rax]
psrad xmm3, xmm0
movdqa xmmword [rcx + rax], xmm3
movdqa xmm4, xmmword [rcx + rax + 0x10]
psrad xmm4, xmm0
movdqa xmmword [rcx + rax + 0x10], xmm4
movdqa xmm5, xmmword [rcx + rax + 0x20]
psrad xmm5, xmm0
movdqa xmmword [rcx + rax + 0x20], xmm5
movdqa xmm1, xmmword [rcx + rax + 0x30]
psrad xmm1, xmm0
movdqa xmmword [rcx + rax + 0x30], xmm1
movdqa xmm2, xmmword [rcx + rax + 0x40]
psrad xmm2, xmm0
movdqa xmmword [rcx + rax + 0x40], xmm2
movdqa xmm3, xmmword [rcx + rax + 0x50]
psrad xmm3, xmm0
movdqa xmmword [rcx + rax + 0x50], xmm3
movdqa xmm4, xmmword [rcx + rax + 0x60]
psrad xmm4, xmm0
movdqa xmmword [rcx + rax + 0x60], xmm4
movdqa xmm5, xmmword [rcx + rax + 0x70]
psrad xmm5, xmm0
movdqa xmmword [rcx + rax + 0x70], xmm5
sub rax, 0xffffffffffffff80
cmp r11, rax
jne 0x42b2d6
mov ecx, ebp
and ecx, 0xfffffffc
mov r11d, ecx
lea r10, [r9 + r11*4]
sub r12d, ecx
cmp ecx, ebp
je 0x42b3aa
mov ecx, edx
sar dword [r10], cl
test r12d, r12d
je 0x42b3aa
sar dword [r10 + 4], cl
cmp r12d, 1
je 0x42b3aa
sar dword [r10 + 8], cl
cmp r12d, 2
je 0x42b3aa
sar dword [r10 + 0xc], cl
cmp r12d, 3
je 0x42b3aa
sar dword [r10 + 0x10], cl
cmp r12d, 4
je 0x42b3aa
sar dword [r10 + 0x14], cl
movzx r12d, byte [rbx + 0x175]
movzx edx, byte [rbx + 0x176]
add r12d, edx
movzx r9d, byte [rbx + 0x177]
add r12d, r9d
cmp dword [rbx + 0xb4], r12d
je 0x42bdf4
mov dword [rbx + 0xb4], r12d
mov qword [rbx + 0x190], 0
mov dword [rbx + 0xa4], 0
xor r12d, r12d
jmp 0x42ad53
mov r8d, dword [rsp + 0x20]
test r8d, r8d
jne 0x42ba76
lea r8d, [r13 + r13]
mov rdx, r14
mov rcx, rbx
call fcn.0042511a
test eax, eax
je 0x42b425
mov dword [r15 + 0xf0], 1
xor r12d, r12d
jmp 0x42ad3e
and ebp, 0xff83ffff
jmp 0x42ac62
test r13d, r13d
jle 0x42ba8f
mov r9, r14
xor r11d, r11d
xor r10d, r10d
xor eax, eax
lea ebp, [r13 - 1]
and ebp, 3
je 0x42bdd4
mov ecx, dword [r14]
mov eax, dword [r14 + 4]
mov r10d, ecx
xor r10d, eax
or eax, ecx
je 0x42b473
test r10d, r10d
jne 0x42ba8f
lea r9, [r14 + 8]
mov r11d, 1
cmp ebp, 1
je 0x42bdd4
cmp ebp, 2
je 0x42b4b6
mov edx, dword [r9]
mov r12d, dword [r9 + 4]
mov r11d, edx
or r11d, r12d
xor edx, r12d
or r10d, edx
or eax, r11d
je 0x42b4ac
test r10d, r10d
jne 0x42ba8f
add r9, 8
mov r11d, 2
mov edx, dword [r9]
mov ebp, dword [r9 + 4]
mov ecx, edx
or ecx, ebp
xor edx, ebp
or r10d, edx
or eax, ecx
jne 0x42ba86
add r9, 8
add r11d, 1
mov r12d, r10d
jmp 0x42b543
mov ebp, dword [r9 + 8]
mov r9d, dword [rcx + 4]
mov edx, ebp
or edx, r9d
xor ebp, r9d
or r12d, ebp
or eax, edx
je 0x42b4fb
test r12d, r12d
jne 0x42ba8f
mov ebp, dword [rcx + 8]
mov r11d, dword [rcx + 0xc]
mov r9d, ebp
or r9d, r11d
xor ebp, r11d
or r12d, ebp
or eax, r9d
je 0x42b51c
test r12d, r12d
jne 0x42ba8f
mov ebp, dword [rcx + 0x10]
mov r11d, dword [rcx + 0x14]
mov edx, ebp
or edx, r11d
xor ebp, r11d
or r12d, ebp
or eax, edx
je 0x42b53b
test r12d, r12d
jne 0x42ba8f
lea r9, [rcx + 0x18]
lea r11d, [r10 + 3]
mov r10d, dword [r9]
mov ebp, dword [r9 + 4]
mov edx, r10d
or edx, ebp
xor r10d, ebp
or r12d, r10d
or eax, edx
je 0x42b562
test r12d, r12d
jne 0x42ba8f
lea rcx, [r9 + 8]
lea r10d, [r11 + 1]
cmp r13d, r10d
jne 0x42b4db
test eax, eax
je 0x42ba8f
test r12d, r12d
jne 0x42ba8f
mov ebp, edi
and ebp, 0xfffffbcf
or ebp, 0x40000000
mov dword [rbx + 0x18], ebp
movsxd r9, r11d
lea r11, [r9*4 + 4]
xor eax, eax
lea r12, [r9 + 1]
and r12d, 7
je 0x42b624
cmp r12, 1
je 0x42b613
cmp r12, 2
je 0x42b607
cmp r12, 3
je 0x42b5fb
cmp r12, 4
je 0x42b5ef
cmp r12, 5
je 0x42b5e3
cmp r12, 6
mov edx, 4
cmovne rax, rdx
mov ecx, dword [r14 + rax*2]
mov dword [r14 + rax], ecx
add rax, 4
mov r10d, dword [r14 + rax*2]
mov dword [r14 + rax], r10d
add rax, 4
mov r9d, dword [r14 + rax*2]
mov dword [r14 + rax], r9d
add rax, 4
mov r12d, dword [r14 + rax*2]
mov dword [r14 + rax], r12d
add rax, 4
mov edx, dword [r14 + rax*2]
mov dword [r14 + rax], edx
add rax, 4
mov ecx, dword [r14 + rax*2]
mov dword [r14 + rax], ecx
add rax, 4
cmp rax, r11
je 0x42b690
mov r10d, dword [r14 + rax*2]
mov dword [r14 + rax], r10d
lea r9, [rax + 4]
mov r12d, dword [r14 + r9*2]
mov dword [r14 + rax + 4], r12d
lea rdx, [rax + 8]
mov ecx, dword [r14 + rdx*2]
mov dword [r14 + rax + 8], ecx
lea r10, [rax + 0xc]
mov r9d, dword [r14 + r10*2]
mov dword [r14 + rax + 0xc], r9d
lea r12, [rax + 0x10]
mov edx, dword [r14 + r12*2]
mov dword [r14 + rax + 0x10], edx
lea rcx, [rax + 0x14]
mov r10d, dword [r14 + rcx*2]
mov dword [r14 + rax + 0x14], r10d
lea r9, [rax + 0x18]
mov r12d, dword [r14 + r9*2]
mov dword [r14 + rax + 0x18], r12d
lea rdx, [rax + 0x1c]
mov ecx, dword [r14 + rdx*2]
mov dword [r14 + rax + 0x1c], ecx
add rax, 0x20
cmp rax, r11
jne 0x42b624
mov r11d, dword [rbx + 0xb0]
test r11d, r11d
jne 0x42a9f4
mov dword [rsp + 0x20], r8d
mov dword [rbx + 0xb0], 1
mov dword [rbx + 0xa4], 0
mov rcx, rbx
call fcn.00436d20
mov r8d, dword [rsp + 0x20]
jmp 0x42a9f4
movsxd rbp, r13d
shl rbp, 2
mov rcx, rbp
call sub.msvcrt.dll_malloc
mov r12, rax
mov r8, rbp
mov rdx, r14
mov rcx, rax
call sub.msvcrt.dll_memcpy
test esi, esi
jne 0x42bdfc
mov edx, r13d
mov r8d, edx
mov rdx, r14
mov rcx, rbx
call fcn.0042511a
test eax, eax
jne 0x42ad3e
mov rcx, r12
call sub.msvcrt.dll_free
xor r12d, r12d
jmp 0x42ad3e
mov ebp, ecx
or edx, ebp
mov ebp, ecx
and ebp, 1
neg ebp
xor ebp, ecx
or r8d, ebp
and r11d, ecx
or ecx, eax
test cl, 1
je 0x42b746
test r11b, 1
jne 0x42b746
test r8b, 2
jne 0x42bdc2
mov eax, dword [r9 + 4]
mov ebp, eax
test eax, eax
jns 0x42b752
not ebp
or edx, ebp
mov ebp, eax
and ebp, 1
neg ebp
xor ebp, eax
or r8d, ebp
and r11d, eax
or ecx, eax
test cl, 1
je 0x42b77a
test r11b, 1
jne 0x42b77a
test r8b, 2
jne 0x42bdc2
mov eax, dword [r9 + 8]
mov ebp, eax
test eax, eax
jns 0x42b786
not ebp
or edx, ebp
mov ebp, eax
and ebp, 1
neg ebp
xor ebp, eax
or r8d, ebp
and r11d, eax
or eax, ecx
mov ecx, eax
and ecx, 1
je 0x42b7b0
test r11b, 1
jne 0x42b7b0
test r8b, 2
jne 0x42bdc2
lea rbp, [r9 + 0xc]
cmp rbp, qword [rsp + 0x30]
je 0x42b136
mov ecx, dword [rbp]
mov r9d, ecx
test ecx, ecx
jns 0x42b7cc
not r9d
or edx, r9d
mov r9d, ecx
and r9d, 1
neg r9d
xor r9d, ecx
or r8d, r9d
and r11d, ecx
or eax, ecx
test al, 1
je 0x42b7f8
test r11b, 1
jne 0x42b7f8
test r8b, 2
jne 0x42bdc2
lea r9, [rbp + 4]
mov ecx, dword [rbp + 4]
test ecx, ecx
jns 0x42b71c
mov ebp, ecx
not ebp
jmp 0x42b71e
mov r10d, r13d
jmp 0x42b044
test byte [r15 + 0x16], 2
je 0x42b82c
mov r10d, dword [r15 + 0x24]
test r10d, r10d
je 0x42bea1
mov r9d, dword [r15 + 0x100]
test r9d, r9d
je 0x42a9d3
lea r12d, [r9 + r9]
cmp r12d, r8d
jg 0x42a9d3
mov eax, r8d
mov dword [rsp + 0x28], r8d
xor edx, edx
div r9d
mov dword [rsp + 0x20], eax
mov eax, edi
and eax, 0x40000004
cmovne r12d, r9d
mov dword [rsp + 0x30], r9d
cmp eax, 1
sbb ebp, ebp
not ebp
add ebp, 2
mov edx, r12d
mov rcx, r14
call fcn.00424f40
mov dword [rsp + 0x3c], eax
mov ecx, dword [rsp + 0x20]
cmp ecx, 1
mov r8d, dword [rsp + 0x28]
jle 0x42a9d3
mov eax, dword [rsp + 0x30]
imul ebp, eax
mov r11d, ebp
mov dword [rsp + 0x30], ebp
mov ebp, eax
mov r10d, 1
mov dword [rsp + 0x28], r10d
sub ecx, r10d
and ecx, 3
je 0x42bf2f
cmp ecx, 1
je 0x42b94b
cmp ecx, 2
je 0x42b90a
mov dword [rsp + 0x44], eax
mov dword [rsp + 0x40], r8d
mov r11d, dword [rsp + 0x30]
lea rcx, [r14 + r11*4]
mov edx, r12d
call fcn.00424f40
cmp eax, dword [rsp + 0x3c]
jne 0x42bf11
mov dword [rsp + 0x28], 2
mov eax, dword [rsp + 0x44]
lea ebp, [rax + rax]
mov edx, dword [rsp + 0x30]
lea r11d, [rdx + rdx]
mov r8d, dword [rsp + 0x40]
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x44], r8d
mov r9d, r11d
mov dword [rsp + 0x40], r11d
lea rcx, [r14 + r9*4]
mov edx, r12d
call fcn.00424f40
cmp eax, dword [rsp + 0x3c]
jne 0x42bf11
add dword [rsp + 0x28], 1
mov eax, dword [rsp + 0x48]
add ebp, eax
mov r11d, dword [rsp + 0x40]
add r11d, dword [rsp + 0x30]
mov r8d, dword [rsp + 0x44]
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x44], r8d
mov r8d, r11d
mov dword [rsp + 0x40], r11d
lea rcx, [r14 + r8*4]
mov edx, r12d
call fcn.00424f40
cmp eax, dword [rsp + 0x3c]
jne 0x42bf11
add dword [rsp + 0x28], 1
mov ecx, dword [rsp + 0x28]
mov r10d, dword [rsp + 0x48]
add ebp, r10d
mov edx, dword [rsp + 0x40]
add edx, dword [rsp + 0x30]
cmp dword [rsp + 0x20], ecx
mov r8d, dword [rsp + 0x44]
je 0x42a9d3
mov dword [rsp + 0x48], r8d
mov dword [rsp + 0x40], esi
mov esi, r10d
mov dword [rsp + 0x4c], r13d
mov r13d, dword [rsp + 0x30]
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x44], edi
mov ebx, dword [rsp + 0x3c]
mov edi, dword [rsp + 0x28]
mov qword [rsp + 0xa0], r15
mov r15d, edx
mov r9d, r15d
lea rcx, [r14 + r9*4]
mov edx, r12d
call fcn.00424f40
cmp eax, ebx
jne 0x42befc
add ebp, esi
lea eax, [r15 + r13]
mov r15, rax
lea rcx, [r14 + rax*4]
mov edx, r12d
call fcn.00424f40
cmp eax, ebx
jne 0x42befc
add ebp, esi
lea r11d, [r15 + r13]
mov r15, r11
lea rcx, [r14 + r11*4]
mov edx, r12d
call fcn.00424f40
cmp eax, ebx
jne 0x42befc
add ebp, esi
lea r8d, [r15 + r13]
mov r15, r8
lea rcx, [r14 + r8*4]
mov edx, r12d
call fcn.00424f40
cmp eax, ebx
jne 0x42befc
add edi, 4
add ebp, esi
add r15d, r13d
cmp dword [rsp + 0x20], edi
jne 0x42b9cc
mov r8d, dword [rsp + 0x48]
mov esi, dword [rsp + 0x40]
mov r13d, dword [rsp + 0x4c]
mov rbx, qword [rsp + 0x30]
mov edi, dword [rsp + 0x44]
mov r15, qword [rsp + 0xa0]
jmp 0x42a9d3
lea r8d, [r13 + r13]
jmp 0x42acb0
mov r8d, r13d
jmp 0x42b40b
mov r10, r14
jmp 0x42aa80
test r10d, r10d
je 0x42b4ce
mov eax, dword [rbx + 0xb0]
test eax, eax
je 0x42a9f2
mov dword [rsp + 0x20], r8d
mov dword [rbx + 0xb0], 0
mov dword [rbx + 0xa4], 0
mov rcx, rbx
call fcn.00436d20
mov ebp, edi
mov r8d, dword [rsp + 0x20]
jmp 0x42a9f4
mov ecx, 0x30
xor eax, eax
test dil, 1
jne 0x42bed9
test dil, 2
jne 0x42becf
test dil, 4
jne 0x42bec6
mov r9d, ecx
and r9d, 0xffffffe0
lea r8d, [r9 - 1]
shr r8d, 5
and r8d, 7
xor edx, edx
mov qword [rdi + rdx], rax
mov qword [rdi + rdx + 8], rax
mov qword [rdi + rdx + 0x10], rax
mov qword [rdi + rdx + 0x18], rax
mov r13d, 0x20
cmp r13d, r9d
jb 0x42bf66
add r13, rdi
test cl, 0x10
je 0x42bb38
mov rdi, r13
stosq qword [rdi], rax
stosq qword [rdi], rax
mov r13, rdi
test cl, 8
je 0x42bb45
mov rdi, r13
stosq qword [rdi], rax
mov r13, rdi
test cl, 4
je 0x42bb51
mov rdi, r13
stosd dword [rdi], eax
mov r13, rdi
test cl, 2
je 0x42bb5e
mov rdi, r13
stosw word [rdi], ax
mov r13, rdi
and ecx, 1
je 0x42bb67
mov rdi, r13
stosb byte [rdi], al
mov rcx, r12
call sub.msvcrt.dll_free
test esi, esi
je 0x42bbe5
mov byte [rbp], 0x8c
add esi, 4
mov r9d, esi
shr r9d, 1
mov byte [rbp + 1], r9b
mov r13d, esi
shr r13d, 9
mov byte [rbp + 2], r13b
mov eax, esi
shr eax, 0x11
mov byte [rbp + 3], al
mov ecx, dword [rbx + 0xcc]
mov byte [rbp + 4], cl
mov edx, dword [rbx + 0xcc]
mov byte [rbp + 5], dh
movzx r12d, word [rbx + 0xce]
mov byte [rbp + 6], r12b
movzx r11d, byte [rbx + 0xcf]
mov byte [rbp + 7], r11b
mov r15d, dword [r15 + 0xe0]
test r15d, r15d
je 0x42bddc
mov r14, qword [rbx + 0x80]
mov r8d, dword [r14 + 4]
lea r10d, [rsi + r8 + 4]
mov dword [r14 + 4], r10d
mov eax, 1
add rsp, 0x58
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
test r12, r12
je 0x42bbea
mov dword [rsp + 0x20], eax
mov rcx, r12
call sub.msvcrt.dll_free
mov eax, dword [rsp + 0x20]
jmp 0x42bbea
mov edx, dword [rsp + 0x20]
test edx, edx
jne 0x42bc1d
add r13d, r13d
movzx r9d, byte [rbx + 0x174]
test r9d, r9d
je 0x42aeb6
test r13d, r13d
je 0x42bef4
lea r13d, [r13 - 1]
lea r14, [r12 + r13*4 + 4]
mov r8d, 1
mov ecx, r9d
shl r8d, cl
lea r10d, [r8 - 1]
xor edx, edx
movzx eax, byte [rbx + 0x175]
movzx r13d, byte [rbx + 0x176]
movzx r8d, byte [rbx + 0x177]
add eax, r13d
add eax, r8d
mov r8d, esi
mov qword [rsp + 0x20], r12
mov qword [rsp + 0x28], rbp
mov rbp, r12
mov r13d, r10d
mov r12d, r9d
mov qword [rsp + 0xa0], r15
mov esi, eax
jmp 0x42bca1
add rbp, 4
cmp rbp, r14
je 0x42bcd6
mov r8d, dword [rbx + 0x160]
mov r15d, dword [rbp]
mov ecx, esi
sar r15d, cl
and r15d, r13d
mov r11d, r15d
mov ecx, edx
shl r11d, cl
or r11d, r8d
mov dword [rbx + 0x160], r11d
add edx, r12d
mov dword [rbx + 0x15c], edx
cmp edx, 0xf
ja 0x42bd37
add rbp, 4
cmp rbp, r14
jne 0x42bc9a
mov r12, qword [rsp + 0x20]
mov rbp, qword [rsp + 0x28]
mov r15, qword [rsp + 0xa0]
mov r13d, dword [rbx + 0x158]
test r13d, r13d
je 0x42aea8
mov rcx, r12
call sub.msvcrt.dll_free
xor eax, eax
jmp 0x42bbea
mov ecx, r12d
sub ecx, edx
mov r10d, r15d
sar r10d, cl
or r11d, r10d
mov dword [rbx + 0x160], r11d
add r9, 2
mov qword [rbx + 0x148], r9
cmp qword [rbx + 0x140], r9
je 0x42bd79
mov r11d, dword [rbx + 0x160]
mov r9, qword [rbx + 0x148]
mov word [r9], r11w
shr r11d, 0x10
mov dword [rbx + 0x160], r11d
sub edx, 0x10
mov dword [rbx + 0x15c], edx
cmp edx, 0x10
ja 0x42bd07
add r9, 2
mov qword [rbx + 0x148], r9
cmp r9, qword [rbx + 0x140]
je 0x42bd79
cmp edx, 0x10
je 0x42bd30
jmp 0x42bc91
mov rcx, rdi
call qword [rbx + 0x150]
mov edx, dword [rbx + 0x15c]
cmp edx, 0xf
ja 0x42bd30
jmp 0x42bc91
mov r9, qword [rbx + 0x70]
mov r8d, dword [r9 + 4]
lea rbp, [r9 + r8 + 8]
mov r10, qword [rbx + 0x78]
jmp 0x42ae34
xor r8d, r8d
mov rdx, r14
mov rcx, r15
call fcn.0042c702
jmp 0x42ad68
and dword [rbx + 0x18], 0xff83ffff
xor r12d, r12d
jmp 0x42b3c7
call fcn.004474f1
jmp 0x42ada8
mov r12d, r10d
jmp 0x42b543
mov rbx, qword [rbx + 0x70]
mov ebp, dword [rbx + 4]
lea esi, [rsi + rbp + 4]
mov dword [rbx + 4], esi
mov eax, 1
jmp 0x42bbea
xor r12d, r12d
jmp 0x42ad53
mov r8d, dword [r15 + 0x20]
mov byte [rbx + 0x17b], r8b
mov edx, r13d
jmp 0x42ad28
mov eax, r11d
and eax, 1
jne 0x42be41
test r8b, 2
jne 0x42bdc2
mov eax, ecx
mov edx, ecx
shr r8d, 1
mov r9d, ebp
lea ebp, [rbp - 0x40000]
lea ecx, [rdx + 1]
test r8b, 2
je 0x42be1d
mov byte [rbx + 0x177], al
jmp 0x42b19a
sub r9d, 0x40000
mov ecx, eax
mov edx, eax
shr r11d, 1
lea eax, [rdx + 1]
test r11b, 1
jne 0x42be41
mov byte [rbx + 0x176], cl
jmp 0x42b19a
test r8b, 2
je 0x42b0e7
jmp 0x42bdc2
sar dword [r14], cl
lea r12, [r14 + 8]
sar dword [r14 + 4], cl
jmp 0x42af7f
movdqa xmm1, xmmword [r9]
psrad xmm1, xmm0
movdqa xmmword [r9], xmm1
mov edx, 0x10
jmp 0x42aae8
not edx
jmp 0x42b0a0
mov r8d, 1
mov rdx, r14
mov rcx, r15
call fcn.0042c702
mov r8d, dword [rbx + 0x14]
mov r13d, r8d
mov dword [rsp + 0x28], 1
jmp 0x42a9db
stosd dword [rdi], eax
sub ecx, 4
jmp 0x42baef
stosw word [rdi], ax
sub ecx, 2
jmp 0x42bae5
stosb byte [rdi], al
mov ecx, 0x2f
jmp 0x42badb
mov r11, r14
jmp 0x42ac1a
mov r9, r14
jmp 0x42b1f3
xor r9d, r9d
jmp 0x42aeb6
mov esi, dword [rsp + 0x40]
mov rbx, qword [rsp + 0x30]
mov edi, dword [rsp + 0x44]
mov r15, qword [rsp + 0xa0]
mov dword [rbx + 0x14], ebp
mov r13d, ebp
mov r8d, ebp
mov dword [rsp + 0x28], 0
jmp 0x42a9db
mov r10, r14
jmp 0x42b374
mov dword [rsp + 0x48], r8d
mov dword [rsp + 0x40], esi
mov esi, eax
mov dword [rsp + 0x4c], r13d
mov r13d, dword [rsp + 0x30]
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x44], edi
mov ebx, dword [rsp + 0x3c]
mov edi, 1
mov qword [rsp + 0xa0], r15
mov r15d, r11d
jmp 0x42b9cc
test r8d, r8d
je 0x42c05f
cmp r8d, 1
je 0x42c03c
cmp r8d, 2
je 0x42c022
cmp r8d, 3
je 0x42c008
cmp r8d, 4
je 0x42bfee
cmp r8d, 5
je 0x42bfd4
cmp r8d, 6
je 0x42bfba
mov r11d, 0x20
mov qword [rdi + r11], rax
mov qword [rdi + r11 + 8], rax
mov qword [rdi + r11 + 0x10], rax
mov qword [rdi + r11 + 0x18], rax
mov r13d, 0x40
mov r14d, r13d
mov qword [rdi + r14], rax
mov qword [rdi + r14 + 8], rax
mov qword [rdi + r14 + 0x10], rax
mov qword [rdi + r14 + 0x18], rax
add r13d, 0x20
mov r8d, r13d
mov qword [rdi + r8], rax
mov qword [rdi + r8 + 8], rax
mov qword [rdi + r8 + 0x10], rax
mov qword [rdi + r8 + 0x18], rax
add r13d, 0x20
mov r10d, r13d
mov qword [rdi + r10], rax
mov qword [rdi + r10 + 8], rax
mov qword [rdi + r10 + 0x10], rax
mov qword [rdi + r10 + 0x18], rax
add r13d, 0x20
mov edx, r13d
mov qword [rdi + rdx], rax
mov qword [rdi + rdx + 8], rax
mov qword [rdi + rdx + 0x10], rax
mov qword [rdi + rdx + 0x18], rax
add r13d, 0x20
mov r11d, r13d
mov qword [rdi + r11], rax
mov qword [rdi + r11 + 8], rax
mov qword [rdi + r11 + 0x10], rax
mov qword [rdi + r11 + 0x18], rax
add r13d, 0x20
mov r14d, r13d
mov qword [rdi + r14], rax
mov qword [rdi + r14 + 8], rax
mov qword [rdi + r14 + 0x10], rax
mov qword [rdi + r14 + 0x18], rax
add r13d, 0x20
cmp r13d, r9d
jae 0x42bb26
mov r8d, r13d
mov qword [rdi + r8], rax
mov qword [rdi + r8 + 8], rax
mov qword [rdi + r8 + 0x10], rax
mov qword [rdi + r8 + 0x18], rax
lea r10d, [r13 + 0x20]
mov qword [rdi + r10], rax
mov qword [rdi + r10 + 8], rax
mov qword [rdi + r10 + 0x10], rax
mov qword [rdi + r10 + 0x18], rax
lea edx, [r13 + 0x40]
mov qword [rdi + rdx], rax
mov qword [rdi + rdx + 8], rax
mov qword [rdi + rdx + 0x10], rax
mov qword [rdi + rdx + 0x18], rax
lea r11d, [r13 + 0x60]
mov qword [rdi + r11], rax
mov qword [rdi + r11 + 8], rax
mov qword [rdi + r11 + 0x10], rax
mov qword [rdi + r11 + 0x18], rax
lea r14d, [r13 + 0x80]
mov qword [rdi + r14], rax
mov qword [rdi + r14 + 8], rax
mov qword [rdi + r14 + 0x10], rax
mov qword [rdi + r14 + 0x18], rax
lea r8d, [r13 + 0xa0]
mov qword [rdi + r8], rax
mov qword [rdi + r8 + 8], rax
mov qword [rdi + r8 + 0x10], rax
mov qword [rdi + r8 + 0x18], rax
lea r10d, [r13 + 0xc0]
mov qword [rdi + r10], rax
mov qword [rdi + r10 + 8], rax
mov qword [rdi + r10 + 0x10], rax
mov qword [rdi + r10 + 0x18], rax
lea edx, [r13 + 0xe0]
mov qword [rdi + rdx], rax
mov qword [rdi + rdx + 8], rax
mov qword [rdi + rdx + 0x10], rax
mov qword [rdi + rdx + 0x18], rax
add r13d, 0x100
cmp r13d, r9d
jae 0x42bb26
jmp 0x42c05f