Function at 0x44867e
Capabilities:
Encode data using xor

Disassembly:
push ebx
mov ebx, esp
push ecx
push ecx
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x2c8
mov eax, dword [0x46405c]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebx + 8]
mov dword [ebp - 0x2a0], eax
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x28c], eax
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x29c], eax
mov eax, dword [ebx + 0x14]
or eax, dword [ebx + 0x18]
push esi
push edi
je 0x449fab
cmp dword [ebx + 0x18], 0
ja 0x4486df
cmp dword [ebx + 0x14], 0x100
jb 0x4495c4
mov al, 0xd
movzx eax, al
movd xmm0, eax
mov cl, 0xc
mov al, cl
movzx eax, al
add cl, 3
movd dword [ebp - 0x290], xmm0
movd xmm0, eax
mov al, cl
movzx eax, al
movd dword [ebp - 0x278], xmm0
movd xmm0, eax
mov cl, 0xe
mov al, cl
movzx eax, al
add cl, 0xfb
movd dword [ebp - 0x288], xmm0
movd xmm0, eax
mov al, cl
movzx eax, al
mov cl, 8
movd dword [ebp - 0x284], xmm0
movd xmm0, eax
mov al, cl
movzx eax, al
add cl, 3
movd dword [ebp - 0x280], xmm0
movd xmm0, eax
mov al, cl
movzx eax, al
mov cl, 0xa
movd dword [ebp - 0x27c], xmm0
movd xmm0, eax
mov al, cl
movzx eax, al
movd xmm1, eax
add cl, 0xfb
mov al, cl
movzx eax, al
mov cl, 4
movd dword [ebp - 0x274], xmm0
movd xmm0, eax
mov al, cl
movzx eax, al
movd xmm2, eax
add cl, 3
mov al, cl
movzx eax, al
movd xmm3, eax
mov cl, 6
mov al, cl
movzx eax, al
movd xmm4, eax
add cl, 0xfb
movzx eax, cl
xor dl, dl
movd xmm5, eax
mov al, dl
movzx eax, al
add dl, 3
movd xmm6, eax
mov al, dl
movzx eax, al
mov dl, 2
movd xmm7, eax
movd dword [ebp - 0x294], xmm0
movzx eax, dl
movd xmm0, eax
mov al, 0xe
movzx eax, al
mov cl, 0xd
punpcklbw xmm0, xmm1
movd xmm1, dword [ebp - 0x284]
mov byte [ebp - 0x263], cl
dec cl
mov byte [ebp - 0x266], cl
mov cl, 0xf
mov byte [ebp - 0x269], cl
add cl, 0xfb
punpcklbw xmm4, xmm1
movd xmm1, dword [ebp - 0x27c]
punpcklbw xmm0, xmm4
mov byte [ebp - 0x261], cl
mov cl, 9
mov byte [ebp - 0x26c], cl
dec cl
punpcklbw xmm6, xmm1
movd xmm1, dword [ebp - 0x278]
mov byte [ebp - 0x26d], cl
mov cl, 0xb
mov byte [ebp - 0x26b], cl
add cl, 0xfb
mov byte [ebp - 0x265], cl
punpcklbw xmm2, xmm1
movd xmm1, dword [ebp - 0x274]
punpcklbw xmm6, xmm2
movd xmm2, dword [ebp - 0x294]
punpcklbw xmm0, xmm6
mov cl, 5
mov byte [ebp - 0x264], cl
punpcklbw xmm7, xmm1
movd xmm1, dword [ebp - 0x288]
dec cl
mov byte [ebp - 0x262], cl
mov cl, 7
mov byte [ebp - 0x268], cl
mov cl, dl
punpcklbw xmm3, xmm1
movd xmm1, dword [ebp - 0x280]
punpcklbw xmm7, xmm3
dec dl
mov byte [ebp - 0x26a], dl
xor dl, dl
mov byte [ebp - 0x267], dl
punpcklbw xmm5, xmm1
movd xmm1, dword [ebp - 0x290]
add dl, 3
punpcklbw xmm2, xmm1
punpcklbw xmm5, xmm2
punpcklbw xmm7, xmm5
punpcklbw xmm0, xmm7
movdqa xmmword [ebp - 0xd0], xmm0
movd xmm0, eax
mov al, byte [ebp - 0x263]
movzx eax, al
movd dword [ebp - 0x288], xmm0
movd xmm0, eax
mov al, byte [ebp - 0x266]
movzx eax, al
movd dword [ebp - 0x284], xmm0
movd xmm0, eax
mov al, byte [ebp - 0x269]
movzx eax, al
movd dword [ebp - 0x278], xmm0
movd xmm0, eax
mov al, byte [ebp - 0x261]
movzx eax, al
movd dword [ebp - 0x294], xmm0
movd xmm0, eax
mov al, byte [ebp - 0x26c]
movzx eax, al
movd dword [ebp - 0x274], xmm0
movd xmm0, eax
mov al, byte [ebp - 0x26d]
movzx eax, al
movd dword [ebp - 0x290], xmm0
movd xmm0, eax
movd dword [ebp - 0x27c], xmm0
mov al, byte [ebp - 0x26b]
movzx eax, al
movd xmm0, eax
mov al, byte [ebp - 0x265]
movzx eax, al
movd xmm1, eax
mov al, byte [ebp - 0x264]
movzx eax, al
movd dword [ebp - 0x280], xmm1
movd xmm1, eax
mov al, byte [ebp - 0x262]
movzx eax, al
movd xmm2, eax
mov al, byte [ebp - 0x268]
movzx eax, al
movd xmm3, eax
movzx eax, cl
movd xmm4, eax
mov al, byte [ebp - 0x26a]
movzx eax, al
movd xmm5, eax
mov al, byte [ebp - 0x267]
movzx eax, al
movd xmm6, eax
movzx eax, dl
movd xmm7, eax
mov eax, dword [ebp - 0x2a0]
mov ecx, dword [eax]
punpcklbw xmm7, xmm0
movd xmm0, dword [ebp - 0x294]
punpcklbw xmm3, xmm0
movd xmm0, dword [ebp - 0x290]
punpcklbw xmm7, xmm3
punpcklbw xmm5, xmm0
movd xmm0, dword [ebp - 0x284]
punpcklbw xmm1, xmm0
movd xmm0, dword [ebp - 0x27c]
punpcklbw xmm5, xmm1
movd xmm1, dword [ebp - 0x280]
punpcklbw xmm7, xmm5
punpcklbw xmm6, xmm0
movd xmm0, dword [ebp - 0x278]
punpcklbw xmm2, xmm0
movd xmm0, dword [ebp - 0x274]
punpcklbw xmm6, xmm2
punpcklbw xmm4, xmm0
movd xmm0, dword [ebp - 0x288]
punpcklbw xmm1, xmm0
movd xmm0, ecx
mov ecx, dword [eax + 4]
pshufd xmm0, xmm0, 0
movdqa xmmword [ebp - 0x210], xmm0
movd xmm0, ecx
mov ecx, dword [eax + 8]
pshufd xmm0, xmm0, 0
movdqa xmmword [ebp - 0x1f0], xmm0
movd xmm0, ecx
mov ecx, dword [eax + 0xc]
pshufd xmm0, xmm0, 0
movdqa xmmword [ebp - 0x190], xmm0
movd xmm0, ecx
mov ecx, dword [eax + 0x10]
pshufd xmm0, xmm0, 0
movdqa xmmword [ebp - 0x200], xmm0
movd xmm0, ecx
mov ecx, dword [eax + 0x14]
pshufd xmm0, xmm0, 0
movdqa xmmword [ebp - 0x1b0], xmm0
movd xmm0, ecx
mov ecx, dword [eax + 0x18]
pshufd xmm0, xmm0, 0
movdqa xmmword [ebp - 0x220], xmm0
movd xmm0, ecx
mov ecx, dword [eax + 0x1c]
punpcklbw xmm4, xmm1
pshufd xmm0, xmm0, 0
punpcklbw xmm6, xmm4
punpcklbw xmm7, xmm6
movdqa xmmword [ebp - 0x1d0], xmm0
movdqa xmmword [ebp - 0x230], xmm7
movd xmm0, ecx
mov ecx, dword [eax + 0x20]
pshufd xmm0, xmm0, 0
movdqa xmmword [ebp - 0x160], xmm0
movd xmm0, ecx
mov ecx, dword [eax + 0x24]
pshufd xmm0, xmm0, 0
movdqa xmmword [ebp - 0x170], xmm0
movd xmm0, ecx
mov ecx, dword [eax + 0x28]
pshufd xmm0, xmm0, 0
movdqa xmmword [ebp - 0x180], xmm0
movd xmm0, ecx
mov ecx, dword [eax + 0x2c]
pshufd xmm0, xmm0, 0
movdqa xmmword [ebp - 0x1a0], xmm0
movd xmm0, ecx
mov ecx, dword [eax + 0x38]
pshufd xmm0, xmm0, 0
movdqa xmmword [ebp - 0x1c0], xmm0
movd xmm0, ecx
mov ecx, dword [eax + 0x3c]
pshufd xmm0, xmm0, 0
movdqa xmmword [ebp - 0x1e0], xmm0
movd xmm0, ecx
xor ecx, ecx
push ecx
push ecx
push ecx
pshufd xmm0, xmm0, 0
push 1
movdqa xmmword [ebp - 0x90], xmm0
call fcn.00448640
push ecx
push 2
push ecx
push 3
movdqa xmmword [ebp - 0x2c0], xmm0
call fcn.00448640
mov edx, dword [ebp - 0x28c]
lea ecx, [edx + 0xc0]
mov dword [ebp - 0x284], ecx
mov ecx, dword [ebp - 0x29c]
lea esi, [ecx + 0xc0]
mov dword [ebp - 0x274], esi
lea esi, [edx + 0x80]
mov dword [ebp - 0x27c], esi
lea esi, [ecx + 0x80]
add edx, 0x40
add esp, 0x20
add ecx, 0x40
mov dword [ebp - 0x280], ecx
movdqa xmmword [ebp - 0x2b0], xmm0
mov dword [ebp - 0x288], esi
mov dword [ebp - 0x278], edx
mov ecx, 0xd0
movdqa xmm0, xmmword [ebp - 0x210]
mov esi, dword [eax + 0x34]
movdqa xmmword [ebp - 0xf0], xmm0
movdqa xmm0, xmmword [ebp - 0x1f0]
movdqa xmm5, xmmword [ebp - 0x1b0]
movdqa xmm6, xmmword [ebp - 0x180]
movdqa xmmword [ebp - 0xa0], xmm0
movdqa xmm0, xmmword [ebp - 0x190]
movdqa xmmword [ebp - 0xb0], xmm0
movdqa xmm0, xmmword [ebp - 0x200]
movdqa xmmword [ebp - 0xc0], xmm0
movdqa xmm0, xmmword [ebp - 0x220]
movdqa xmmword [ebp - 0x100], xmm0
movdqa xmm0, xmmword [ebp - 0x1d0]
movdqa xmmword [ebp - 0x110], xmm0
movdqa xmm0, xmmword [ebp - 0x160]
mov dword [ebp - 0x294], esi
mov esi, dword [eax + 0x30]
movdqa xmmword [ebp - 0x80], xmm0
movdqa xmm0, xmmword [ebp - 0x170]
xor edx, edx
or edx, esi
mov esi, dword [ebp - 0x294]
movdqa xmmword [ebp - 0x130], xmm0
movdqa xmm0, xmmword [ebp - 0x1a0]
xor edi, edi
or esi, edi
movdqa xmmword [ebp - 0xe0], xmm0
movdqa xmm0, xmmword [ebp - 0x1c0]
push esi
movdqa xmmword [ebp - 0x70], xmm0
movdqa xmm0, xmmword [ebp - 0x1e0]
push edx
movdqa xmmword [ebp - 0x120], xmm0
movdqa xmm0, xmmword [ebp - 0x90]
push esi
push edx
movdqa xmmword [ebp - 0x140], xmm0
call fcn.00448640
movdqa xmm2, xmmword [ebp - 0x2c0]
movdqa xmm3, xmmword [ebp - 0x2b0]
add esp, 0x10
paddq xmm2, xmm0
paddq xmm3, xmm0
add edx, 4
movdqa xmm1, xmm2
punpckldq xmm1, xmm3
punpckhdq xmm2, xmm3
movdqa xmm0, xmm1
adc esi, edi
push 0xa
punpckldq xmm0, xmm2
punpckhdq xmm1, xmm2
mov dword [eax + 0x30], edx
movdqa xmmword [ebp - 0x260], xmm0
movdqa xmmword [ebp - 0x240], xmm1
mov dword [eax + 0x34], esi
pop edx
movdqa xmm3, xmmword [ebp - 0xf0]
movdqa xmm4, xmmword [ebp - 0x130]
paddd xmm3, xmm5
pxor xmm0, xmm3
pshufb xmm0, xmmword [ebp - 0xd0]
paddd xmm4, xmm0
pxor xmm5, xmm4
movdqa xmm2, xmm5
pslld xmm2, 0xc
psrld xmm5, 0x14
por xmm2, xmm5
movdqa xmm5, xmmword [ebp - 0x100]
paddd xmm3, xmm2
pxor xmm0, xmm3
pshufb xmm0, xmm7
paddd xmm4, xmm0
pxor xmm2, xmm4
movdqa xmmword [ebp - 0xf0], xmm3
movdqa xmmword [ebp - 0x250], xmm0
movdqa xmm0, xmmword [ebp - 0xa0]
paddd xmm0, xmm5
pxor xmm1, xmm0
pshufb xmm1, xmmword [ebp - 0xd0]
movdqa xmm3, xmm6
movdqa xmm6, xmmword [ebp - 0x110]
paddd xmm3, xmm1
pxor xmm5, xmm3
movdqa xmmword [ebp - 0x130], xmm4
movdqa xmm4, xmm2
psrld xmm2, 0x19
pslld xmm4, 7
por xmm4, xmm2
movdqa xmm2, xmm5
pslld xmm2, 0xc
psrld xmm5, 0x14
por xmm2, xmm5
paddd xmm0, xmm2
pxor xmm1, xmm0
pshufb xmm1, xmm7
paddd xmm3, xmm1
pxor xmm2, xmm3
movdqa xmm5, xmm2
psrld xmm2, 0x19
movdqa xmmword [ebp - 0xa0], xmm0
movdqa xmm0, xmmword [ebp - 0xb0]
paddd xmm0, xmm6
movdqa xmmword [ebp - 0x150], xmm1
movdqa xmm1, xmmword [ebp - 0xe0]
movdqa xmmword [ebp - 0x60], xmm3
pslld xmm5, 7
por xmm5, xmm2
movdqa xmm2, xmmword [ebp - 0x120]
pxor xmm2, xmm0
pshufb xmm2, xmmword [ebp - 0xd0]
paddd xmm1, xmm2
pxor xmm6, xmm1
movdqa xmm3, xmm6
pslld xmm3, 0xc
psrld xmm6, 0x14
por xmm3, xmm6
paddd xmm0, xmm3
pxor xmm2, xmm0
pshufb xmm2, xmm7
movdqa xmm7, xmmword [ebp - 0x80]
paddd xmm1, xmm2
pxor xmm3, xmm1
movdqa xmm6, xmm3
psrld xmm3, 0x19
movdqa xmmword [ebp - 0xe0], xmm1
movdqa xmm1, xmmword [ebp - 0xc0]
pslld xmm6, 7
por xmm6, xmm3
movdqa xmm3, xmmword [ebp - 0x140]
paddd xmm1, xmm7
movdqa xmmword [ebp - 0x120], xmm2
movdqa xmm2, xmmword [ebp - 0x70]
pxor xmm3, xmm1
pshufb xmm3, xmmword [ebp - 0xd0]
paddd xmm2, xmm3
movdqa xmmword [ebp - 0xb0], xmm0
pxor xmm7, xmm2
movdqa xmm0, xmm7
pslld xmm0, 0xc
psrld xmm7, 0x14
por xmm0, xmm7
movdqa xmm7, xmmword [ebp - 0x230]
paddd xmm1, xmm0
pxor xmm3, xmm1
pshufb xmm3, xmm7
paddd xmm2, xmm3
pxor xmm0, xmm2
movdqa xmmword [ebp - 0xc0], xmm1
movdqa xmm1, xmm0
psrld xmm0, 0x19
pslld xmm1, 7
por xmm1, xmm0
movdqa xmm0, xmmword [ebp - 0xf0]
paddd xmm0, xmm5
pxor xmm3, xmm0
pshufb xmm3, xmmword [ebp - 0xd0]
movdqa xmmword [ebp - 0xf0], xmm0
movdqa xmm0, xmmword [ebp - 0xe0]
paddd xmm0, xmm3
pxor xmm5, xmm0
movdqa xmmword [ebp - 0xe0], xmm0
movdqa xmm0, xmm5
psrld xmm5, 0x14
pslld xmm0, 0xc
por xmm0, xmm5
movdqa xmm5, xmmword [ebp - 0xf0]
paddd xmm5, xmm0
pxor xmm3, xmm5
pshufb xmm3, xmm7
movdqa xmmword [ebp - 0x140], xmm3
movdqa xmm3, xmmword [ebp - 0xe0]
paddd xmm3, xmmword [ebp - 0x140]
pxor xmm0, xmm3
movdqa xmmword [ebp - 0xe0], xmm3
movdqa xmm3, xmm0
pslld xmm3, 7
movdqa xmmword [ebp - 0xf0], xmm5
movdqa xmm5, xmmword [ebp - 0xa0]
paddd xmm5, xmm6
psrld xmm0, 0x19
por xmm3, xmm0
movdqa xmm0, xmmword [ebp - 0x250]
pxor xmm0, xmm5
pshufb xmm0, xmmword [ebp - 0xd0]
paddd xmm2, xmm0
pxor xmm6, xmm2
movdqa xmmword [ebp - 0x100], xmm3
movdqa xmm3, xmm6
pslld xmm3, 0xc
psrld xmm6, 0x14
por xmm3, xmm6
movdqa xmm6, xmmword [ebp - 0x130]
paddd xmm5, xmm3
pxor xmm0, xmm5
pshufb xmm0, xmm7
paddd xmm2, xmm0
pxor xmm3, xmm2
movdqa xmmword [ebp - 0x70], xmm2
movdqa xmm2, xmm3
pslld xmm2, 7
psrld xmm3, 0x19
por xmm2, xmm3
movdqa xmmword [ebp - 0xa0], xmm5
movdqa xmm5, xmmword [ebp - 0xb0]
movdqa xmmword [ebp - 0x110], xmm2
movdqa xmm2, xmmword [ebp - 0x150]
paddd xmm5, xmm1
pxor xmm2, xmm5
pshufb xmm2, xmmword [ebp - 0xd0]
paddd xmm6, xmm2
pxor xmm1, xmm6
movdqa xmm3, xmm1
pslld xmm3, 0xc
psrld xmm1, 0x14
por xmm3, xmm1
paddd xmm5, xmm3
movdqa xmmword [ebp - 0xb0], xmm5
pxor xmm2, xmm5
dec edx
movdqa xmm5, xmmword [ebp - 0xc0]
pshufb xmm2, xmm7
movdqa xmm1, xmm2
paddd xmm6, xmm1
pxor xmm3, xmm6
movdqa xmm2, xmm3
psrld xmm3, 0x19
pslld xmm2, 7
por xmm2, xmm3
movdqa xmm3, xmmword [ebp - 0x120]
paddd xmm5, xmm4
pxor xmm3, xmm5
pshufb xmm3, xmmword [ebp - 0xd0]
movdqa xmmword [ebp - 0x130], xmm6
movdqa xmm6, xmmword [ebp - 0x60]
paddd xmm6, xmm3
movdqa xmmword [ebp - 0x80], xmm2
pxor xmm4, xmm6
movdqa xmm2, xmm4
pslld xmm2, 0xc
psrld xmm4, 0x14
por xmm2, xmm4
paddd xmm5, xmm2
pxor xmm3, xmm5
pshufb xmm3, xmm7
paddd xmm6, xmm3
movdqa xmmword [ebp - 0x120], xmm3
pxor xmm2, xmm6
movdqa xmm3, xmm2
pslld xmm3, 7
psrld xmm2, 0x19
movdqa xmmword [ebp - 0xc0], xmm5
por xmm3, xmm2
movdqa xmm5, xmm3
jne 0x448d1f
movdqa xmm2, xmmword [ebp - 0xa0]
paddd xmm2, xmmword [ebp - 0x1f0]
movdqa xmm3, xmmword [ebp - 0xf0]
paddd xmm3, xmmword [ebp - 0x210]
mov edx, dword [ebp - 0x28c]
movdqa xmmword [ebp - 0xa0], xmm2
movdqa xmm2, xmmword [ebp - 0xb0]
paddd xmm2, xmmword [ebp - 0x190]
mov esi, dword [ebp - 0x29c]
movdqa xmmword [ebp - 0xb0], xmm2
movdqa xmm2, xmmword [ebp - 0xc0]
paddd xmm2, xmmword [ebp - 0x200]
movdqa xmm4, xmmword [ebp - 0xb0]
movdqa xmmword [ebp - 0x150], xmm5
movdqa xmm5, xmm2
punpckldq xmm4, xmm5
movdqa xmmword [ebp - 0x60], xmm4
movdqa xmm4, xmmword [ebp - 0xb0]
punpckhdq xmm4, xmm5
movdqu xmm5, xmmword [edx]
mov edx, dword [ebp - 0x278]
movdqa xmmword [ebp - 0xc0], xmm4
movdqa xmm2, xmm3
punpckldq xmm2, xmmword [ebp - 0xa0]
punpckhdq xmm3, xmmword [ebp - 0xa0]
movdqa xmm4, xmm2
punpcklqdq xmm4, xmmword [ebp - 0x60]
punpckhqdq xmm2, xmmword [ebp - 0x60]
pxor xmm4, xmm5
movdqu xmmword [esi], xmm4
movdqu xmm4, xmmword [edx]
mov edx, dword [ebp - 0x280]
pxor xmm2, xmm4
movdqu xmmword [edx], xmm2
mov edx, dword [ebp - 0x27c]
movdqu xmm4, xmmword [edx]
mov edx, dword [ebp - 0x288]
movdqa xmm2, xmm3
punpcklqdq xmm2, xmmword [ebp - 0xc0]
punpckhqdq xmm3, xmmword [ebp - 0xc0]
pxor xmm2, xmm4
movdqu xmmword [edx], xmm2
mov edx, dword [ebp - 0x284]
movdqu xmm2, xmmword [edx]
mov edx, dword [ebp - 0x274]
pxor xmm3, xmm2
movdqa xmm2, xmmword [ebp - 0x100]
paddd xmm2, xmmword [ebp - 0x220]
movdqa xmmword [ebp - 0x100], xmm2
movdqa xmm2, xmmword [ebp - 0x110]
paddd xmm2, xmmword [ebp - 0x1d0]
movdqa xmmword [ebp - 0x110], xmm2
movdqa xmm2, xmmword [ebp - 0x80]
paddd xmm2, xmmword [ebp - 0x160]
movdqa xmm4, xmmword [ebp - 0x110]
movdqu xmmword [edx], xmm3
movdqa xmm3, xmmword [ebp - 0x150]
paddd xmm3, xmmword [ebp - 0x1b0]
movdqa xmm5, xmm2
punpckldq xmm4, xmm5
push 0x10
pop edx
add dword [ebp - 0x28c], edx
mov edi, dword [ebp - 0x28c]
add dword [ebp - 0x278], edx
add dword [ebp - 0x27c], edx
add dword [ebp - 0x284], edx
add dword [ebp - 0x280], edx
add dword [ebp - 0x288], edx
movdqa xmmword [ebp - 0x80], xmm4
movdqa xmm4, xmmword [ebp - 0x110]
punpckhdq xmm4, xmm5
movdqu xmm5, xmmword [edi]
movdqa xmm2, xmm3
punpckldq xmm2, xmmword [ebp - 0x100]
punpckhdq xmm3, xmmword [ebp - 0x100]
movdqa xmmword [ebp - 0x60], xmm4
add esi, edx
add dword [ebp - 0x274], edx
movdqa xmm4, xmm2
punpcklqdq xmm4, xmmword [ebp - 0x80]
punpckhqdq xmm2, xmmword [ebp - 0x80]
mov edi, dword [ebp - 0x278]
paddd xmm6, xmmword [ebp - 0x180]
add dword [ebp - 0x28c], edx
pxor xmm4, xmm5
movdqu xmmword [esi], xmm4
movdqu xmm4, xmmword [edi]
mov edi, dword [ebp - 0x280]
pxor xmm2, xmm4
movdqu xmmword [edi], xmm2
mov edi, dword [ebp - 0x27c]
movdqu xmm4, xmmword [edi]
mov edi, dword [ebp - 0x288]
add dword [ebp - 0x278], edx
add dword [ebp - 0x280], edx
add dword [ebp - 0x27c], edx
add dword [ebp - 0x288], edx
movdqa xmm2, xmm3
punpcklqdq xmm2, xmmword [ebp - 0x60]
punpckhqdq xmm3, xmmword [ebp - 0x60]
pxor xmm2, xmm4
movdqu xmmword [edi], xmm2
mov edi, dword [ebp - 0x284]
movdqu xmm2, xmmword [edi]
mov edi, dword [ebp - 0x274]
movdqa xmm4, xmmword [ebp - 0xe0]
paddd xmm4, xmmword [ebp - 0x1a0]
pxor xmm3, xmm2
movdqa xmm2, xmmword [ebp - 0x70]
paddd xmm2, xmmword [ebp - 0x1c0]
movdqu xmmword [edi], xmm3
movdqa xmm3, xmmword [ebp - 0x130]
paddd xmm3, xmmword [ebp - 0x170]
mov edi, dword [ebp - 0x28c]
add dword [ebp - 0x284], edx
add dword [ebp - 0x274], edx
add dword [ebp - 0x28c], edx
paddd xmm0, xmmword [ebp - 0x260]
paddd xmm1, xmmword [ebp - 0x240]
movdqa xmm5, xmm4
movdqa xmmword [ebp - 0x60], xmm6
movdqa xmm6, xmm2
punpckhdq xmm4, xmm6
movdqa xmmword [ebp - 0x70], xmm4
movdqa xmm2, xmm3
punpckldq xmm2, xmmword [ebp - 0x60]
punpckhdq xmm3, xmmword [ebp - 0x60]
movdqa xmm4, xmm2
punpckldq xmm5, xmm6
movdqu xmm6, xmmword [edi]
mov edi, dword [ebp - 0x278]
add dword [ebp - 0x278], edx
add esi, edx
punpcklqdq xmm4, xmm5
pxor xmm4, xmm6
movdqu xmmword [esi], xmm4
movdqu xmm4, xmmword [edi]
mov edi, dword [ebp - 0x280]
add dword [ebp - 0x280], edx
punpckhqdq xmm2, xmm5
pxor xmm2, xmm4
movdqu xmmword [edi], xmm2
mov edi, dword [ebp - 0x27c]
movdqu xmm4, xmmword [edi]
mov edi, dword [ebp - 0x288]
add dword [ebp - 0x27c], edx
add dword [ebp - 0x288], edx
movdqa xmm2, xmm3
punpcklqdq xmm2, xmmword [ebp - 0x70]
punpckhqdq xmm3, xmmword [ebp - 0x70]
pxor xmm2, xmm4
movdqu xmmword [edi], xmm2
mov edi, dword [ebp - 0x284]
movdqu xmm2, xmmword [edi]
mov edi, dword [ebp - 0x274]
add dword [ebp - 0x284], edx
pxor xmm3, xmm2
add esi, edx
add dword [ebp - 0x274], edx
movdqu xmmword [edi], xmm3
movdqa xmm2, xmm0
movdqa xmm0, xmmword [ebp - 0x140]
paddd xmm0, xmmword [ebp - 0x90]
movdqa xmm3, xmmword [ebp - 0x120]
paddd xmm3, xmmword [ebp - 0x1e0]
mov edx, dword [ebp - 0x28c]
add dword [ebx + 0x14], 0xffffff00
movdqa xmm5, xmm0
movdqa xmm0, xmm2
adc dword [ebx + 0x18], 0xffffffff
add dword [ebp - 0x28c], ecx
punpckldq xmm0, xmm1
punpckhdq xmm2, xmm1
movdqa xmm1, xmm2
movdqa xmm2, xmm0
movdqa xmm4, xmm3
punpckldq xmm4, xmm5
punpckhdq xmm3, xmm5
movdqu xmm5, xmmword [edx]
mov edx, dword [ebp - 0x278]
add dword [ebp - 0x278], ecx
punpcklqdq xmm2, xmm4
pxor xmm2, xmm5
movdqu xmmword [esi], xmm2
movdqu xmm2, xmmword [edx]
mov edx, dword [ebp - 0x280]
add dword [ebp - 0x280], ecx
punpckhqdq xmm0, xmm4
pxor xmm0, xmm2
movdqu xmmword [edx], xmm0
mov edx, dword [ebp - 0x27c]
movdqu xmm2, xmmword [edx]
mov edx, dword [ebp - 0x288]
add dword [ebp - 0x288], ecx
add dword [ebp - 0x27c], ecx
movdqa xmm0, xmm1
punpcklqdq xmm0, xmm3
pxor xmm0, xmm2
movdqu xmmword [edx], xmm0
mov edx, dword [ebp - 0x284]
movdqu xmm0, xmmword [edx]
mov edx, dword [ebp - 0x274]
add dword [ebp - 0x274], ecx
add dword [ebp - 0x284], ecx
add esi, ecx
cmp dword [ebx + 0x18], 0
punpckhqdq xmm1, xmm3
pxor xmm1, xmm0
movdqu xmmword [edx], xmm1
mov dword [ebp - 0x29c], esi
ja 0x448be1
jb 0x4495c4
cmp dword [ebx + 0x14], 0x100
jae 0x448be1
cmp dword [ebx + 0x18], 0
ja 0x4495d4
cmp dword [ebx + 0x14], 0x40
jb 0x449acb
mov al, 0xd
movzx eax, al
movd xmm0, eax
mov cl, 0xc
mov al, cl
movzx eax, al
add cl, 3
movd dword [ebp - 0x288], xmm0
movd xmm0, eax
mov al, cl
movzx eax, al
movd dword [ebp - 0x284], xmm0
movd xmm0, eax
mov cl, 0xe
mov al, cl
movzx eax, al
add cl, 0xfb
movd dword [ebp - 0x278], xmm0
movd xmm0, eax
mov al, cl
movzx eax, al
mov cl, 8
movd dword [ebp - 0x294], xmm0
movd xmm0, eax
mov al, cl
movzx eax, al
add cl, 3
movd dword [ebp - 0x274], xmm0
movd xmm0, eax
mov al, cl
movzx eax, al
mov cl, 0xa
movd dword [ebp - 0x290], xmm0
movd xmm0, eax
mov al, cl
movzx eax, al
movd xmm1, eax
add cl, 0xfb
mov al, cl
movzx eax, al
mov cl, 4
movd dword [ebp - 0x27c], xmm0
movd xmm0, eax
mov al, cl
movzx eax, al
movd xmm2, eax
add cl, 3
mov al, cl
movzx eax, al
movd xmm3, eax
mov cl, 6
mov al, cl
movzx eax, al
movd xmm4, eax
add cl, 0xfb
movzx eax, cl
xor dl, dl
movd xmm5, eax
mov al, dl
movzx eax, al
add dl, 3
movd xmm6, eax
mov al, dl
movzx eax, al
mov dl, 2
movd xmm7, eax
movd dword [ebp - 0x280], xmm0
movzx eax, dl
movd xmm0, eax
mov al, 0xe
movzx eax, al
mov cl, 0xd
punpcklbw xmm0, xmm1
movd xmm1, dword [ebp - 0x294]
mov byte [ebp - 0x263], cl
dec cl
mov byte [ebp - 0x266], cl
mov cl, 0xf
mov byte [ebp - 0x269], cl
add cl, 0xfb
punpcklbw xmm4, xmm1
movd xmm1, dword [ebp - 0x290]
punpcklbw xmm0, xmm4
mov byte [ebp - 0x261], cl
mov cl, 9
mov byte [ebp - 0x26c], cl
dec cl
punpcklbw xmm6, xmm1
movd xmm1, dword [ebp - 0x284]
mov byte [ebp - 0x26d], cl
mov cl, 0xb
mov byte [ebp - 0x26b], cl
add cl, 0xfb
mov byte [ebp - 0x265], cl
punpcklbw xmm2, xmm1
movd xmm1, dword [ebp - 0x27c]
punpcklbw xmm6, xmm2
movd xmm2, dword [ebp - 0x280]
punpcklbw xmm0, xmm6
mov cl, 5
mov byte [ebp - 0x264], cl
punpcklbw xmm7, xmm1
movd xmm1, dword [ebp - 0x278]
dec cl
mov byte [ebp - 0x262], cl
mov cl, 7
mov byte [ebp - 0x268], cl
mov cl, dl
punpcklbw xmm3, xmm1
movd xmm1, dword [ebp - 0x274]
punpcklbw xmm7, xmm3
dec dl
mov byte [ebp - 0x26a], dl
xor dl, dl
mov byte [ebp - 0x267], dl
punpcklbw xmm5, xmm1
movd xmm1, dword [ebp - 0x288]
add dl, 3
punpcklbw xmm2, xmm1
punpcklbw xmm5, xmm2
punpcklbw xmm7, xmm5
punpcklbw xmm0, xmm7
movdqa xmmword [ebp - 0x90], xmm0
movd xmm0, eax
mov al, byte [ebp - 0x263]
movzx eax, al
movd dword [ebp - 0x288], xmm0
movd xmm0, eax
mov al, byte [ebp - 0x266]
movzx eax, al
movd dword [ebp - 0x284], xmm0
movd xmm0, eax
mov al, byte [ebp - 0x269]
movzx eax, al
movd dword [ebp - 0x278], xmm0
movd xmm0, eax
mov al, byte [ebp - 0x261]
movzx eax, al
movd dword [ebp - 0x294], xmm0
movd xmm0, eax
mov al, byte [ebp - 0x26c]
movzx eax, al
movd dword [ebp - 0x274], xmm0
movd xmm0, eax
mov al, byte [ebp - 0x26d]
movzx eax, al
movd dword [ebp - 0x290], xmm0
movd xmm0, eax
movd dword [ebp - 0x27c], xmm0
mov al, byte [ebp - 0x26b]
movzx eax, al
movd xmm0, eax
mov al, byte [ebp - 0x265]
movzx eax, al
movd xmm1, eax
mov al, byte [ebp - 0x264]
movzx eax, al
movd dword [ebp - 0x280], xmm1
movd xmm1, eax
mov al, byte [ebp - 0x262]
movzx eax, al
movd xmm2, eax
mov al, byte [ebp - 0x268]
movzx eax, al
movd xmm3, eax
movzx eax, cl
movd xmm4, eax
mov al, byte [ebp - 0x26a]
movzx eax, al
movd xmm6, eax
mov al, byte [ebp - 0x267]
movzx eax, al
movd xmm7, eax
movzx eax, dl
movd xmm5, eax
mov eax, dword [ebp - 0x2a0]
mov esi, dword [ebp - 0x28c]
mov edx, dword [ebp - 0x29c]
punpcklbw xmm5, xmm0
movd xmm0, dword [ebp - 0x294]
punpcklbw xmm3, xmm0
movd xmm0, dword [ebp - 0x290]
punpcklbw xmm5, xmm3
punpcklbw xmm6, xmm0
movd xmm0, dword [ebp - 0x284]
punpcklbw xmm1, xmm0
movd xmm0, dword [ebp - 0x27c]
punpcklbw xmm6, xmm1
movd xmm1, dword [ebp - 0x280]
punpcklbw xmm5, xmm6
punpcklbw xmm7, xmm0
movd xmm0, dword [ebp - 0x278]
punpcklbw xmm2, xmm0
movd xmm0, dword [ebp - 0x274]
punpcklbw xmm7, xmm2
punpcklbw xmm4, xmm0
movd xmm0, dword [ebp - 0x288]
punpcklbw xmm1, xmm0
punpcklbw xmm4, xmm1
punpcklbw xmm7, xmm4
punpcklbw xmm5, xmm7
movdqu xmm6, xmmword [eax]
movdqu xmm7, xmmword [eax + 0x10]
movdqu xmm3, xmmword [eax + 0x20]
movdqu xmm0, xmmword [eax + 0x30]
push 0xa
movdqa xmm1, xmm6
movdqa xmm4, xmm7
movdqa xmmword [ebp - 0x70], xmm3
movdqa xmmword [ebp - 0x80], xmm0
pop ecx
dec ecx
movdqa xmm2, xmm1
paddd xmm2, xmm4
pxor xmm0, xmm2
pshufb xmm0, xmmword [ebp - 0x90]
paddd xmm3, xmm0
pxor xmm4, xmm3
movdqa xmm1, xmm4
psrld xmm4, 0x14
pslld xmm1, 0xc
pxor xmm1, xmm4
paddd xmm2, xmm1
pxor xmm0, xmm2
pshufb xmm0, xmm5
paddd xmm3, xmm0
movdqa xmm4, xmm3
pxor xmm1, xmm4
movdqa xmm3, xmm1
psrld xmm1, 0x19
pslld xmm3, 7
pxor xmm3, xmm1
pshufd xmm1, xmm2, 0x93
paddd xmm1, xmm3
pshufd xmm0, xmm0, 0x4e
pxor xmm0, xmm1
pshufb xmm0, xmmword [ebp - 0x90]
pshufd xmm2, xmm4, 0x39
paddd xmm2, xmm0
pxor xmm3, xmm2
movdqa xmm4, xmm3
pslld xmm4, 0xc
psrld xmm3, 0x14
pxor xmm4, xmm3
paddd xmm1, xmm4
pxor xmm0, xmm1
pshufb xmm0, xmm5
paddd xmm2, xmm0
pxor xmm4, xmm2
pshufd xmm3, xmm2, 0x93
movdqa xmm2, xmm4
psrld xmm4, 0x19
pslld xmm2, 7
pxor xmm2, xmm4
pshufd xmm1, xmm1, 0x39
pshufd xmm0, xmm0, 0x4e
movdqa xmm4, xmm2
jne 0x44996e
movdqu xmm2, xmmword [esi + 0x10]
paddd xmm3, xmmword [ebp - 0x70]
paddd xmm0, xmmword [ebp - 0x80]
paddd xmm4, xmm7
pxor xmm4, xmm2
movdqu xmm2, xmmword [esi + 0x20]
pxor xmm3, xmm2
movdqu xmm2, xmmword [esi + 0x30]
pxor xmm0, xmm2
movdqu xmm2, xmmword [esi]
paddd xmm1, xmm6
pxor xmm1, xmm2
movdqu xmmword [edx], xmm1
movdqu xmmword [edx + 0x10], xmm4
movdqu xmmword [edx + 0x20], xmm3
movdqu xmmword [edx + 0x30], xmm0
mov ecx, dword [eax + 0x30]
inc ecx
mov edi, dword [eax + 0x34]
jne 0x449a95
inc edi
add dword [ebx + 0x14], 0xffffffc0
mov dword [eax + 0x30], ecx
mov dword [eax + 0x34], edi
adc dword [ebx + 0x18], 0xffffffff
add edx, 0x40
add esi, 0x40
cmp dword [ebx + 0x18], 0
mov dword [ebp - 0x29c], edx
mov dword [ebp - 0x28c], esi
ja 0x449946
jb 0x449acb
cmp dword [ebx + 0x14], 0x40
jae 0x449946
cmp dword [ebx + 0x18], 0
ja 0x449adb
cmp dword [ebx + 0x14], 0
jbe 0x449fab
mov al, 0xd
movzx eax, al
movd xmm0, eax
mov cl, 0xc
mov al, cl
movzx eax, al
add cl, 3
movd dword [ebp - 0x288], xmm0
movd xmm0, eax
mov al, cl
movzx eax, al
movd dword [ebp - 0x284], xmm0
movd xmm0, eax
mov cl, 0xe
mov al, cl
movzx eax, al
add cl, 0xfb
movd dword [ebp - 0x278], xmm0
movd xmm0, eax
mov al, cl
movzx eax, al
mov cl, 8
movd dword [ebp - 0x294], xmm0
movd xmm0, eax
mov al, cl
movzx eax, al
add cl, 3
movd dword [ebp - 0x274], xmm0
movd xmm0, eax
mov al, cl
movzx eax, al
mov cl, 0xa
movd dword [ebp - 0x290], xmm0
movd xmm0, eax
mov al, cl
movzx eax, al
movd xmm1, eax
add cl, 0xfb
mov al, cl
movzx eax, al
mov cl, 4
movd dword [ebp - 0x27c], xmm0
movd xmm0, eax
mov al, cl
movzx eax, al
movd xmm2, eax
add cl, 3
mov al, cl
movzx eax, al
movd xmm3, eax
mov cl, 6
mov al, cl
movzx eax, al
movd xmm4, eax
add cl, 0xfb
movzx eax, cl
xor dl, dl
movd xmm5, eax
mov al, dl
movzx eax, al
add dl, 3
movd xmm6, eax
mov al, dl
movzx eax, al
mov dl, 2
movd xmm7, eax
movd dword [ebp - 0x280], xmm0
movzx eax, dl
movd xmm0, eax
mov al, 0xe
movzx eax, al
mov cl, 0xd
punpcklbw xmm0, xmm1
movd xmm1, dword [ebp - 0x294]
mov byte [ebp - 0x263], cl
dec cl
mov byte [ebp - 0x266], cl
mov cl, 0xf
mov byte [ebp - 0x269], cl
add cl, 0xfb
punpcklbw xmm4, xmm1
movd xmm1, dword [ebp - 0x290]
punpcklbw xmm0, xmm4
mov byte [ebp - 0x261], cl
mov cl, 9
mov byte [ebp - 0x26c], cl
dec cl
punpcklbw xmm6, xmm1
movd xmm1, dword [ebp - 0x284]
mov byte [ebp - 0x26d], cl
mov cl, 0xb
mov byte [ebp - 0x26b], cl
add cl, 0xfb
mov byte [ebp - 0x265], cl
punpcklbw xmm2, xmm1
movd xmm1, dword [ebp - 0x27c]
punpcklbw xmm6, xmm2
movd xmm2, dword [ebp - 0x280]
punpcklbw xmm0, xmm6
mov cl, 5
mov byte [ebp - 0x264], cl
punpcklbw xmm7, xmm1
movd xmm1, dword [ebp - 0x278]
dec cl
mov byte [ebp - 0x262], cl
mov cl, 7
mov byte [ebp - 0x268], cl
mov cl, dl
punpcklbw xmm3, xmm1
movd xmm1, dword [ebp - 0x274]
punpcklbw xmm7, xmm3
dec dl
mov byte [ebp - 0x26a], dl
xor dl, dl
mov byte [ebp - 0x267], dl
punpcklbw xmm5, xmm1
movd xmm1, dword [ebp - 0x288]
add dl, 3
punpcklbw xmm2, xmm1
punpcklbw xmm5, xmm2
punpcklbw xmm7, xmm5
punpcklbw xmm0, xmm7
movdqa xmmword [ebp - 0x90], xmm0
movd xmm0, eax
mov al, byte [ebp - 0x263]
movzx eax, al
movd dword [ebp - 0x288], xmm0
movd xmm0, eax
mov al, byte [ebp - 0x266]
movzx eax, al
movd dword [ebp - 0x284], xmm0
movd xmm0, eax
mov al, byte [ebp - 0x269]
movzx eax, al
movd dword [ebp - 0x278], xmm0
movd xmm0, eax
mov al, byte [ebp - 0x261]
movzx eax, al
movd dword [ebp - 0x294], xmm0
movd xmm0, eax
mov al, byte [ebp - 0x26c]
movzx eax, al
movd dword [ebp - 0x274], xmm0
movd xmm0, eax
mov al, byte [ebp - 0x26d]
movzx eax, al
movd dword [ebp - 0x290], xmm0
movd xmm0, eax
movd dword [ebp - 0x27c], xmm0
mov al, byte [ebp - 0x26b]
movzx eax, al
movd xmm0, eax
mov al, byte [ebp - 0x265]
movzx eax, al
movd xmm1, eax
mov al, byte [ebp - 0x264]
movzx eax, al
movd dword [ebp - 0x280], xmm1
movd xmm1, eax
mov al, byte [ebp - 0x262]
movzx eax, al
movd xmm2, eax
mov al, byte [ebp - 0x268]
movzx eax, al
movd xmm3, eax
movzx eax, cl
movd xmm4, eax
mov al, byte [ebp - 0x26a]
movzx eax, al
movd xmm6, eax
mov al, byte [ebp - 0x267]
movzx eax, al
movd xmm7, eax
movzx eax, dl
movd xmm5, eax
mov eax, dword [ebp - 0x2a0]
push 0xa
punpcklbw xmm5, xmm0
movd xmm0, dword [ebp - 0x294]
punpcklbw xmm3, xmm0
movd xmm0, dword [ebp - 0x290]
punpcklbw xmm5, xmm3
movdqu xmm3, xmmword [eax + 0x20]
movdqa xmmword [ebp - 0x70], xmm3
punpcklbw xmm6, xmm0
movd xmm0, dword [ebp - 0x284]
punpcklbw xmm1, xmm0
movd xmm0, dword [ebp - 0x27c]
punpcklbw xmm6, xmm1
movd xmm1, dword [ebp - 0x280]
punpcklbw xmm5, xmm6
movdqu xmm6, xmmword [eax]
punpcklbw xmm7, xmm0
movd xmm0, dword [ebp - 0x278]
punpcklbw xmm2, xmm0
movd xmm0, dword [ebp - 0x274]
punpcklbw xmm7, xmm2
punpcklbw xmm4, xmm0
movd xmm0, dword [ebp - 0x288]
punpcklbw xmm1, xmm0
movdqu xmm0, xmmword [eax + 0x30]
punpcklbw xmm4, xmm1
punpcklbw xmm7, xmm4
punpcklbw xmm5, xmm7
movdqu xmm7, xmmword [eax + 0x10]
movdqa xmm1, xmm6
movdqa xmm4, xmm7
movdqa xmmword [ebp - 0x80], xmm0
pop eax
dec eax
movdqa xmm2, xmm1
paddd xmm2, xmm4
pxor xmm0, xmm2
pshufb xmm0, xmmword [ebp - 0x90]
paddd xmm3, xmm0
pxor xmm4, xmm3
movdqa xmm1, xmm4
psrld xmm4, 0x14
pslld xmm1, 0xc
pxor xmm1, xmm4
paddd xmm2, xmm1
pxor xmm0, xmm2
pshufb xmm0, xmm5
paddd xmm3, xmm0
movdqa xmm4, xmm3
pxor xmm1, xmm4
movdqa xmm3, xmm1
psrld xmm1, 0x19
pslld xmm3, 7
pxor xmm3, xmm1
pshufd xmm1, xmm2, 0x93
paddd xmm1, xmm3
pshufd xmm0, xmm0, 0x4e
pxor xmm0, xmm1
pshufb xmm0, xmmword [ebp - 0x90]
pshufd xmm2, xmm4, 0x39
paddd xmm2, xmm0
pxor xmm3, xmm2
movdqa xmm4, xmm3
pslld xmm4, 0xc
psrld xmm3, 0x14
pxor xmm4, xmm3
paddd xmm1, xmm4
pxor xmm0, xmm1
pshufb xmm0, xmm5
paddd xmm2, xmm0
pxor xmm4, xmm2
pshufd xmm3, xmm2, 0x93
movdqa xmm2, xmm4
psrld xmm4, 0x19
pslld xmm2, 7
pxor xmm2, xmm4
pshufd xmm1, xmm1, 0x39
pshufd xmm0, xmm0, 0x4e
movdqa xmm4, xmm2
jne 0x449e69
paddd xmm3, xmmword [ebp - 0x70]
paddd xmm0, xmmword [ebp - 0x80]
xor esi, esi
paddd xmm1, xmm6
paddd xmm4, xmm7
movdqu xmmword [ebp - 0x48], xmm1
movdqu xmmword [ebp - 0x38], xmm4
movdqu xmmword [ebp - 0x28], xmm3
movdqu xmmword [ebp - 0x18], xmm0
cmp dword [ebx + 0x18], esi
jb 0x449fa0
ja 0x449f72
cmp dword [ebx + 0x14], esi
jbe 0x449fa0
mov edi, dword [ebp - 0x28c]
mov ecx, dword [ebp - 0x29c]
lea eax, [ebp - 0x48]
sub edi, eax
sub ecx, eax
lea eax, [ebp + esi - 0x48]
mov dl, byte [eax + edi]
xor dl, byte [eax]
inc esi
mov byte [eax + ecx], dl
xor eax, eax
cmp eax, dword [ebx + 0x18]
jb 0x449f85
ja 0x449fa0
cmp esi, dword [ebx + 0x14]
jb 0x449f85
push 0x40
pop ecx
lea eax, [ebp - 0x48]
call fcn.004464d0
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.0044f7e0
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret