Function at 0x4914c0
Capabilities:
Encode data using xor
Encrypt data using chaskey
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
mov esi, eax
and esp, 0xfffffff0
sub esp, 0x130
mov dword [esp + 0xc], eax
lea eax, [edx + 0x20]
cmp esi, eax
jae 0x4914e7
lea eax, [esi + 0x20]
cmp edx, eax
jb 0x492cd1
movdqu xmm2, xmmword [edx]
mov edi, dword [esp + 0xc]
movdqu xmm6, xmmword [edx + 0x10]
movdqa xmm0, xmm2
shufps xmm0, xmm6, 0x88
movdqa xmm7, xmmword [str._________________f_f_f_f_f_f_f_f_f_f_f_f_f_f_f_f]
shufps xmm2, xmm6, 0xdd
movdqa xmm1, xmm0
movdqa xmm6, xmmword [0x7422f0]
psrld xmm1, 1
pxor xmm1, xmm0
movdqa xmm5, xmmword [0x742300]
pand xmm1, xmm7
movdqa xmm4, xmmword [0x742310]
pxor xmm0, xmm1
pslld xmm1, 1
pxor xmm1, xmm0
movdqa xmm3, xmm1
psrld xmm3, 2
pxor xmm3, xmm1
pand xmm3, xmm6
pxor xmm1, xmm3
pslld xmm3, 2
pxor xmm3, xmm1
movdqa xmm0, xmm3
psrld xmm0, 4
pxor xmm0, xmm3
pand xmm0, xmm5
pxor xmm3, xmm0
pslld xmm0, 4
pxor xmm0, xmm3
movdqa xmm3, xmm0
movdqa xmm1, xmm0
psrld xmm3, 8
pxor xmm3, xmm0
pand xmm3, xmm4
pxor xmm1, xmm3
pslld xmm3, 8
pxor xmm1, xmm3
movdqa xmm3, xmm2
psrld xmm3, 1
pxor xmm3, xmm2
pand xmm3, xmm7
pxor xmm2, xmm3
pslld xmm3, 1
pxor xmm2, xmm3
movdqa xmm3, xmm2
psrld xmm3, 2
pxor xmm3, xmm2
pand xmm3, xmm6
pxor xmm2, xmm3
pslld xmm3, 2
pxor xmm2, xmm3
movdqa xmm3, xmm2
psrld xmm3, 4
pxor xmm3, xmm2
pand xmm3, xmm5
pxor xmm2, xmm3
pslld xmm3, 4
pxor xmm2, xmm3
movdqa xmm3, xmm2
psrld xmm3, 8
pxor xmm3, xmm2
pand xmm3, xmm4
pxor xmm2, xmm3
pslld xmm3, 8
movdqa xmm0, xmm2
movdqu xmm2, xmmword [edi]
pxor xmm0, xmm3
movdqu xmm3, xmmword [edi + 0x10]
movaps xmmword [esp + 0x110], xmm3
movaps xmmword [esp + 0x120], xmm2
movdqa xmm2, xmm0
pslld xmm2, 0x10
movdqa xmm3, xmmword [0x742320]
pand xmm0, xmmword [0x742330]
pand xmm3, xmm1
psrld xmm1, 0x10
por xmm2, xmm3
movdqa xmm3, xmmword [esp + 0x120]
por xmm0, xmm1
shufps xmm3, xmmword [esp + 0x110], 0x88
movdqa xmm1, xmmword [esp + 0x120]
shufps xmm1, xmmword [esp + 0x110], 0xdd
pxor xmm2, xmm3
pxor xmm1, xmm0
movdqa xmm0, xmm2
punpckhdq xmm2, xmm1
punpckldq xmm0, xmm1
movups xmmword [edi + 0x10], xmm2
movups xmmword [edi], xmm0
movdqu xmm3, xmmword [edx + 0x20]
movdqu xmm1, xmmword [edx + 0x30]
movdqa xmm0, xmm3
shufps xmm3, xmm1, 0xdd
shufps xmm0, xmm1, 0x88
movdqa xmm2, xmm0
psrld xmm2, 1
pxor xmm2, xmm0
pand xmm2, xmm7
movdqa xmm1, xmm2
pxor xmm2, xmm0
pslld xmm1, 1
pxor xmm1, xmm2
movdqa xmm2, xmm1
psrld xmm2, 2
pxor xmm2, xmm1
pand xmm2, xmm6
movdqa xmm0, xmm2
pxor xmm2, xmm1
pslld xmm0, 2
pxor xmm0, xmm2
movdqa xmm2, xmm0
psrld xmm2, 4
pxor xmm2, xmm0
pand xmm2, xmm5
pxor xmm0, xmm2
movdqa xmm1, xmm2
pslld xmm1, 4
pxor xmm1, xmm0
movdqa xmm0, xmm1
psrld xmm0, 8
pxor xmm0, xmm1
pand xmm0, xmm4
movdqa xmm2, xmm0
pxor xmm0, xmm1
pslld xmm2, 8
pxor xmm2, xmm0
movdqa xmm0, xmm3
psrld xmm0, 1
pxor xmm0, xmm3
pand xmm7, xmm0
movdqa xmm0, xmm7
pxor xmm7, xmm3
movdqa xmm3, xmmword [0x742320]
pslld xmm0, 1
pand xmm3, xmm2
psrld xmm2, 0x10
pxor xmm0, xmm7
movdqa xmm7, xmm0
psrld xmm7, 2
pxor xmm7, xmm0
pand xmm6, xmm7
movdqa xmm1, xmm6
pxor xmm6, xmm0
pslld xmm1, 2
pxor xmm6, xmm1
movdqa xmm1, xmm6
psrld xmm1, 4
pxor xmm1, xmm6
pand xmm5, xmm1
movdqa xmm0, xmm5
pxor xmm5, xmm6
movdqu xmm6, xmmword [edi + 0x30]
pslld xmm0, 4
movaps xmmword [esp + 0x120], xmm6
pxor xmm5, xmm0
movdqa xmm1, xmm5
psrld xmm1, 8
pxor xmm1, xmm5
pand xmm4, xmm1
movdqa xmm0, xmm4
pxor xmm4, xmm5
movdqu xmm5, xmmword [edi + 0x20]
pslld xmm0, 8
pxor xmm4, xmm0
movdqa xmm0, xmm4
pand xmm4, xmmword [0x742330]
pslld xmm0, 0x10
por xmm3, xmm0
movdqa xmm0, xmm5
shufps xmm5, xmm6, 0xdd
shufps xmm0, xmm6, 0x88
por xmm2, xmm4
pxor xmm3, xmm0
pxor xmm2, xmm5
movdqa xmm0, xmm3
punpckhdq xmm3, xmm2
punpckldq xmm0, xmm2
movups xmmword [edi + 0x30], xmm3
movups xmmword [edi + 0x20], xmm0
mov ebx, dword [edx + 0x40]
mov eax, ebx
shr eax, 1
xor eax, ebx
and eax, 0x22222222
xor ebx, eax
mov ecx, ebx
lea ebx, [eax + eax]
xor ebx, ecx
mov eax, ebx
shr eax, 2
xor eax, ebx
and eax, 0xc0c0c0c
xor ebx, eax
mov ecx, ebx
lea ebx, [eax*4]
mov eax, dword [edx + 0x44]
xor ebx, ecx
mov esi, ebx
mov edx, eax
shr esi, 4
shr edx, 1
xor esi, ebx
xor edx, eax
and esi, 0xf000f0
and edx, 0x22222222
xor ebx, esi
shl esi, 4
xor eax, edx
xor ebx, esi
mov ecx, ebx
shr ecx, 8
xor ecx, ebx
and ecx, 0xff00
xor ebx, ecx
shl ecx, 8
xor ecx, ebx
mov ebx, eax
lea eax, [edx + edx]
xor eax, ebx
mov edx, eax
shr edx, 2
xor edx, eax
and edx, 0xc0c0c0c
xor eax, edx
mov ebx, eax
lea eax, [edx*4]
xor eax, ebx
mov edx, eax
shr edx, 4
xor edx, eax
and edx, 0xf000f0
xor eax, edx
mov ebx, eax
mov eax, edx
shl eax, 4
xor eax, ebx
movzx ebx, cx
shr ecx, 0x10
mov edx, eax
shr edx, 8
xor edx, eax
and edx, 0xff00
xor eax, edx
shl edx, 8
xor eax, edx
mov edx, eax
xor ax, ax
shl edx, 0x10
or eax, ecx
or edx, ebx
xor dword [edi + 0x40], edx
xor dword [edi + 0x44], eax
mov eax, dword [esp + 0xc]
mov esi, dword [eax]
mov dword [esp + 0xe8], esi
mov esi, dword [eax + 4]
mov dword [esp + 0x84], esi
mov esi, dword [eax + 8]
mov dword [esp + 0xe4], esi
mov esi, dword [eax + 0xc]
mov dword [esp + 0x80], esi
mov esi, dword [eax + 0x10]
mov dword [esp + 0xe0], esi
mov esi, dword [eax + 0x14]
mov dword [esp + 0x7c], esi
mov esi, dword [eax + 0x18]
mov dword [esp + 0xdc], esi
mov esi, dword [eax + 0x1c]
mov dword [esp + 0x78], esi
mov esi, dword [eax + 0x20]
mov dword [esp + 0xd8], esi
mov esi, dword [eax + 0x24]
mov dword [esp + 0x74], esi
mov esi, dword [eax + 0x28]
mov dword [esp + 0xd4], esi
mov esi, dword [eax + 0x2c]
mov dword [esp + 0x70], esi
mov esi, dword [eax + 0x30]
mov dword [esp + 0xd0], esi
mov esi, dword [eax + 0x34]
mov dword [esp + 0x6c], esi
mov esi, dword [eax + 0x38]
mov dword [esp + 0xcc], esi
mov esi, dword [eax + 0x3c]
mov dword [esp + 0x68], esi
mov esi, dword [eax + 0x40]
mov ebx, dword [eax + 0x4c]
mov dword [esp + 0xc8], esi
mov esi, dword [eax + 0x44]
mov dword [esp + 0x60], ebx
mov ebx, dword [eax + 0x54]
mov dword [esp + 0x64], esi
mov esi, dword [eax + 0x48]
mov dword [esp + 0x5c], ebx
mov ebx, dword [eax + 0x5c]
mov dword [esp + 0xc4], esi
mov esi, dword [eax + 0x50]
mov dword [esp + 0x58], ebx
mov ebx, dword [eax + 0x64]
mov dword [esp + 0xc0], esi
mov esi, dword [eax + 0x58]
mov dword [esp + 0x54], ebx
mov ebx, dword [eax + 0x6c]
mov dword [esp + 0xbc], esi
mov esi, dword [eax + 0x60]
mov dword [esp + 0x50], ebx
mov ebx, dword [eax + 0x74]
mov dword [esp + 0xb8], esi
mov esi, dword [eax + 0x68]
mov dword [esp + 0x4c], ebx
mov ebx, dword [eax + 0x7c]
mov dword [esp + 0xb4], esi
mov esi, dword [eax + 0x70]
mov dword [esp + 0x48], ebx
mov dword [esp + 0xb0], esi
mov esi, dword [eax + 0x78]
mov dword [esp + 0xac], esi
mov esi, dword [eax + 0x80]
mov ebx, dword [eax + 0x84]
mov dword [esp + 0xa8], esi
mov esi, dword [eax + 0x88]
mov dword [esp + 0x44], ebx
mov ebx, dword [eax + 0x8c]
mov dword [esp + 0xa4], esi
mov esi, dword [eax + 0x90]
mov dword [esp + 0x40], ebx
mov ebx, dword [eax + 0x94]
mov dword [esp + 0xa0], esi
mov esi, dword [eax + 0x98]
mov dword [esp + 0x3c], ebx
mov ebx, dword [eax + 0x9c]
mov dword [esp + 0x9c], esi
mov esi, dword [eax + 0xa0]
mov dword [esp + 0x38], ebx
mov ebx, dword [eax + 0xa4]
mov dword [esp + 0x98], esi
mov esi, dword [eax + 0xa8]
mov dword [esp + 0x34], ebx
mov ebx, dword [eax + 0xac]
mov dword [esp + 0x94], esi
mov esi, dword [eax + 0xb0]
mov dword [esp + 0x30], ebx
mov ebx, dword [eax + 0xb4]
mov dword [esp + 0x90], esi
mov esi, dword [eax + 0xb8]
mov dword [esp + 0x2c], ebx
mov ebx, dword [eax + 0xbc]
mov dword [esp + 0x8c], esi
mov dword [esp + 0x28], ebx
mov esi, dword [eax + 0xc0]
mov eax, dword [eax + 0xc4]
mov dword [esp + 0x120], 0x872d40
mov dword [esp + 0x88], esi
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x74]
xor eax, dword [esp + 0x60]
xor eax, dword [esp + 0x4c]
mov esi, dword [esp + 0xe4]
xor esi, dword [esp + 0xd0]
xor eax, dword [esp + 0x38]
xor esi, dword [esp + 0xbc]
xor eax, dword [esp + 0x24]
xor esi, dword [esp + 0xa8]
mov ebx, dword [esp + 0x80]
xor esi, dword [esp + 0x94]
xor ebx, dword [esp + 0x6c]
xor ebx, dword [esp + 0x58]
mov edi, dword [esp + 0xd8]
mov edx, eax
xor edi, dword [esp + 0xc4]
xor ebx, dword [esp + 0x44]
xor ebx, dword [esp + 0x30]
xor edi, dword [esp + 0xb0]
rol eax, 1
xor edx, esi
xor edi, dword [esp + 0x9c]
mov dword [esp + 0x10c], edx
mov edx, dword [esp + 0xe0]
xor edx, dword [esp + 0xcc]
xor edi, dword [esp + 0x88]
xor edx, dword [esp + 0xb8]
mov ecx, ebx
xor edx, dword [esp + 0xa4]
rol ecx, 1
xor edx, dword [esp + 0x90]
xor ecx, edi
mov dword [esp + 0x110], ecx
mov ecx, dword [esp + 0x54]
xor eax, edx
mov dword [esp + 0x108], eax
mov eax, dword [esp + 0x7c]
xor eax, dword [esp + 0x68]
xor ecx, eax
xor ecx, dword [esp + 0x40]
xor ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0xe8]
xor eax, dword [esp + 0xd4]
xor eax, dword [esp + 0xc0]
xor edi, ecx
xor eax, dword [esp + 0xac]
rol ecx, 1
xor eax, dword [esp + 0x98]
mov dword [esp + 0x104], edi
mov edi, dword [esp + 0x84]
xor edi, dword [esp + 0x70]
xor edi, dword [esp + 0x5c]
xor edi, dword [esp + 0x48]
xor ecx, eax
xor edi, dword [esp + 0x34]
mov dword [esp + 0x100], ecx
mov ecx, dword [esp + 0x78]
xor ecx, dword [esp + 0x64]
xor ecx, dword [esp + 0x50]
xor ecx, dword [esp + 0x3c]
xor edx, edi
rol edi, 1
xor ecx, dword [esp + 0x28]
mov dword [esp + 0xfc], edx
mov edx, ecx
rol edx, 1
xor edx, esi
mov esi, dword [esp + 0xdc]
xor esi, dword [esp + 0xc8]
xor esi, dword [esp + 0xb4]
mov dword [esp + 0xf8], edx
xor esi, dword [esp + 0xa0]
xor esi, dword [esp + 0x8c]
xor edi, esi
xor ebx, esi
mov esi, dword [esp + 0xe8]
mov dword [esp + 0xf4], edi
mov edi, dword [esp + 0xd0]
mov edx, ebx
xor edi, dword [esp + 0x100]
mov ebx, eax
xor esi, dword [esp + 0x110]
xor ebx, ecx
mov dword [esp + 0xf0], ebx
ror edi, 0xa
mov eax, esi
mov dword [esp + 0xe8], edi
mov ebx, dword [esp + 0x54]
mov esi, edi
mov dword [esp + 0xec], edx
mov ecx, dword [esp + 0x3c]
not esi
xor ecx, dword [esp + 0x104]
xor ebx, edx
mov edx, dword [esp + 0x88]
xor edx, dword [esp + 0xf4]
ror ebx, 0xa
rol ecx, 0xb
rol edx, 7
and esi, ebx
mov dword [esp + 0xd0], esi
mov esi, dword [esp + 0x120]
mov edi, dword [esi]
mov esi, dword [esp + 0xd0]
xor edi, eax
xor esi, edi
mov edi, ebx
not edi
mov dword [esp + 0xd0], esi
mov esi, edi
mov edi, ecx
and esi, ecx
xor esi, dword [esp + 0xe8]
not edi
mov dword [esp + 0x54], esi
mov esi, edi
mov edi, dword [esp + 0x5c]
and esi, edx
xor edi, dword [esp + 0x10c]
xor esi, ebx
mov ebx, edx
not ebx
mov dword [esp + 0x88], esi
and ebx, eax
not eax
and eax, dword [esp + 0xe8]
xor ebx, ecx
mov ecx, dword [esp + 0xdc]
xor ecx, dword [esp + 0x108]
mov dword [esp + 0x3c], ebx
rol edi, 2
xor eax, edx
mov edx, dword [esp + 0x2c]
xor edx, dword [esp + 0xec]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0xc4]
rol ecx, 0xe
xor eax, dword [esp + 0xf4]
mov esi, eax
mov eax, dword [esp + 0x44]
xor eax, dword [esp + 0xfc]
rol esi, 0xa
mov ebx, eax
mov eax, edx
mov edx, esi
not edx
ror ebx, 9
ror eax, 1
and edx, edi
xor edx, ecx
mov dword [esp + 0x5c], edx
mov edx, edi
not edx
and edx, ebx
xor edx, esi
mov dword [esp + 0xdc], edx
mov edx, ebx
not edx
and edx, eax
xor edx, edi
mov edi, eax
not edi
mov dword [esp + 0x44], edx
mov edx, edi
and edx, ecx
not ecx
and ecx, esi
mov edi, edx
xor edi, ebx
xor ecx, eax
mov dword [esp + 0x2c], edi
mov dword [esp + 0xc4], ecx
mov ebx, dword [esp + 0x80]
xor ebx, dword [esp + 0xfc]
mov edi, dword [esp + 0xcc]
mov eax, dword [esp + 0x9c]
mov esi, ebx
mov ebx, dword [esp + 0x50]
rol esi, 1
xor edi, dword [esp + 0xf8]
xor ebx, dword [esp + 0x104]
xor eax, dword [esp + 0xf4]
rol edi, 3
rol ebx, 0xd
mov edx, edi
mov ecx, eax
mov eax, dword [esp + 0x98]
not edx
rol ecx, 4
xor eax, dword [esp + 0x110]
and edx, ebx
xor edx, esi
mov dword [esp + 0x50], edx
mov edx, ebx
not edx
rol eax, 9
and edx, ecx
xor edx, edi
mov dword [esp + 0x9c], edx
mov edx, ecx
not edx
and edx, eax
xor edx, ebx
mov ebx, eax
not ebx
mov dword [esp + 0x80], edx
mov edx, dword [esp + 0x74]
and ebx, esi
not esi
xor edx, dword [esp + 0xf0]
and esi, edi
xor ebx, ecx
mov edi, esi
mov dword [esp + 0x1c], ebx
mov ebx, dword [esp + 0xd4]
xor edi, eax
xor ebx, dword [esp + 0x110]
mov eax, dword [esp + 0xbc]
xor eax, dword [esp + 0x100]
mov dword [esp + 0x18], edi
rol edx, 0xe
ror ebx, 0xe
mov esi, eax
mov eax, dword [esp + 0x40]
xor eax, dword [esp + 0xec]
mov edi, ebx
rol esi, 5
not edi
and edi, esi
xor edi, edx
mov ecx, eax
mov eax, dword [esp + 0x8c]
xor eax, dword [esp + 0x108]
mov dword [esp + 0x14], edi
mov edi, esi
rol ecx, 8
not edi
and edi, ecx
ror eax, 4
xor edi, ebx
mov dword [esp + 0x40], edi
mov edi, ecx
not edi
and edi, eax
xor edi, esi
mov esi, eax
not esi
mov dword [esp + 0x10], edi
and esi, edx
not edx
and edx, ebx
xor esi, ecx
mov ebx, edx
mov dword [esp + 0x74], esi
xor ebx, eax
mov dword [esp + 0xbc], ebx
mov ebx, dword [esp + 0xe0]
xor ebx, dword [esp + 0xf8]
mov eax, dword [esp + 0x64]
mov edx, dword [esp + 0x4c]
xor edx, dword [esp + 0xf0]
xor eax, dword [esp + 0x104]
mov esi, dword [esp + 0x94]
xor esi, dword [esp + 0x100]
ror ebx, 1
mov edi, edx
mov edx, dword [esp + 0x48]
xor edx, dword [esp + 0x10c]
ror eax, 4
ror edi, 0xc
mov ecx, edx
mov edx, esi
mov esi, eax
not esi
ror ecx, 0xb
rol edx, 1
and esi, edi
xor esi, ebx
mov dword [esp + 0x98], esi
mov esi, edi
not esi
and esi, ecx
xor esi, eax
mov dword [esp + 0x94], esi
mov esi, ecx
not esi
and esi, edx
xor esi, edi
mov edi, edx
not edi
mov dword [esp + 0x64], esi
mov esi, edi
and esi, ebx
not ebx
and ebx, eax
mov edi, esi
mov eax, ebx
mov ebx, dword [esp + 0x84]
xor ebx, dword [esp + 0x10c]
xor edi, ecx
xor eax, edx
mov dword [esp + 0x8c], edi
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0xd4], ebx
mov ebx, dword [esp + 0x6c]
xor ebx, dword [esp + 0xfc]
mov edi, ebx
mov ebx, dword [esp + 0xb8]
xor ebx, dword [esp + 0xf8]
ror edi, 0xa
ror ebx, 0xb
xor eax, dword [esp + 0x108]
mov dword [esp + 0xe8], ebx
mov ecx, eax
mov eax, dword [esp + 0x24]
xor eax, dword [esp + 0xf0]
rol ecx, 0xa
mov edx, eax
mov eax, edi
not eax
rol edx, 7
mov esi, eax
mov eax, dword [esp + 0x120]
and esi, ebx
mov ebx, dword [esp + 0xd4]
xor ebx, dword [eax + 4]
mov eax, esi
xor eax, ebx
mov ebx, ecx
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0xe8]
not ebx
not eax
mov esi, eax
and esi, ecx
mov eax, esi
mov esi, ebx
mov ebx, edx
xor eax, edi
and esi, edx
not ebx
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0xe8]
xor eax, esi
mov dword [esp + 0x24], eax
mov esi, dword [esp + 0xd4]
and ebx, esi
xor ebx, ecx
mov dword [esp + 0x6c], ebx
mov ebx, esi
mov esi, dword [esp + 0xa8]
not ebx
xor esi, dword [esp + 0x100]
mov eax, ebx
and eax, edi
mov edi, dword [esp + 0x78]
xor edi, dword [esp + 0x104]
mov ebx, eax
xor ebx, edx
mov edx, dword [esp + 0x90]
xor edx, dword [esp + 0xf8]
mov dword [esp + 0xa0], ebx
mov ebx, dword [esp + 0x60]
ror esi, 0xa
xor ebx, dword [esp + 0xf0]
mov ecx, edi
mov edi, dword [esp + 0xc0]
xor edi, dword [esp + 0x110]
rol ecx, 0xe
mov eax, edx
ror eax, 2
rol ebx, 0xa
mov edx, ebx
rol edi, 1
not edx
and edx, edi
xor edx, ecx
mov dword [esp + 0x48], edx
mov edx, edi
not edx
and edx, esi
xor edx, ebx
mov dword [esp + 0x78], edx
mov edx, esi
not edx
and edx, eax
xor edx, edi
mov edi, eax
not edi
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0x34]
and edi, ecx
not ecx
xor edi, esi
and ecx, ebx
xor edx, dword [esp + 0x10c]
xor ecx, eax
mov dword [esp + 0x90], edi
mov edi, dword [esp + 0x100]
mov dword [esp + 0x60], ecx
xor edi, dword [esp + 0xe4]
mov ecx, dword [esp + 0x68]
xor ecx, dword [esp + 0xec]
mov esi, edx
rol esi, 9
mov eax, edi
mov edi, ecx
mov ecx, dword [esp + 0xb4]
xor ecx, dword [esp + 0x108]
rol edi, 3
mov edx, edi
not edx
mov ebx, ecx
mov ecx, dword [esp + 0xf0]
xor ecx, dword [esp + 0x38]
rol ebx, 0xc
and edx, ebx
xor edx, eax
mov dword [esp + 0xd4], edx
mov edx, ebx
rol ecx, 4
not edx
and edx, ecx
xor edx, edi
mov dword [esp + 0x38], edx
mov edx, ecx
not edx
and edx, esi
xor edx, ebx
mov ebx, esi
not ebx
mov dword [esp + 0xe8], edx
mov edx, ebx
and edx, eax
not eax
and eax, edi
mov ebx, edx
xor ebx, ecx
mov ecx, eax
xor ecx, esi
mov dword [esp + 0xc0], ebx
mov dword [esp + 0x68], ecx
mov eax, dword [esp + 0x10c]
xor eax, dword [esp + 0x70]
mov edi, dword [esp + 0x58]
xor edi, dword [esp + 0xfc]
mov ecx, dword [esp + 0xd8]
mov esi, dword [esp + 0xf8]
xor ecx, dword [esp + 0xf4]
xor esi, dword [esp + 0xa4]
mov ebx, dword [esp + 0x104]
xor ebx, dword [esp + 0x28]
ror eax, 0xe
mov edx, eax
rol edi, 5
not edx
rol ecx, 0xd
rol esi, 7
ror ebx, 4
and edx, edi
xor edx, ecx
mov dword [esp + 0x70], edx
mov edx, edi
not edx
and edx, esi
xor edx, eax
mov dword [esp + 0xcc], edx
mov edx, esi
not edx
and edx, ebx
xor edx, edi
mov edi, ebx
not edi
mov dword [esp + 0xa8], edx
mov edx, edi
and edx, ecx
not ecx
and ecx, eax
mov eax, dword [esp + 0x108]
xor eax, dword [esp + 0xc8]
mov edi, edx
xor ecx, ebx
mov ebx, dword [esp + 0xec]
xor edi, esi
mov esi, dword [esp + 0xf4]
xor esi, dword [esp + 0xb0]
xor ebx, dword [esp + 0x7c]
mov dword [esp + 0xe4], edi
ror eax, 5
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0x110]
mov edi, eax
xor ecx, dword [esp + 0xac]
mov edx, dword [esp + 0xfc]
ror esi, 0xd
not edi
xor edx, dword [esp + 0x30]
ror ebx, 1
and edi, esi
xor edi, ebx
mov dword [esp + 0x34], edi
mov edi, esi
ror ecx, 0xc
not edi
rol edx, 1
and edi, ecx
xor edi, eax
mov dword [esp + 0x30], edi
mov edi, ecx
not edi
and edi, edx
xor edi, esi
mov esi, edx
not esi
mov dword [esp + 0xc8], edi
and esi, ebx
not ebx
and ebx, eax
xor esi, ecx
mov ecx, ebx
mov dword [esp + 0x28], esi
xor ecx, edx
mov esi, ecx
mov ecx, dword [esp + 0x20]
xor ecx, dword [esp + 0x18]
xor ecx, dword [esp + 0xbc]
xor ecx, dword [esp + 0xc4]
mov ebx, dword [esp + 0xb8]
xor ebx, dword [esp + 0x78]
mov edi, dword [esp + 0x60]
xor ebx, dword [esp + 0xcc]
xor edi, dword [esp + 0x68]
xor ebx, dword [esp + 0x38]
mov dword [esp + 0x7c], esi
xor ebx, dword [esp + 0x30]
xor ecx, dword [esp + 0xe0]
mov eax, ebx
rol eax, 1
mov edx, eax
mov eax, dword [esp + 0xa0]
xor edx, ecx
mov dword [esp + 0x110], edx
mov edx, dword [esp + 0x24]
xor eax, edi
mov edi, dword [esp + 0x54]
xor edi, dword [esp + 0xdc]
xor eax, esi
mov esi, dword [esp + 0x9c]
xor eax, dword [esp + 0x58]
xor edx, dword [esp + 0x4c]
xor esi, edi
xor esi, dword [esp + 0x94]
xor esi, dword [esp + 0x40]
mov edi, eax
rol eax, 1
xor edi, esi
mov dword [esp + 0x10c], edi
mov edi, dword [esp + 0x88]
xor edi, dword [esp + 0x44]
xor edi, dword [esp + 0x10]
xor edi, dword [esp + 0x64]
xor edi, dword [esp + 0x80]
xor eax, edi
mov dword [esp + 0x108], eax
mov eax, dword [esp + 0xe8]
xor eax, edx
xor eax, dword [esp + 0xa8]
xor eax, dword [esp + 0xc8]
xor ecx, eax
mov dword [esp + 0x104], ecx
mov ecx, dword [esp + 0xd0]
xor ecx, dword [esp + 0x5c]
xor ecx, dword [esp + 0x98]
xor ecx, dword [esp + 0x50]
xor ecx, dword [esp + 0x14]
rol eax, 1
mov edx, eax
mov eax, dword [esp + 0xd4]
xor edx, ecx
mov dword [esp + 0x100], edx
mov edx, dword [esp + 0x84]
xor edx, dword [esp + 0x48]
xor eax, edx
mov edx, dword [esp + 0x6c]
xor edx, dword [esp + 0xc0]
xor eax, dword [esp + 0x70]
xor edx, dword [esp + 0xe4]
xor eax, dword [esp + 0x34]
xor edx, dword [esp + 0x28]
xor edx, dword [esp + 0x90]
xor edi, eax
rol eax, 1
mov dword [esp + 0xfc], edi
mov edi, edx
xor ecx, edx
rol edi, 1
mov edx, dword [esp + 0xe4]
xor edx, dword [esp + 0x104]
xor edi, esi
mov esi, dword [esp + 0x3c]
xor esi, dword [esp + 0x1c]
mov dword [esp + 0xf8], edi
mov edi, dword [esp + 0x2c]
mov dword [esp + 0xf0], ecx
mov ecx, dword [esp + 0xdc]
xor ecx, dword [esp + 0x100]
rol edx, 0xb
xor edi, esi
xor edi, dword [esp + 0x74]
mov esi, dword [esp + 0xd0]
xor edi, dword [esp + 0x8c]
xor esi, dword [esp + 0x110]
ror ecx, 0xa
xor ebx, edi
xor eax, edi
mov edi, ecx
mov dword [esp + 0xf4], ebx
mov ebx, dword [esp + 0xe8]
xor ebx, dword [esp + 0xf4]
mov dword [esp + 0xe4], edx
mov edx, dword [esp + 0xe0]
mov dword [esp + 0xec], eax
xor edx, eax
mov eax, ecx
ror ebx, 0xa
not eax
mov dword [esp + 0xe0], ebx
rol edx, 7
mov ecx, eax
mov eax, dword [esp + 0x120]
and ecx, ebx
mov ebx, ecx
mov ecx, dword [eax + 8]
xor ecx, esi
xor ebx, ecx
mov ecx, dword [esp + 0xe0]
mov dword [esp + 0xe8], ebx
mov ebx, dword [esp + 0xe4]
not ecx
mov eax, ecx
and eax, ebx
mov ecx, eax
xor ecx, edi
mov dword [esp + 0xe4], ecx
mov ecx, ebx
not ecx
mov eax, ecx
mov ecx, dword [esp + 0xe0]
and eax, edx
xor ecx, eax
mov dword [esp + 0xe0], ecx
mov ecx, edx
not ecx
mov eax, ecx
and eax, esi
not esi
mov ecx, eax
and esi, edi
mov edi, dword [esp + 0xc8]
xor ecx, ebx
xor edi, dword [esp + 0xf4]
mov ebx, dword [esp + 0xd4]
mov dword [esp + 0xdc], ecx
mov ecx, esi
mov esi, dword [esp + 0xc4]
xor esi, dword [esp + 0xec]
xor ecx, edx
mov edx, dword [esp + 0x3c]
xor edx, dword [esp + 0x108]
xor ebx, dword [esp + 0x10c]
mov dword [esp + 0xd8], ecx
mov eax, esi
mov esi, dword [esp + 0xcc]
xor esi, dword [esp + 0xfc]
rol eax, 0xa
mov ecx, edx
rol ebx, 2
rol ecx, 0xe
mov edx, esi
mov esi, edi
mov edi, eax
not edi
ror edx, 9
ror esi, 1
and edi, ebx
xor edi, ecx
mov dword [esp + 0xd4], edi
mov edi, ebx
not edi
and edi, edx
xor edi, eax
mov dword [esp + 0xd0], edi
mov edi, edx
not edi
and edi, esi
xor edi, ebx
mov ebx, esi
not ebx
mov dword [esp + 0xcc], edi
and ebx, ecx
not ecx
and ecx, eax
mov eax, dword [esp + 0x44]
xor eax, dword [esp + 0xf8]
xor ecx, esi
mov esi, dword [esp + 0xb8]
xor esi, dword [esp + 0xfc]
xor ebx, edx
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xc8], ebx
mov edi, eax
mov eax, dword [esp + 0xc0]
mov ecx, esi
mov esi, dword [esp + 0x98]
rol ecx, 1
rol edi, 3
xor eax, dword [esp + 0x104]
mov ebx, edi
xor esi, dword [esp + 0x110]
not ebx
mov edx, eax
mov eax, dword [esp + 0xbc]
xor eax, dword [esp + 0xec]
rol edx, 0xd
rol esi, 9
and ebx, edx
xor ebx, ecx
mov dword [esp + 0xc0], ebx
mov ebx, edx
rol eax, 4
not ebx
and ebx, eax
xor ebx, edi
mov dword [esp + 0xbc], ebx
mov ebx, eax
not ebx
and ebx, esi
xor ebx, edx
mov dword [esp + 0xb8], ebx
mov ebx, esi
not ebx
and ebx, ecx
not ecx
and ecx, edi
xor ebx, eax
mov eax, dword [esp + 0xa0]
xor ecx, esi
mov esi, dword [esp + 0x5c]
xor esi, dword [esp + 0x110]
mov dword [esp + 0xb4], ebx
xor eax, dword [esp + 0xf0]
mov dword [esp + 0xb0], ecx
mov ecx, dword [esp + 0x8c]
xor ecx, dword [esp + 0x108]
mov ebx, esi
mov esi, dword [esp + 0x9c]
xor esi, dword [esp + 0x100]
ror ebx, 0xe
rol eax, 0xe
ror ecx, 4
mov edx, esi
mov esi, dword [esp + 0xa8]
xor esi, dword [esp + 0xf4]
rol edx, 5
mov edi, esi
mov esi, ebx
not esi
rol edi, 8
and esi, edx
xor esi, eax
mov dword [esp + 0xac], esi
mov esi, edx
not esi
and esi, edi
xor esi, ebx
mov dword [esp + 0xa8], esi
mov esi, edi
not esi
and esi, ecx
xor esi, edx
mov edx, ecx
mov dword [esp + 0xa4], esi
not edx
mov esi, dword [esp + 0x90]
xor esi, dword [esp + 0x104]
and edx, eax
not eax
and eax, ebx
xor edx, edi
mov ebx, dword [esp + 0x88]
xor eax, ecx
xor ebx, dword [esp + 0xf8]
mov dword [esp + 0xa0], edx
mov dword [esp + 0x9c], eax
mov ecx, dword [esp + 0x68]
mov edi, esi
xor ecx, dword [esp + 0xf0]
mov esi, dword [esp + 0x70]
xor esi, dword [esp + 0x10c]
ror edi, 4
ror ebx, 1
mov edx, ecx
mov ecx, dword [esp + 0x94]
xor ecx, dword [esp + 0x100]
mov eax, esi
mov esi, edi
ror edx, 0xc
not esi
ror eax, 0xb
and esi, edx
xor esi, ebx
rol ecx, 1
mov dword [esp + 0x98], esi
mov esi, edx
not esi
and esi, eax
xor esi, edi
mov dword [esp + 0x94], esi
mov esi, eax
not esi
and esi, ecx
xor esi, edx
mov edx, ecx
not edx
mov dword [esp + 0x90], esi
mov esi, dword [esp + 0x7c]
and edx, ebx
not ebx
and ebx, edi
xor edx, eax
xor ebx, ecx
mov ecx, dword [esp + 0x74]
xor ecx, dword [esp + 0x108]
mov dword [esp + 0x88], ebx
mov ebx, dword [esp + 0x84]
xor ebx, dword [esp + 0x10c]
mov dword [esp + 0x8c], edx
rol ecx, 0xa
mov dword [esp + 0x70], ebx
mov ebx, dword [esp + 0x78]
xor ebx, dword [esp + 0xfc]
ror ebx, 0xa
mov edi, ebx
mov ebx, dword [esp + 0x80]
xor ebx, dword [esp + 0xf8]
mov eax, edi
not eax
ror ebx, 0xb
xor esi, dword [esp + 0xf0]
add dword [esp + 0x120], 0x10
mov dword [esp + 0x80], ebx
mov ebx, dword [esp + 0x120]
and eax, dword [esp + 0x80]
mov edx, esi
mov esi, ebx
mov ebx, dword [esp + 0x70]
xor ebx, dword [esi - 4]
mov esi, dword [esp + 0x80]
rol edx, 7
xor eax, ebx
mov ebx, esi
not ebx
mov dword [esp + 0x84], eax
mov eax, ebx
and eax, ecx
mov ebx, eax
xor ebx, edi
mov dword [esp + 0x80], ebx
mov ebx, ecx
not ebx
mov eax, ebx
and eax, edx
mov ebx, eax
xor ebx, esi
mov esi, dword [esp + 0x70]
mov dword [esp + 0x7c], ebx
mov ebx, edx
not ebx
mov eax, ebx
and eax, esi
mov ebx, eax
mov eax, esi
not eax
xor ebx, ecx
mov esi, eax
mov dword [esp + 0x78], ebx
and esi, edi
mov ebx, esi
mov esi, dword [esp + 0x40]
xor esi, dword [esp + 0x100]
xor ebx, edx
mov edx, dword [esp + 0x50]
xor edx, dword [esp + 0x110]
mov dword [esp + 0x74], ebx
mov ebx, dword [esp + 0x6c]
xor ebx, dword [esp + 0x104]
rol edx, 1
mov ecx, ebx
mov ebx, dword [esp + 0x60]
xor ebx, dword [esp + 0xf0]
rol ecx, 0xe
mov eax, ebx
mov ebx, esi
mov esi, dword [esp + 0x64]
rol eax, 0xa
ror ebx, 0xa
xor esi, dword [esp + 0xf8]
mov edi, eax
not edi
and edi, edx
xor edi, ecx
ror esi, 2
mov dword [esp + 0x70], edi
mov edi, edx
not edi
and edi, ebx
xor edi, eax
mov dword [esp + 0x6c], edi
mov edi, ebx
not edi
and edi, esi
xor edi, edx
mov edx, esi
not edx
mov dword [esp + 0x68], edi
mov edi, edx
and edi, ecx
not ecx
mov edx, edi
mov edi, dword [esp + 0x34]
xor edx, ebx
and ecx, eax
mov ebx, dword [esp + 0x4c]
xor ebx, dword [esp + 0xf4]
mov dword [esp + 0x64], edx
mov edx, ecx
mov ecx, dword [esp + 0x58]
xor ecx, dword [esp + 0xf0]
xor edx, esi
mov eax, dword [esp + 0x54]
xor eax, dword [esp + 0x100]
mov dword [esp + 0x60], edx
xor edi, dword [esp + 0x10c]
mov esi, ebx
mov ebx, dword [esp + 0x1c]
xor ebx, dword [esp + 0x108]
rol esi, 3
mov edx, ecx
mov ecx, esi
rol edx, 4
not ecx
rol edi, 9
rol ebx, 0xc
and ecx, ebx
xor ecx, eax
mov dword [esp + 0x5c], ecx
mov ecx, ebx
not ecx
and ecx, edx
xor ecx, esi
mov dword [esp + 0x58], ecx
mov ecx, edx
not ecx
and ecx, edi
xor ecx, ebx
mov ebx, edi
not ebx
mov dword [esp + 0x54], ecx
and ebx, eax
not eax
xor ebx, edx
and eax, esi
mov dword [esp + 0x50], ebx
mov ebx, eax
mov eax, dword [esp + 0x20]
xor ebx, edi
mov dword [esp + 0x4c], ebx
xor eax, dword [esp + 0xec]
mov esi, dword [esp + 0x38]
xor esi, dword [esp + 0xfc]
mov ebx, dword [esp + 0x48]
xor ebx, dword [esp + 0x10c]
rol eax, 0xd
mov edx, esi
mov esi, dword [esp + 0x10]
xor esi, dword [esp + 0xf8]
ror ebx, 0xe
rol edx, 5
mov edi, esi
mov esi, dword [esp + 0x28]
xor esi, dword [esp + 0x104]
rol edi, 7
mov ecx, esi
ror ecx, 4
mov esi, ecx
mov ecx, ebx
not ecx
and ecx, edx
xor ecx, eax
mov dword [esp + 0x48], ecx
mov ecx, edx
not ecx
and ecx, edi
xor ecx, ebx
mov dword [esp + 0x44], ecx
mov ecx, edi
not ecx
and ecx, esi
xor ecx, edx
mov edx, dword [esp + 0x14]
xor edx, dword [esp + 0x110]
mov dword [esp + 0x40], ecx
mov ecx, esi
not ecx
and ecx, eax
not eax
xor ecx, edi
and eax, ebx
mov edi, dword [esp + 0x30]
mov dword [esp + 0x3c], ecx
mov ecx, eax
mov eax, dword [esp + 0x2c]
xor ecx, esi
xor eax, dword [esp + 0x108]
xor edi, dword [esp + 0xfc]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x24]
ror edx, 0xc
xor ecx, dword [esp + 0xf4]
ror ecx, 1
mov esi, ecx
mov ecx, eax
mov eax, dword [esp + 0x18]
xor eax, dword [esp + 0xec]
ror ecx, 5
mov ebx, ecx
mov ecx, edi
mov edi, ebx
rol ecx, 1
not edi
ror eax, 0xd
and edi, eax
xor edi, esi
mov dword [esp + 0x34], edi
mov edi, eax
not edi
and edi, edx
xor edi, ebx
mov dword [esp + 0x30], edi
mov edi, edx
not edi
and edi, ecx
xor edi, eax
mov dword [esp + 0x2c], edi
mov edi, ecx
not edi
and edi, esi
not esi
and esi, ebx
xor edi, edx
mov ebx, esi
mov dword [esp + 0x28], edi
xor ebx, ecx
cmp dword [esp + 0x120], 0x872e00
mov dword [esp + 0x24], ebx
jne 0x491ae5
movd xmm6, dword [esp + 0x80]
mov eax, dword [esp + 0xc]
mov esi, ebx
movd xmm1, dword [esp + 0xe4]
movd xmm0, dword [esp + 0xe8]
punpckldq xmm1, xmm6
movd xmm6, dword [esp + 0x84]
movd xmm4, dword [esp + 0x70]
punpckldq xmm0, xmm6
movd xmm6, dword [esp + 0x78]
movd xmm5, dword [esp + 0x74]
movd xmm7, dword [esp + 0x68]
punpcklqdq xmm0, xmm1
movd xmm1, dword [esp + 0xdc]
punpckldq xmm1, xmm6
movd xmm6, dword [esp + 0x7c]
movups xmmword [eax], xmm0
movd xmm0, dword [esp + 0xe0]
punpckldq xmm0, xmm6
movd xmm6, dword [esp + 0x6c]
punpcklqdq xmm0, xmm1
movd xmm1, dword [esp + 0xd4]
punpckldq xmm1, xmm4
movd xmm4, dword [esp + 0x60]
movups xmmword [eax + 0x10], xmm0
movd xmm0, dword [esp + 0xd8]
punpckldq xmm0, xmm5
movd xmm5, dword [esp + 0x64]
punpcklqdq xmm0, xmm1
movd xmm1, dword [esp + 0xcc]
punpckldq xmm1, xmm7
movd xmm7, dword [esp + 0x58]
movups xmmword [eax + 0x20], xmm0
movd xmm0, dword [esp + 0xd0]
punpckldq xmm0, xmm6
movd xmm6, dword [esp + 0x5c]
punpcklqdq xmm0, xmm1
movd xmm1, dword [esp + 0xc4]
punpckldq xmm1, xmm4
movups xmmword [eax + 0x30], xmm0
movd xmm0, dword [esp + 0xc8]
punpckldq xmm0, xmm5
punpcklqdq xmm0, xmm1
movd xmm1, dword [esp + 0xbc]
punpckldq xmm1, xmm7
movups xmmword [eax + 0x40], xmm0
movd xmm0, dword [esp + 0xc0]
punpckldq xmm0, xmm6
punpcklqdq xmm0, xmm1
movd xmm1, dword [esp + 0xb4]
movups xmmword [eax + 0x50], xmm0
movd xmm4, dword [esp + 0x50]
mov ebx, dword [esp + 0x88]
movd xmm5, dword [esp + 0x54]
mov dword [eax + 0xc4], esi
movd xmm0, dword [esp + 0xb8]
punpckldq xmm1, xmm4
movd xmm7, dword [esp + 0x48]
mov dword [eax + 0xc0], ebx
punpckldq xmm0, xmm5
movd xmm6, dword [esp + 0x4c]
movd xmm4, dword [esp + 0x40]
movd xmm5, dword [esp + 0x44]
punpcklqdq xmm0, xmm1
movd xmm1, dword [esp + 0xac]
punpckldq xmm1, xmm7
movd xmm7, dword [esp + 0x38]
movups xmmword [eax + 0x60], xmm0
movd xmm0, dword [esp + 0xb0]
punpckldq xmm0, xmm6
movd xmm6, dword [esp + 0x3c]
punpcklqdq xmm0, xmm1
movd xmm1, dword [esp + 0xa4]
punpckldq xmm1, xmm4
movd xmm4, dword [esp + 0x30]
movups xmmword [eax + 0x70], xmm0
movd xmm0, dword [esp + 0xa8]
punpckldq xmm0, xmm5
movd xmm5, dword [esp + 0x34]
punpcklqdq xmm0, xmm1
movd xmm1, dword [esp + 0x9c]
punpckldq xmm1, xmm7
movd xmm7, dword [esp + 0x28]
movups xmmword [eax + 0x80], xmm0
movd xmm0, dword [esp + 0xa0]
punpckldq xmm0, xmm6
movd xmm6, dword [esp + 0x2c]
punpcklqdq xmm0, xmm1
movd xmm1, dword [esp + 0x94]
punpckldq xmm1, xmm4
movups xmmword [eax + 0x90], xmm0
movd xmm0, dword [esp + 0x98]
punpckldq xmm0, xmm5
punpcklqdq xmm0, xmm1
movd xmm1, dword [esp + 0x8c]
punpckldq xmm1, xmm7
movups xmmword [eax + 0xa0], xmm0
movd xmm0, dword [esp + 0x90]
punpckldq xmm0, xmm6
punpcklqdq xmm0, xmm1
movups xmmword [eax + 0xb0], xmm0
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
lea eax, [esi + 0x48]
mov ebx, esi
mov dword [esp + 0x120], eax
lea esi, [esi]
mov esi, dword [edx]
add edx, 8
mov ecx, esi
mov eax, esi
shr ecx, 1
xor ecx, esi
and ecx, 0x22222222
lea esi, [ecx + ecx]
xor eax, ecx
xor esi, eax
mov edi, esi
shr edi, 2
xor edi, esi
and edi, 0xc0c0c0c
lea eax, [edi*4]
xor esi, edi
mov edi, dword [edx - 4]
xor esi, eax
mov ecx, esi
mov eax, esi
shr ecx, 4
xor ecx, esi
and ecx, 0xf000f0
xor eax, ecx
shl ecx, 4
xor eax, ecx
mov esi, eax
shr esi, 8
xor esi, eax
and esi, 0xff00
xor eax, esi
shl esi, 8
mov ecx, eax
xor ecx, esi
mov esi, edi
shr esi, 1
xor esi, edi
and esi, 0x22222222
lea eax, [esi + esi]
xor edi, esi
xor eax, edi
mov edi, eax
shr edi, 2
xor edi, eax
and edi, 0xc0c0c0c
xor eax, edi
shl edi, 2
xor eax, edi
movzx edi, cx
shr ecx, 0x10
mov esi, eax
shr esi, 4
xor esi, eax
and esi, 0xf000f0
xor eax, esi
shl esi, 4
xor esi, eax
mov eax, esi
shr eax, 8
xor eax, esi
and eax, 0xff00
xor esi, eax
shl eax, 8
xor eax, esi
mov esi, eax
xor ax, ax
shl esi, 0x10
or eax, ecx
or esi, edi
xor dword [ebx], esi
add ebx, 8
xor dword [ebx - 4], eax
cmp ebx, dword [esp + 0x120]
jne 0x492ce0
jmp 0x4918f2