Function at 0x1004159c0
Capabilities:
Encode data using xor
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, 0x88
movaps xmmword [rsp], xmm6
movaps xmmword [rsp + 0x10], xmm7
movaps xmmword [rsp + 0x20], xmm8
movaps xmmword [rsp + 0x30], xmm9
movaps xmmword [rsp + 0x40], xmm10
movaps xmmword [rsp + 0x50], xmm11
movaps xmmword [rsp + 0x60], xmm12
movaps xmmword [rsp + 0x70], xmm13
mov r11d, r8d
mov r9, rcx
mov rcx, rdx
shr r11d, 2
mov rax, qword [r9 + 8]
je 0x100414978
lea edx, [r11 - 1]
cmp edx, 6
jbe 0x10041492f
mov r10, rcx
not r10
add r10, rax
cmp r10, 0x3e
ja 0x1004149e0
lea r11d, [r11*4]
mov r10, rax
add r11, rcx
nop dword [rax]
movzx edx, byte [rcx + 2]
movzx r8d, byte [rcx + 1]
add rcx, 4
add r10, 4
shl r8d, 8
shl edx, 0x10
or edx, r8d
movzx r8d, byte [rcx - 4]
or edx, r8d
movzx r8d, byte [rcx - 1]
shl r8d, 0x18
or edx, r8d
mov dword [r10 - 4], edx
cmp r11, rcx
jne 0x100414940
mov edx, dword [r9 + 4]
cmp edx, 0xc
je 0x1004150a0
cmp edx, 0xe
je 0x1004158a0
mov ecx, 0xffffffff
cmp edx, 0xa
je 0x100415480
movaps xmm6, xmmword [rsp]
movaps xmm7, xmmword [rsp + 0x10]
mov eax, ecx
movaps xmm8, xmmword [rsp + 0x20]
movaps xmm9, xmmword [rsp + 0x30]
movaps xmm10, xmmword [rsp + 0x40]
movaps xmm11, xmmword [rsp + 0x50]
movaps xmm12, xmmword [rsp + 0x60]
movaps xmm13, xmmword [rsp + 0x70]
add rsp, 0x88
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
cmp edx, 0xe
jbe 0x1004159b5
shr r8d, 6
mov rdx, rax
pxor xmm5, xmm5
mov r10, rcx
mov ebx, r8d
movdqa xmm6, xmmword [0x100427be0]
pxor xmm2, xmm2
shl rbx, 6
add rbx, rax
nop dword [rax]
movdqu xmm1, xmmword [r10]
movdqu xmm0, xmmword [r10 + 0x10]
add rdx, 0x40
movdqa xmm8, xmm6
movdqu xmm3, xmmword [r10 + 0x10]
movdqu xmm4, xmmword [r10 + 0x30]
add r10, 0x40
pand xmm0, xmm6
pand xmm1, xmm6
movdqu xmm7, xmmword [r10 - 0x10]
packuswb xmm1, xmm0
movdqu xmm0, xmmword [r10 - 0x40]
psrlw xmm3, 8
pand xmm4, xmm6
psrlw xmm7, 8
psrlw xmm0, 8
packuswb xmm0, xmm3
movdqu xmm3, xmmword [r10 - 0x20]
pand xmm3, xmm6
packuswb xmm3, xmm4
movdqu xmm4, xmmword [r10 - 0x20]
pand xmm8, xmm3
psrlw xmm3, 8
psrlw xmm4, 8
packuswb xmm4, xmm7
movdqa xmm7, xmm6
pand xmm7, xmm1
psrlw xmm1, 8
packuswb xmm7, xmm8
packuswb xmm1, xmm3
movdqa xmm8, xmm6
movdqa xmm3, xmm6
pand xmm8, xmm4
movdqa xmm10, xmm7
pand xmm3, xmm0
psrlw xmm4, 8
punpcklbw xmm10, xmm5
packuswb xmm3, xmm8
psrlw xmm0, 8
movdqa xmm13, xmm10
packuswb xmm0, xmm4
movdqa xmm11, xmm3
movdqa xmm4, xmm1
punpcklbw xmm4, xmm5
punpcklbw xmm11, xmm5
movdqa xmm8, xmm0
psllw xmm11, 8
movdqa xmm9, xmm4
punpcklbw xmm8, xmm5
movdqa xmm12, xmm11
punpcklwd xmm9, xmm2
punpckhwd xmm4, xmm2
punpcklwd xmm12, xmm2
pslld xmm9, 0x10
punpckhwd xmm11, xmm2
por xmm9, xmm12
movdqa xmm12, xmm8
punpckhwd xmm8, xmm2
pslld xmm4, 0x10
pslld xmm8, 0x18
punpckhwd xmm10, xmm2
por xmm8, xmm10
por xmm4, xmm11
punpckhbw xmm1, xmm5
por xmm4, xmm8
punpckhbw xmm3, xmm5
punpcklwd xmm12, xmm2
psllw xmm3, 8
movups xmmword [rdx - 0x30], xmm4
movdqa xmm4, xmm1
punpcklwd xmm13, xmm2
movdqa xmm8, xmm3
pslld xmm12, 0x18
punpcklwd xmm4, xmm2
punpckhbw xmm0, xmm5
punpcklwd xmm8, xmm2
por xmm12, xmm13
pslld xmm4, 0x10
punpckhbw xmm7, xmm5
por xmm9, xmm12
por xmm4, xmm8
movdqa xmm8, xmm0
movups xmmword [rdx - 0x40], xmm9
punpckhwd xmm1, xmm2
movdqa xmm9, xmm7
punpcklwd xmm8, xmm2
punpckhwd xmm0, xmm2
pslld xmm8, 0x18
punpcklwd xmm9, xmm2
punpckhwd xmm3, xmm2
pslld xmm1, 0x10
pslld xmm0, 0x18
punpckhwd xmm7, xmm2
por xmm8, xmm9
por xmm1, xmm3
por xmm0, xmm7
por xmm4, xmm8
por xmm1, xmm0
movups xmmword [rdx - 0x20], xmm4
movups xmmword [rdx - 0x10], xmm1
cmp rbx, rdx
jne 0x100414a10
mov edx, r8d
shl edx, 4
cmp r11d, edx
je 0x100414978
mov r10d, r11d
sub r10d, edx
lea r8d, [r10 - 1]
cmp r8d, 6
jbe 0x100414e64
movq xmm2, qword [0x100427be0]
mov r8d, edx
shl r8, 2
lea rbx, [rcx + r8]
movdqa xmm1, xmm2
movdqa xmm6, xmm2
add r8, rax
movq xmm0, qword [rbx]
movq xmm4, qword [rbx + 8]
movq xmm3, qword [rbx + 0x10]
movq xmm5, qword [rbx + 0x18]
pand xmm6, xmm4
psrlw xmm4, 8
pand xmm1, xmm0
psrlw xmm0, 8
packuswb xmm1, xmm6
movdqa xmm6, xmm2
packuswb xmm0, xmm4
movdqa xmm4, xmm2
pand xmm6, xmm5
pand xmm4, xmm3
psrlw xmm5, 8
pshufd xmm1, xmm1, 8
packuswb xmm4, xmm6
psrlw xmm3, 8
movdqa xmm6, xmm2
pshufd xmm4, xmm4, 8
packuswb xmm3, xmm5
movdqa xmm5, xmm2
pand xmm6, xmm4
pand xmm5, xmm1
pshufd xmm0, xmm0, 8
psrlw xmm4, 8
psrlw xmm1, 8
pshufd xmm3, xmm3, 8
packuswb xmm1, xmm4
movdqa xmm4, xmm2
pand xmm2, xmm3
pand xmm4, xmm0
psrlw xmm3, 8
packuswb xmm5, xmm6
packuswb xmm4, xmm2
psrlw xmm0, 8
pshufd xmm1, xmm1, 8
pshufd xmm4, xmm4, 8
packuswb xmm0, xmm3
pxor xmm2, xmm2
pshufd xmm5, xmm5, 8
pshufd xmm0, xmm0, 8
movdqa xmm8, xmm4
movdqa xmm3, xmm1
movdqa xmm10, xmm5
punpcklbw xmm8, xmm2
punpcklbw xmm3, xmm2
movdqa xmm6, xmm0
punpcklbw xmm10, xmm2
punpcklbw xmm6, xmm2
punpcklbw xmm5, xmm2
punpcklbw xmm4, xmm2
psllw xmm8, 8
punpcklbw xmm1, xmm2
punpcklbw xmm0, xmm2
movdqa xmm7, xmm3
pxor xmm2, xmm2
movdqa xmm9, xmm8
punpcklwd xmm7, xmm2
punpcklwd xmm9, xmm2
punpcklwd xmm3, xmm2
pslld xmm7, 0x10
movdqa xmm11, xmm10
pshufd xmm3, xmm3, 0x4e
por xmm7, xmm9
movdqa xmm9, xmm6
punpcklwd xmm6, xmm2
punpcklwd xmm8, xmm2
pshufd xmm6, xmm6, 0x4e
punpcklwd xmm10, xmm2
pslld xmm3, 0x10
pslld xmm6, 0x18
pshufd xmm1, xmm1, 0x4e
pshufd xmm8, xmm8, 0x4e
pshufd xmm10, xmm10, 0x4e
pshufd xmm4, xmm4, 0x4e
por xmm6, xmm10
por xmm3, xmm8
punpcklwd xmm9, xmm2
por xmm3, xmm6
psllw xmm4, 8
punpcklwd xmm11, xmm2
movq qword [r8 + 8], xmm3
movdqa xmm3, xmm1
movdqa xmm6, xmm4
pshufd xmm0, xmm0, 0x4e
pslld xmm9, 0x18
punpcklwd xmm3, xmm2
punpcklwd xmm6, xmm2
por xmm9, xmm11
pslld xmm3, 0x10
pshufd xmm5, xmm5, 0x4e
por xmm7, xmm9
por xmm3, xmm6
punpcklwd xmm1, xmm2
movdqa xmm6, xmm0
punpcklwd xmm0, xmm2
movq qword [r8], xmm7
punpcklwd xmm4, xmm2
movdqa xmm7, xmm5
punpcklwd xmm6, xmm2
pshufd xmm0, xmm0, 0x4e
punpcklwd xmm5, xmm2
pshufd xmm1, xmm1, 0x4e
punpcklwd xmm7, xmm2
pslld xmm6, 0x18
pslld xmm0, 0x18
pshufd xmm5, xmm5, 0x4e
pslld xmm1, 0x10
pshufd xmm4, xmm4, 0x4e
por xmm6, xmm7
por xmm0, xmm5
por xmm1, xmm4
por xmm3, xmm6
por xmm0, xmm1
movq qword [r8 + 0x10], xmm3
movq qword [r8 + 0x18], xmm0
mov r8d, r10d
and r8d, 0xfffffff8
add edx, r8d
and r10d, 7
je 0x100414978
lea r10d, [rdx*4]
mov esi, edx
lea r8d, [r10 + 1]
lea ebx, [r10 + 2]
movzx r8d, byte [rcx + r8]
movzx ebx, byte [rcx + rbx]
shl r8d, 8
shl ebx, 0x10
or r8d, ebx
mov ebx, r10d
add r10d, 3
movzx ebx, byte [rcx + rbx]
movzx r10d, byte [rcx + r10]
or r8d, ebx
shl r10d, 0x18
or r8d, r10d
mov dword [rax + rsi*4], r8d
lea r8d, [rdx + 1]
cmp r8d, r11d
jae 0x100414978
lea r10d, [r8*4]
mov ebx, r8d
lea esi, [r10 + 2]
lea r8d, [r10 + 1]
movzx r8d, byte [rcx + r8]
movzx esi, byte [rcx + rsi]
shl r8d, 8
shl esi, 0x10
or r8d, esi
mov esi, r10d
add r10d, 3
movzx esi, byte [rcx + rsi]
movzx r10d, byte [rcx + r10]
or r8d, esi
shl r10d, 0x18
or r8d, r10d
mov dword [rax + rbx*4], r8d
lea r8d, [rdx + 2]
cmp r8d, r11d
jae 0x100414978
lea r10d, [r8*4]
mov ebx, r8d
lea esi, [r10 + 2]
lea r8d, [r10 + 1]
movzx r8d, byte [rcx + r8]
movzx esi, byte [rcx + rsi]
shl r8d, 8
shl esi, 0x10
or r8d, esi
mov esi, r10d
add r10d, 3
movzx esi, byte [rcx + rsi]
movzx r10d, byte [rcx + r10]
or r8d, esi
shl r10d, 0x18
or r8d, r10d
mov dword [rax + rbx*4], r8d
lea r8d, [rdx + 3]
cmp r8d, r11d
jae 0x100414978
lea r10d, [r8*4]
mov ebx, r8d
lea esi, [r10 + 2]
lea r8d, [r10 + 1]
movzx r8d, byte [rcx + r8]
movzx esi, byte [rcx + rsi]
shl r8d, 8
shl esi, 0x10
or r8d, esi
mov esi, r10d
add r10d, 3
movzx esi, byte [rcx + rsi]
movzx r10d, byte [rcx + r10]
or r8d, esi
shl r10d, 0x18
or r8d, r10d
mov dword [rax + rbx*4], r8d
lea r8d, [rdx + 4]
cmp r8d, r11d
jae 0x100414978
lea r10d, [r8*4]
mov ebx, r8d
lea esi, [r10 + 2]
lea r8d, [r10 + 1]
movzx r8d, byte [rcx + r8]
movzx esi, byte [rcx + rsi]
shl r8d, 8
shl esi, 0x10
or r8d, esi
mov esi, r10d
add r10d, 3
movzx esi, byte [rcx + rsi]
movzx r10d, byte [rcx + r10]
or r8d, esi
shl r10d, 0x18
or r8d, r10d
mov dword [rax + rbx*4], r8d
lea r8d, [rdx + 5]
cmp r8d, r11d
jae 0x100414978
lea r10d, [r8*4]
mov ebx, r8d
add edx, 6
lea r8d, [r10 + 1]
lea esi, [r10 + 2]
movzx r8d, byte [rcx + r8]
movzx esi, byte [rcx + rsi]
shl r8d, 8
shl esi, 0x10
or r8d, esi
mov esi, r10d
add r10d, 3
movzx esi, byte [rcx + rsi]
movzx r10d, byte [rcx + r10]
or r8d, esi
shl r10d, 0x18
or r8d, r10d
mov dword [rax + rbx*4], r8d
cmp edx, r11d
jae 0x100414978
lea r10d, [rdx*4]
lea r8d, [r10 + 2]
lea r11d, [r10 + 1]
movzx r8d, byte [rcx + r8]
movzx r11d, byte [rcx + r11]
shl r8d, 0x10
shl r11d, 8
or r8d, r11d
mov r11d, r10d
add r10d, 3
movzx r11d, byte [rcx + r11]
movzx ecx, byte [rcx + r10]
or r8d, r11d
shl ecx, 0x18
or ecx, r8d
mov dword [rax + rdx*4], ecx
mov edx, dword [r9 + 4]
cmp edx, 0xc
jne 0x100414985
nop word [rax + rax]
mov ebx, dword [rax + 0x14]
lea r8, [0x1004409c0]
mov edx, dword [rax]
xor edx, dword [0x10043f980]
mov r9d, dword [rax + 8]
movzx ecx, bh
mov esi, dword [rax + 4]
mov r11d, dword [rax + 0x10]
movzx ecx, byte [r8 + rcx]
mov r10d, r11d
xor edx, ecx
mov ecx, ebx
shr ecx, 0x18
movzx ecx, byte [r8 + rcx]
shl ecx, 0x10
xor edx, ecx
movzx ecx, bl
movzx ecx, byte [r8 + rcx]
shl ecx, 0x18
xor edx, ecx
mov ecx, ebx
shr ecx, 0x10
movzx ecx, cl
movzx ecx, byte [r8 + rcx]
shl ecx, 8
xor edx, ecx
mov ecx, r9d
xor esi, edx
mov dword [rax + 0x18], edx
xor edx, dword [0x10043f984]
xor ecx, esi
mov dword [rax + 0x1c], esi
mov dword [rax + 0x20], ecx
xor ecx, dword [rax + 0xc]
xor r10d, ecx
mov dword [rax + 0x24], ecx
xor ebx, r10d
mov dword [rax + 0x28], r10d
movzx edi, bh
mov dword [rax + 0x2c], ebx
movzx r10d, byte [r8 + rdi]
mov edi, r11d
xor r10d, edx
mov edx, ebx
shr edx, 0x18
movzx edx, byte [r8 + rdx]
shl edx, 0x10
xor r10d, edx
movzx edx, bl
movzx edx, byte [r8 + rdx]
shl edx, 0x18
xor r10d, edx
mov edx, ebx
shr edx, 0x10
movzx edx, dl
movzx edx, byte [r8 + rdx]
shl edx, 8
xor r10d, edx
xor esi, r10d
xor r9d, r10d
mov dword [rax + 0x30], r10d
xor r10d, dword [0x10043f988]
mov dword [rax + 0x34], esi
mov r14d, esi
mov esi, ecx
xor edi, r9d
xor esi, r9d
mov dword [rax + 0x38], r9d
mov dword [rax + 0x3c], esi
mov esi, ebx
xor esi, edi
mov dword [rax + 0x40], edi
mov edx, esi
mov dword [rax + 0x44], esi
movzx ebp, dh
mov edx, r14d
movzx ebp, byte [r8 + rbp]
xor r10d, ebp
mov ebp, esi
shr ebp, 0x18
movzx ebp, byte [r8 + rbp]
shl ebp, 0x10
xor r10d, ebp
movzx ebp, sil
shr esi, 0x10
movzx ebp, byte [r8 + rbp]
movzx esi, sil
movzx esi, byte [r8 + rsi]
shl ebp, 0x18
xor r10d, ebp
shl esi, 8
mov ebp, ebx
xor r10d, esi
mov esi, r9d
xor edx, r10d
mov dword [rax + 0x48], r10d
xor r10d, dword [0x10043f98c]
xor ecx, edx
xor esi, edx
mov dword [rax + 0x4c], edx
xor ebp, ecx
mov dword [rax + 0x54], ecx
xor edi, ecx
mov r14d, ecx
mov ecx, ebp
mov dword [rax + 0x58], edi
movzx edi, ch
mov dword [rax + 0x50], esi
mov dword [rax + 0x5c], ebp
movzx edi, byte [r8 + rdi]
xor r10d, edi
mov edi, ebp
shr edi, 0x18
movzx edi, byte [r8 + rdi]
shl edi, 0x10
xor r10d, edi
movzx edi, bpl
movzx edi, byte [r8 + rdi]
shl edi, 0x18
xor r10d, edi
mov edi, ebp
shr edi, 0x10
movzx edi, dil
movzx edi, byte [r8 + rdi]
shl edi, 8
xor r10d, edi
mov edi, r14d
xor r9d, r10d
xor r11d, r10d
mov dword [rax + 0x60], r10d
xor edx, r10d
xor edi, r9d
xor ebp, r11d
mov dword [rax + 0x64], edx
mov dword [rax + 0x6c], edi
mov edi, dword [0x10043f990]
mov ecx, ebp
movzx esi, ch
mov dword [rax + 0x68], r9d
mov ecx, r14d
xor edi, r10d
mov r10d, ebp
mov dword [rax + 0x74], ebp
shr r10d, 0x18
mov dword [rax + 0x70], r11d
movzx esi, byte [r8 + rsi]
movzx r10d, byte [r8 + r10]
xor esi, edi
shl r10d, 0x10
xor esi, r10d
movzx r10d, bpl
movzx r10d, byte [r8 + r10]
shl r10d, 0x18
xor esi, r10d
mov r10d, ebp
shr r10d, 0x10
movzx r10d, r10b
movzx r10d, byte [r8 + r10]
shl r10d, 8
xor esi, r10d
mov r10d, r9d
xor edx, esi
mov dword [rax + 0x78], esi
xor esi, dword [0x10043f994]
xor r10d, edx
xor ebx, edx
xor ecx, edx
mov dword [rax + 0x7c], edx
mov dword [rax + 0x80], r10d
mov r10d, r11d
movzx edi, bh
mov ebp, ebx
xor r10d, ecx
mov dword [rax + 0x84], ecx
mov dword [rax + 0x8c], ebx
mov dword [rax + 0x88], r10d
movzx r10d, byte [r8 + rdi]
mov edi, r11d
xor r10d, esi
mov esi, ebx
shr esi, 0x18
movzx esi, byte [r8 + rsi]
shl esi, 0x10
xor r10d, esi
movzx esi, bl
movzx esi, byte [r8 + rsi]
shl esi, 0x18
xor r10d, esi
mov esi, ebx
shr esi, 0x10
movzx esi, sil
movzx esi, byte [r8 + rsi]
shl esi, 8
xor r10d, esi
mov esi, r9d
mov r9d, ecx
xor esi, r10d
xor edx, r10d
mov dword [rax + 0x90], r10d
xor r10d, dword [0x10043f998]
xor edi, esi
mov dword [rax + 0x94], edx
mov r15d, edx
xor r9d, esi
xor ebp, edi
mov dword [rax + 0x98], esi
mov edx, ebp
mov dword [rax + 0xa0], edi
movzx edx, dh
mov dword [rax + 0x9c], r9d
mov dword [rax + 0xa4], ebp
movzx r9d, byte [r8 + rdx]
mov edx, r15d
xor r9d, r10d
mov r10d, ebp
shr r10d, 0x18
movzx r10d, byte [r8 + r10]
shl r10d, 0x10
xor r9d, r10d
movzx r10d, bpl
movzx r10d, byte [r8 + r10]
shl r10d, 0x18
xor r9d, r10d
mov r10d, ebp
shr r10d, 0x10
movzx r10d, r10b
movzx r10d, byte [r8 + r10]
shl r10d, 8
xor r10d, r9d
mov r9d, esi
xor edx, r10d
mov dword [rax + 0xa8], r10d
xor r10d, dword [0x10043f99c]
xor ecx, edx
xor r9d, edx
mov dword [rax + 0xac], edx
xor ebx, ecx
xor edi, ecx
mov dword [rax + 0xb4], ecx
mov dword [rax + 0xb8], edi
movzx edi, bh
mov dword [rax + 0xb0], r9d
mov dword [rax + 0xbc], ebx
movzx r9d, byte [r8 + rdi]
xor r9d, r10d
mov r10d, ebx
shr r10d, 0x18
movzx r10d, byte [r8 + r10]
shl r10d, 0x10
xor r9d, r10d
movzx r10d, bl
movzx r10d, byte [r8 + r10]
shl r10d, 0x18
xor r9d, r10d
mov r10d, ebx
shr r10d, 0x10
movzx r10d, r10b
movzx r8d, byte [r8 + r10]
shl r8d, 8
xor r8d, r9d
xor esi, r8d
xor edx, r8d
mov dword [rax + 0xc0], r8d
xor r8d, r11d
mov r9d, esi
mov dword [rax + 0xd0], r8d
xor r8d, ebx
xor r9d, ecx
mov dword [rax + 0xc4], edx
xor ecx, ecx
mov dword [rax + 0xc8], esi
mov dword [rax + 0xcc], r9d
mov dword [rax + 0xd4], r8d
jmp 0x10041499c
mov edx, dword [rax + 0xc]
lea r8, [0x1004409c0]
mov r10d, dword [rax]
xor r10d, dword [0x10043f980]
mov r9d, dword [rax + 8]
movzx ecx, dh
movzx ecx, byte [r8 + rcx]
mov r11d, r9d
xor r10d, ecx
mov ecx, edx
shr ecx, 0x18
movzx ecx, byte [r8 + rcx]
shl ecx, 0x10
xor r10d, ecx
movzx ecx, dl
movzx ecx, byte [r8 + rcx]
shl ecx, 0x18
xor r10d, ecx
mov ecx, edx
shr ecx, 0x10
movzx ecx, cl
movzx ecx, byte [r8 + rcx]
shl ecx, 8
xor r10d, ecx
mov ecx, dword [rax + 4]
mov dword [rax + 0x10], r10d
xor ecx, r10d
xor r10d, dword [0x10043f984]
xor r11d, ecx
mov dword [rax + 0x14], ecx
xor edx, r11d
mov dword [rax + 0x18], r11d
movzx edi, dh
mov dword [rax + 0x1c], edx
movzx r11d, byte [r8 + rdi]
xor r10d, r11d
mov r11d, edx
shr r11d, 0x18
movzx r11d, byte [r8 + r11]
shl r11d, 0x10
xor r10d, r11d
movzx r11d, dl
movzx r11d, byte [r8 + r11]
shl r11d, 0x18
xor r10d, r11d
mov r11d, edx
shr r11d, 0x10
movzx r11d, r11b
movzx r11d, byte [r8 + r11]
shl r11d, 8
xor r10d, r11d
xor r9d, r10d
xor ecx, r10d
mov dword [rax + 0x20], r10d
xor r10d, dword [0x10043f988]
mov ebx, r9d
mov dword [rax + 0x24], ecx
xor ebx, edx
mov dword [rax + 0x28], r9d
movzx edi, bh
mov dword [rax + 0x2c], ebx
movzx r11d, byte [r8 + rdi]
xor r11d, r10d
mov r10d, ebx
shr r10d, 0x18
movzx r10d, byte [r8 + r10]
shl r10d, 0x10
xor r11d, r10d
movzx r10d, bl
movzx r10d, byte [r8 + r10]
shl r10d, 0x18
xor r11d, r10d
shr ebx, 0x10
movzx r10d, bl
movzx r10d, byte [r8 + r10]
shl r10d, 8
xor r11d, r10d
mov r10d, r9d
xor ecx, r11d
mov dword [rax + 0x30], r11d
xor edx, ecx
xor r10d, ecx
mov dword [rax + 0x34], ecx
movzx edi, dh
mov dword [rax + 0x3c], edx
mov ebx, edx
mov dword [rax + 0x38], r10d
movzx r10d, byte [r8 + rdi]
xor r11d, dword [0x10043f98c]
xor r10d, r11d
mov r11d, edx
shr r11d, 0x18
movzx r11d, byte [r8 + r11]
shl r11d, 0x10
xor r10d, r11d
movzx r11d, dl
movzx r11d, byte [r8 + r11]
shl r11d, 0x18
xor r10d, r11d
mov r11d, edx
shr r11d, 0x10
movzx r11d, r11b
movzx r11d, byte [r8 + r11]
shl r11d, 8
xor r10d, r11d
xor r9d, r10d
xor ecx, r10d
mov dword [rax + 0x40], r10d
xor r10d, dword [0x10043f990]
xor ebx, r9d
mov dword [rax + 0x44], ecx
movzx edi, bh
mov dword [rax + 0x48], r9d
mov dword [rax + 0x4c], ebx
movzx r11d, byte [r8 + rdi]
xor r11d, r10d
mov r10d, ebx
shr r10d, 0x18
movzx r10d, byte [r8 + r10]
shl r10d, 0x10
xor r11d, r10d
movzx r10d, bl
shr ebx, 0x10
movzx r10d, byte [r8 + r10]
shl r10d, 0x18
xor r11d, r10d
movzx r10d, bl
movzx r10d, byte [r8 + r10]
shl r10d, 8
xor r11d, r10d
mov r10d, r9d
xor ecx, r11d
mov dword [rax + 0x50], r11d
xor r10d, ecx
xor edx, ecx
mov dword [rax + 0x54], ecx
xor r11d, dword [0x10043f994]
movzx edi, dh
mov dword [rax + 0x5c], edx
mov ebx, edx
mov dword [rax + 0x58], r10d
movzx r10d, byte [r8 + rdi]
xor r10d, r11d
mov r11d, edx
shr r11d, 0x18
movzx r11d, byte [r8 + r11]
shl r11d, 0x10
xor r10d, r11d
movzx r11d, dl
movzx r11d, byte [r8 + r11]
shl r11d, 0x18
xor r10d, r11d
mov r11d, edx
shr r11d, 0x10
movzx r11d, r11b
movzx r11d, byte [r8 + r11]
shl r11d, 8
xor r10d, r11d
xor r9d, r10d
xor ecx, r10d
mov dword [rax + 0x60], r10d
xor r10d, dword [0x10043f998]
xor ebx, r9d
mov dword [rax + 0x64], ecx
movzx edi, bh
mov dword [rax + 0x68], r9d
mov dword [rax + 0x6c], ebx
movzx r11d, byte [r8 + rdi]
xor r11d, r10d
mov r10d, ebx
shr r10d, 0x18
movzx r10d, byte [r8 + r10]
shl r10d, 0x10
xor r11d, r10d
movzx r10d, bl
shr ebx, 0x10
movzx r10d, byte [r8 + r10]
shl r10d, 0x18
xor r11d, r10d
movzx r10d, bl
movzx r10d, byte [r8 + r10]
shl r10d, 8
xor r11d, r10d
mov r10d, r9d
xor ecx, r11d
mov dword [rax + 0x70], r11d
xor edx, ecx
xor r10d, ecx
mov dword [rax + 0x74], ecx
xor r11d, dword [0x10043f99c]
movzx edi, dh
mov dword [rax + 0x7c], edx
mov ebx, edx
mov dword [rax + 0x78], r10d
movzx r10d, byte [r8 + rdi]
xor r10d, r11d
mov r11d, edx
shr r11d, 0x18
movzx r11d, byte [r8 + r11]
shl r11d, 0x10
xor r10d, r11d
movzx r11d, dl
movzx r11d, byte [r8 + r11]
shl r11d, 0x18
xor r10d, r11d
mov r11d, edx
shr r11d, 0x10
movzx r11d, r11b
movzx r11d, byte [r8 + r11]
shl r11d, 8
xor r10d, r11d
xor r9d, r10d
xor ecx, r10d
mov dword [rax + 0x80], r10d
xor r10d, dword [0x10043f9a0]
xor ebx, r9d
mov dword [rax + 0x84], ecx
movzx edi, bh
mov dword [rax + 0x8c], ebx
mov dword [rax + 0x88], r9d
movzx r11d, byte [r8 + rdi]
xor r11d, r10d
mov r10d, ebx
shr r10d, 0x18
movzx r10d, byte [r8 + r10]
shl r10d, 0x10
xor r11d, r10d
movzx r10d, bl
shr ebx, 0x10
movzx r10d, byte [r8 + r10]
shl r10d, 0x18
xor r11d, r10d
movzx r10d, bl
movzx r10d, byte [r8 + r10]
shl r10d, 8
xor r11d, r10d
mov r10d, r9d
xor ecx, r11d
mov dword [rax + 0x90], r11d
xor r11d, dword [0x10043f9a4]
xor edx, ecx
xor r10d, ecx
mov dword [rax + 0x94], ecx
movzx edi, dh
mov dword [rax + 0x98], r10d
mov dword [rax + 0x9c], edx
movzx r10d, byte [r8 + rdi]
xor r10d, r11d
mov r11d, edx
shr r11d, 0x18
movzx r11d, byte [r8 + r11]
shl r11d, 0x10
xor r10d, r11d
movzx r11d, dl
movzx r11d, byte [r8 + r11]
shl r11d, 0x18
xor r10d, r11d
mov r11d, edx
shr r11d, 0x10
movzx r11d, r11b
movzx r8d, byte [r8 + r11]
shl r8d, 8
xor r8d, r10d
xor ecx, r8d
mov dword [rax + 0xa0], r8d
xor r8d, r9d
mov dword [rax + 0xa8], r8d
xor r8d, edx
mov dword [rax + 0xa4], ecx
xor ecx, ecx
mov dword [rax + 0xac], r8d
jmp 0x10041499c
mov ebx, dword [rax + 0x1c]
mov r8d, dword [rax + 0xc]
lea r9, [0x10043f980]
add rax, 0x20
mov r12d, dword [rax - 8]
mov ebp, dword [rax - 0xc]
lea r14, [r9 + 0x1c]
lea rcx, [0x1004409c0]
mov edx, ebx
mov edi, dword [rax - 0x10]
mov esi, dword [rax - 0x18]
mov ebx, r8d
mov r11d, dword [rax - 0x1c]
mov r10d, dword [rax - 0x20]
mov r8d, edx
nop word [rax + rax]
mov r13d, r8d
mov edx, r8d
add r9, 4
add rax, 0x20
shr r13d, 0x18
movzx edx, dh
movzx r13d, byte [rcx + r13]
movzx edx, byte [rcx + rdx]
shl r13d, 0x10
xor edx, r13d
movzx r13d, r8b
xor edx, dword [r9 - 4]
movzx r13d, byte [rcx + r13]
shl r13d, 0x18
xor edx, r13d
mov r13d, r8d
shr r13d, 0x10
movzx r13d, r13b
movzx r13d, byte [rcx + r13]
shl r13d, 8
xor edx, r13d
xor r10d, edx
xor r11d, r10d
mov dword [rax - 0x20], r10d
xor esi, r11d
mov dword [rax - 0x1c], r11d
xor ebx, esi
mov dword [rax - 0x18], esi
mov edx, ebx
mov dword [rax - 0x14], ebx
movzx r13d, bl
shr edx, 0x18
movzx r13d, byte [rcx + r13]
movzx edx, byte [rcx + rdx]
shl edx, 0x18
xor edx, r13d
mov r15d, edx
movzx edx, bh
movzx r13d, byte [rcx + rdx]
mov edx, r15d
shl r13d, 8
xor edx, r13d
mov r13d, ebx
shr r13d, 0x10
movzx r13d, r13b
movzx r13d, byte [rcx + r13]
shl r13d, 0x10
xor edx, r13d
xor edi, edx
xor ebp, edi
mov dword [rax - 0x10], edi
xor r12d, ebp
mov dword [rax - 0xc], ebp
xor r8d, r12d
mov dword [rax - 8], r12d
mov dword [rax - 4], r8d
cmp r9, r14
jne 0x1004158e0
xor ecx, ecx
jmp 0x10041499c
mov r10d, r11d
xor edx, edx
jmp 0x100414c19
mov rax, r8
mov r8d, r9d
mov r9d, dword [0x100440ac0]
test r9d, r9d
je 0x1004159ee
mov dword [rcx], edx
lea rdx, [rcx + 0x10]
mov qword [rcx + 8], rdx
cmp r8d, 0x18
je 0x100415a20
cmp r8d, 0x20
je 0x1004159f8
cmp r8d, 0x10
je 0x100415a10
mov eax, 0xffffffff
ret
mov edx, 0xe
mov dword [rcx + 4], edx
mov rdx, rax
jmp 0x1004148c0
mov edx, 0xa
mov dword [rcx + 4], edx
mov rdx, rax
jmp 0x1004148c0
mov edx, 0xc
mov dword [rcx + 4], edx
mov rdx, rax
jmp 0x1004148c0