Function at 0x403b70
Capabilities:
Encode data using xor
Execute command
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x68
push esi
push edi
mov ecx, 0xf
lea edi, [esp + 0x20]
mov esi, str.DPAX_Z_
xor edx, edx
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0xc], edx
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov esi, dword [0x5b5cf8]
cmp esi, 2
jl 0x403cc0
movaps xmm0, xmmword [0x499630]
movaps xmm4, xmmword [0x4995e0]
movaps xmm3, xmmword [0x4996a0]
movaps xmm5, xmmword [0x499610]
movaps xmmword [esp + 0x10], xmm0
mov ecx, dword [esp + 0x10]
nop dword [eax + eax]
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + edx + 0x20]
xorps xmm2, xmm0
movd xmm0, eax
movd dword [esp + edx + 0x20], xmm2
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + edx + 0x24]
xorps xmm2, xmm0
movd dword [esp + edx + 0x24], xmm2
add edx, 8
cmp edx, 0x38
jl 0x403bd0
mov dword [esp + 0xc], edx
cmp edx, 0x3f
jge 0x403cf0
nop word [eax + eax]
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0xc]
movsx eax, al
mov cl, dl
imul eax, eax, 0x34
sub cl, al
add cl, 0x30
xor byte [esp + edx + 0x20], cl
inc edx
mov dword [esp + 0xc], edx
cmp edx, 0x3f
jl 0x403cc0
mov edi, dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
lea eax, [esp + 0x20]
push eax
call edi
movups xmm0, xmmword [0x4988e8]
xor edx, edx
add esp, 4
mov dword [esp + 0xc], edx
movups xmmword [esp + 0x20], xmm0
movups xmm0, xmmword [0x4988f8]
movups xmmword [esp + 0x30], xmm0
movups xmm0, xmmword [0x498908]
movups xmmword [esp + 0x40], xmm0
movups xmm0, xmmword [str.OBLd]
movups xmmword [esp + 0x50], xmm0
cmp esi, 2
jl 0x403e53
movaps xmm0, xmmword [0x499630]
xor ecx, ecx
movaps xmm4, xmmword [0x4995e0]
movaps xmm3, xmmword [0x4996a0]
movaps xmm5, xmmword [0x499610]
movaps xmmword [esp + 0x10], xmm0
mov edx, dword [esp + 0x10]
nop word [eax + eax]
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, edx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + ecx + 0x20]
xorps xmm2, xmm0
movd xmm0, eax
movd dword [esp + ecx + 0x20], xmm2
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, edx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + ecx + 0x24]
xorps xmm2, xmm0
movd dword [esp + ecx + 0x24], xmm2
add ecx, 8
cmp ecx, 0x40
jl 0x403d70
jmp 0x403e83
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0xc]
movsx eax, al
mov cl, dl
imul eax, eax, 0x34
sub cl, al
add cl, 0x30
xor byte [esp + edx + 0x20], cl
inc edx
mov dword [esp + 0xc], edx
cmp edx, 0x40
jl 0x403e53
lea eax, [esp + 0x20]
push eax
call edi
movups xmm0, xmmword [0x498a20]
mov al, byte [0x498a60]
xor edx, edx
add esp, 4
mov byte [esp + 0x60], al
mov dword [esp + 0xc], edx
movups xmmword [esp + 0x20], xmm0
movups xmm0, xmmword [0x498a30]
movups xmmword [esp + 0x30], xmm0
movups xmm0, xmmword [0x498a40]
movups xmmword [esp + 0x40], xmm0
movups xmm0, xmmword [0x498a50]
movups xmmword [esp + 0x50], xmm0
cmp esi, 2
jl 0x403ff0
movaps xmm0, xmmword [0x499630]
movaps xmm4, xmmword [0x4995e0]
movaps xmm3, xmmword [0x4996a0]
movaps xmm5, xmmword [0x499610]
movaps xmmword [esp + 0x10], xmm0
mov ecx, dword [esp + 0x10]
nop word [eax + eax]
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + edx + 0x20]
xorps xmm2, xmm0
movd xmm0, eax
movd dword [esp + edx + 0x20], xmm2
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + edx + 0x24]
xorps xmm2, xmm0
movd dword [esp + edx + 0x24], xmm2
add edx, 8
cmp edx, 0x40
jl 0x403f00
mov dword [esp + 0xc], edx
cmp edx, 0x41
jge 0x404020
nop word [eax + eax]
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0xc]
movsx eax, al
mov cl, dl
imul eax, eax, 0x34
sub cl, al
add cl, 0x30
xor byte [esp + edx + 0x20], cl
inc edx
mov dword [esp + 0xc], edx
cmp edx, 0x41
jl 0x403ff0
lea eax, [esp + 0x20]
push eax
call edi
movups xmm0, xmmword [0x4983e4]
mov ax, word [0x49841c]
xor edx, edx
mov word [esp + 0x5c], ax
add esp, 4
mov al, byte [0x49841e]
mov byte [esp + 0x5a], al
mov dword [esp + 0xc], edx
movups xmmword [esp + 0x20], xmm0
movups xmm0, xmmword [0x4983f4]
movups xmmword [esp + 0x30], xmm0
movups xmm0, xmmword [0x498404]
movups xmmword [esp + 0x40], xmm0
movq xmm0, qword [0x498414]
movq qword [esp + 0x50], xmm0
cmp esi, 2
jl 0x404190
movaps xmm0, xmmword [0x499630]
movaps xmm4, xmmword [0x4995e0]
movaps xmm3, xmmword [0x4996a0]
movaps xmm5, xmmword [0x499610]
movaps xmmword [esp + 0x10], xmm0
mov ecx, dword [esp + 0x10]
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + edx + 0x20]
xorps xmm2, xmm0
movd xmm0, eax
movd dword [esp + edx + 0x20], xmm2
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + edx + 0x24]
xorps xmm2, xmm0
movd dword [esp + edx + 0x24], xmm2
add edx, 8
cmp edx, 0x38
jl 0x4040a4
mov dword [esp + 0xc], edx
cmp edx, 0x3b
jge 0x4041c0
nop
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0xc]
movsx eax, al
mov cl, dl
imul eax, eax, 0x34
sub cl, al
add cl, 0x30
xor byte [esp + edx + 0x20], cl
inc edx
mov dword [esp + 0xc], edx
cmp edx, 0x3b
jl 0x404190
lea eax, [esp + 0x20]
push eax
call edi
movups xmm0, xmmword [0x498928]
mov eax, dword [0x498960]
xor edx, edx
mov dword [esp + 0x5c], eax
add esp, 4
mov al, byte [0x498964]
mov byte [esp + 0x5c], al
mov dword [esp + 0xc], edx
movups xmmword [esp + 0x20], xmm0
movups xmm0, xmmword [0x498938]
movups xmmword [esp + 0x30], xmm0
movups xmm0, xmmword [0x498948]
movups xmmword [esp + 0x40], xmm0
movq xmm0, qword [str.O5B_D]
movq qword [esp + 0x50], xmm0
cmp esi, 2
jl 0x404330
movaps xmm0, xmmword [0x499630]
movaps xmm4, xmmword [0x4995e0]
movaps xmm3, xmmword [0x4996a0]
movaps xmm5, xmmword [0x499610]
movaps xmmword [esp + 0x10], xmm0
mov ecx, dword [esp + 0x10]
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + edx + 0x20]
xorps xmm2, xmm0
movd xmm0, eax
movd dword [esp + edx + 0x20], xmm2
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + edx + 0x24]
xorps xmm2, xmm0
movd dword [esp + edx + 0x24], xmm2
add edx, 8
cmp edx, 0x38
jl 0x404242
mov dword [esp + 0xc], edx
cmp edx, 0x3d
jge 0x404360
nop dword [eax]
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0xc]
movsx eax, al
mov cl, dl
imul eax, eax, 0x34
sub cl, al
add cl, 0x30
xor byte [esp + edx + 0x20], cl
inc edx
mov dword [esp + 0xc], edx
cmp edx, 0x3d
jl 0x404330
lea eax, [esp + 0x20]
push eax
call edi
movups xmm0, xmmword [0x498a6c]
mov eax, dword [0x498aa4]
xor edx, edx
add esp, 4
mov dword [esp + 0x58], eax
mov dword [esp + 0xc], edx
movups xmmword [esp + 0x20], xmm0
movups xmm0, xmmword [0x498a7c]
movups xmmword [esp + 0x30], xmm0
movups xmm0, xmmword [0x498a8c]
movups xmmword [esp + 0x40], xmm0
movq xmm0, qword [0x498a9c]
movq qword [esp + 0x50], xmm0
cmp esi, 2
jl 0x4044d0
movaps xmm0, xmmword [0x499630]
movaps xmm4, xmmword [0x4995e0]
movaps xmm3, xmmword [0x4996a0]
movaps xmm5, xmmword [0x499610]
movaps xmmword [esp + 0x10], xmm0
mov ecx, dword [esp + 0x10]
nop dword [eax]
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + edx + 0x20]
xorps xmm2, xmm0
movd xmm0, eax
movd dword [esp + edx + 0x20], xmm2
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + edx + 0x24]
xorps xmm2, xmm0
movd dword [esp + edx + 0x24], xmm2
add edx, 8
cmp edx, 0x38
jl 0x4043e0
mov dword [esp + 0xc], edx
cmp edx, 0x3c
jge 0x404500
nop word [eax + eax]
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0xc]
movsx eax, al
mov cl, dl
imul eax, eax, 0x34
sub cl, al
add cl, 0x30
xor byte [esp + edx + 0x20], cl
inc edx
mov dword [esp + 0xc], edx
cmp edx, 0x3c
jl 0x4044d0
lea eax, [esp + 0x20]
push eax
call edi
movups xmm0, xmmword [0x4985e0]
mov ax, word [0x498618]
xor edx, edx
mov word [esp + 0x5c], ax
add esp, 4
mov al, byte [0x49861a]
mov byte [esp + 0x5a], al
mov dword [esp + 0xc], edx
movups xmmword [esp + 0x20], xmm0
movups xmm0, xmmword [0x4985f0]
movups xmmword [esp + 0x30], xmm0
movups xmm0, xmmword [0x498600]
movups xmmword [esp + 0x40], xmm0
movq xmm0, qword [0x498610]
movq qword [esp + 0x50], xmm0
cmp esi, 2
jl 0x404670
movaps xmm0, xmmword [0x499630]
movaps xmm4, xmmword [0x4995e0]
movaps xmm3, xmmword [0x4996a0]
movaps xmm5, xmmword [0x499610]
movaps xmmword [esp + 0x10], xmm0
mov ecx, dword [esp + 0x10]
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + edx + 0x20]
xorps xmm2, xmm0
movd xmm0, eax
movd dword [esp + edx + 0x20], xmm2
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + edx + 0x24]
xorps xmm2, xmm0
movd dword [esp + edx + 0x24], xmm2
add edx, 8
cmp edx, 0x38
jl 0x404584
mov dword [esp + 0xc], edx
cmp edx, 0x3b
jge 0x4046a0
nop
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0xc]
movsx eax, al
mov cl, dl
imul eax, eax, 0x34
sub cl, al
add cl, 0x30
xor byte [esp + edx + 0x20], cl
inc edx
mov dword [esp + 0xc], edx
cmp edx, 0x3b
jl 0x404670
lea eax, [esp + 0x20]
push eax
call edi
movups xmm0, xmmword [0x498af0]
mov eax, dword [0x498b20]
xor edx, edx
mov dword [esp + 0x54], eax
add esp, 4
mov ax, word [0x498b24]
mov word [esp + 0x54], ax
mov al, byte [0x498b26]
mov byte [esp + 0x56], al
mov dword [esp + 0xc], edx
movups xmmword [esp + 0x20], xmm0
movups xmm0, xmmword [0x498b00]
movups xmmword [esp + 0x30], xmm0
movups xmm0, xmmword [0x498b10]
movups xmmword [esp + 0x40], xmm0
cmp esi, 2
jl 0x404810
movaps xmm0, xmmword [0x499630]
movaps xmm4, xmmword [0x4995e0]
movaps xmm3, xmmword [0x4996a0]
movaps xmm5, xmmword [0x499610]
movaps xmmword [esp + 0x10], xmm0
mov ecx, dword [esp + 0x10]
nop
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + edx + 0x20]
xorps xmm2, xmm0
movd xmm0, eax
movd dword [esp + edx + 0x20], xmm2
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + edx + 0x24]
xorps xmm2, xmm0
movd dword [esp + edx + 0x24], xmm2
add edx, 8
cmp edx, 0x30
jl 0x404720
mov dword [esp + 0xc], edx
cmp edx, 0x37
jge 0x404840
nop word [eax + eax]
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0xc]
movsx eax, al
mov cl, dl
imul eax, eax, 0x34
sub cl, al
add cl, 0x30
xor byte [esp + edx + 0x20], cl
inc edx
mov dword [esp + 0xc], edx
cmp edx, 0x37
jl 0x404810
lea eax, [esp + 0x20]
push eax
call edi
movups xmm0, xmmword [0x4988ac]
mov eax, dword [0x4988c4]
xor edx, edx
mov dword [esp + 0x3c], eax
add esp, 4
mov ax, word [0x4988c8]
mov word [esp + 0x3c], ax
mov al, byte [0x4988ca]
mov byte [esp + 0x3e], al
mov dword [esp + 0xc], edx
movups xmmword [esp + 0x20], xmm0
movq xmm0, qword [0x4988bc]
movq qword [esp + 0x30], xmm0
cmp esi, 2
jl 0x4049b0
movaps xmm0, xmmword [0x499630]
movaps xmm4, xmmword [0x4995e0]
movaps xmm3, xmmword [0x4996a0]
movaps xmm5, xmmword [0x499610]
movaps xmmword [esp + 0x10], xmm0
mov ecx, dword [esp + 0x10]
nop word [eax + eax]
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + edx + 0x20]
xorps xmm2, xmm0
movd xmm0, eax
movd dword [esp + edx + 0x20], xmm2
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + edx + 0x24]
xorps xmm2, xmm0
movd dword [esp + edx + 0x24], xmm2
add edx, 8
cmp edx, 0x18
jl 0x4048c0
mov dword [esp + 0xc], edx
cmp edx, 0x1f
jge 0x4049e0
nop word [eax + eax]
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0xc]
movsx eax, al
mov cl, dl
imul eax, eax, 0x34
sub cl, al
add cl, 0x30
xor byte [esp + edx + 0x20], cl
inc edx
mov dword [esp + 0xc], edx
cmp edx, 0x1f
jl 0x4049b0
lea eax, [esp + 0x20]
push eax
call edi
movups xmm0, xmmword [0x4989b8]
add esp, 4
cmp byte [0x4989cf], 0
movups xmmword [esp + 0x20], xmm0
movq xmm0, qword [0x4989c8]
movq qword [esp + 0x30], xmm0
je 0x404b63
xor edx, edx
mov dword [esp + 0xc], edx
cmp esi, 2
jl 0x404b33
movaps xmm0, xmmword [0x499630]
xor ecx, ecx
movaps xmm4, xmmword [0x4995e0]
movaps xmm3, xmmword [0x4996a0]
movaps xmm5, xmmword [0x499610]
movaps xmmword [esp + 0x10], xmm0
mov edx, dword [esp + 0x10]
nop word [eax + eax]
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, edx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + ecx + 0x20]
xorps xmm2, xmm0
movd xmm0, eax
movd dword [esp + ecx + 0x20], xmm2
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, edx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + ecx + 0x24]
xorps xmm2, xmm0
movd dword [esp + ecx + 0x24], xmm2
add ecx, 8
cmp ecx, 0x18
jl 0x404a50
jmp 0x404b63
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0xc]
movsx eax, al
mov cl, dl
imul eax, eax, 0x34
sub cl, al
add cl, 0x30
xor byte [esp + edx + 0x20], cl
inc edx
mov dword [esp + 0xc], edx
cmp edx, 0x18
jl 0x404b33
lea eax, [esp + 0x20]
push eax
call edi
movups xmm0, xmmword [0x4989fc]
mov ax, word [0x498a1c]
xor edx, edx
add esp, 4
mov word [esp + 0x40], ax
mov dword [esp + 0xc], edx
movups xmmword [esp + 0x20], xmm0
movups xmm0, xmmword [0x498a0c]
movups xmmword [esp + 0x30], xmm0
cmp esi, 2
jl 0x404cb0
movaps xmm0, xmmword [0x499630]
movaps xmm4, xmmword [0x4995e0]
movaps xmm3, xmmword [0x4996a0]
movaps xmm5, xmmword [0x499610]
movaps xmmword [esp + 0x10], xmm0
mov ecx, dword [esp + 0x10]
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + edx + 0x20]
xorps xmm2, xmm0
movd xmm0, eax
movd dword [esp + edx + 0x20], xmm2
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + edx + 0x24]
xorps xmm2, xmm0
movd dword [esp + edx + 0x24], xmm2
add edx, 8
cmp edx, 0x20
jl 0x404bc4
mov dword [esp + 0xc], edx
cmp edx, 0x22
jge 0x404ce0
nop
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0xc]
movsx eax, al
mov cl, dl
imul eax, eax, 0x34
sub cl, al
add cl, 0x30
xor byte [esp + edx + 0x20], cl
inc edx
mov dword [esp + 0xc], edx
cmp edx, 0x22
jl 0x404cb0
lea eax, [esp + 0x20]
push eax
call edi
movups xmm0, xmmword [0x498850]
mov ax, word [0x498870]
xor edx, edx
add esp, 4
mov word [esp + 0x40], ax
mov dword [esp + 0xc], edx
movups xmmword [esp + 0x20], xmm0
movups xmm0, xmmword [0x498860]
movups xmmword [esp + 0x30], xmm0
cmp esi, 2
jl 0x404e30
movaps xmm0, xmmword [0x499630]
movaps xmm4, xmmword [0x4995e0]
movaps xmm3, xmmword [0x4996a0]
movaps xmm5, xmmword [0x499610]
movaps xmmword [esp + 0x10], xmm0
mov ecx, dword [esp + 0x10]
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + edx + 0x20]
xorps xmm2, xmm0
movd xmm0, eax
movd dword [esp + edx + 0x20], xmm2
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + edx + 0x24]
xorps xmm2, xmm0
movd dword [esp + edx + 0x24], xmm2
add edx, 8
cmp edx, 0x20
jl 0x404d41
mov dword [esp + 0xc], edx
cmp edx, 0x22
jge 0x404e60
nop dword [eax + eax]
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0xc]
movsx eax, al
mov cl, dl
imul eax, eax, 0x34
sub cl, al
add cl, 0x30
xor byte [esp + edx + 0x20], cl
inc edx
mov dword [esp + 0xc], edx
cmp edx, 0x22
jl 0x404e30
lea eax, [esp + 0x20]
push eax
call edi
movups xmm0, xmmword [0x498aa8]
mov ax, word [0x498ac8]
xor edx, edx
add esp, 4
mov word [esp + 0x40], ax
mov dword [esp + 0xc], edx
movups xmmword [esp + 0x20], xmm0
movups xmm0, xmmword [0x498ab8]
movups xmmword [esp + 0x30], xmm0
cmp esi, 2
jl 0x404fb0
movaps xmm0, xmmword [0x499630]
movaps xmm4, xmmword [0x4995e0]
movaps xmm3, xmmword [0x4996a0]
movaps xmm5, xmmword [0x499610]
movaps xmmword [esp + 0x10], xmm0
mov ecx, dword [esp + 0x10]
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + edx + 0x20]
xorps xmm2, xmm0
movd xmm0, eax
movd dword [esp + edx + 0x20], xmm2
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + edx + 0x24]
xorps xmm2, xmm0
movd dword [esp + edx + 0x24], xmm2
add edx, 8
cmp edx, 0x20
jl 0x404ec1
mov dword [esp + 0xc], edx
cmp edx, 0x22
jge 0x404fe0
nop dword [eax + eax]
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0xc]
movsx eax, al
mov cl, dl
imul eax, eax, 0x34
sub cl, al
add cl, 0x30
xor byte [esp + edx + 0x20], cl
inc edx
mov dword [esp + 0xc], edx
cmp edx, 0x22
jl 0x404fb0
lea eax, [esp + 0x20]
push eax
call edi
movups xmm0, xmmword [0x498acc]
mov ax, word [0x498aec]
xor edx, edx
add esp, 4
mov word [esp + 0x40], ax
mov dword [esp + 0xc], edx
movups xmmword [esp + 0x20], xmm0
movups xmm0, xmmword [0x498adc]
movups xmmword [esp + 0x30], xmm0
cmp esi, 2
jl 0x405130
movaps xmm0, xmmword [0x499630]
movaps xmm4, xmmword [0x4995e0]
movaps xmm3, xmmword [0x4996a0]
movaps xmm5, xmmword [0x499610]
movaps xmmword [esp + 0x10], xmm0
mov ecx, dword [esp + 0x10]
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + edx + 0x20]
xorps xmm2, xmm0
movd xmm0, eax
movd dword [esp + edx + 0x20], xmm2
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + edx + 0x24]
xorps xmm2, xmm0
movd dword [esp + edx + 0x24], xmm2
add edx, 8
cmp edx, 0x20
jl 0x405041
mov dword [esp + 0xc], edx
cmp edx, 0x22
jge 0x405160
nop dword [eax + eax]
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0xc]
movsx eax, al
mov cl, dl
imul eax, eax, 0x34
sub cl, al
add cl, 0x30
xor byte [esp + edx + 0x20], cl
inc edx
mov dword [esp + 0xc], edx
cmp edx, 0x22
jl 0x405130
lea eax, [esp + 0x20]
push eax
call edi
movups xmm0, xmmword [0x49852c]
mov eax, dword [0x498544]
add esp, 4
cmp byte [0x498547], 0
movups xmmword [esp + 0x20], xmm0
mov dword [esp + 0x38], eax
movq xmm0, qword [0x49853c]
movq qword [esp + 0x30], xmm0
je 0x4052f0
xor edx, edx
mov dword [esp + 0xc], edx
cmp esi, 2
jl 0x4052c0
movaps xmm0, xmmword [0x499630]
movaps xmm4, xmmword [0x4995e0]
movaps xmm3, xmmword [0x4996a0]
movaps xmm5, xmmword [0x499610]
movaps xmmword [esp + 0x10], xmm0
mov ecx, dword [esp + 0x10]
nop
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + edx + 0x20]
xorps xmm2, xmm0
movd xmm0, eax
movd dword [esp + edx + 0x20], xmm2
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + edx + 0x24]
xorps xmm2, xmm0
movd dword [esp + edx + 0x24], xmm2
add edx, 8
cmp edx, 0x18
jl 0x4051d0
mov dword [esp + 0xc], edx
cmp edx, 0x1c
jge 0x4052f0
nop word [eax + eax]
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0xc]
movsx eax, al
mov cl, dl
imul eax, eax, 0x34
sub cl, al
add cl, 0x30
xor byte [esp + edx + 0x20], cl
inc edx
mov dword [esp + 0xc], edx
cmp edx, 0x1c
jl 0x4052c0
lea eax, [esp + 0x20]
push eax
call edi
mov eax, dword [0x498978]
add esp, 4
cmp byte [0x49897d], 0
movups xmm0, xmmword [0x498968]
mov dword [esp + 0x30], eax
mov ax, word [0x49897c]
movups xmmword [esp + 0x20], xmm0
mov word [esp + 0x34], ax
je 0x405480
xor edx, edx
mov dword [esp + 0xc], edx
cmp esi, 2
jl 0x405450
movaps xmm0, xmmword [0x499630]
movaps xmm4, xmmword [0x4995e0]
movaps xmm3, xmmword [0x4996a0]
movaps xmm5, xmmword [0x499610]
movaps xmmword [esp + 0x10], xmm0
mov ecx, dword [esp + 0x10]
nop dword [eax + eax]
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + edx + 0x20]
xorps xmm2, xmm0
movd xmm0, eax
movd dword [esp + edx + 0x20], xmm2
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + edx + 0x24]
xorps xmm2, xmm0
movd dword [esp + edx + 0x24], xmm2
add edx, 8
cmp edx, 0x10
jl 0x405360
mov dword [esp + 0xc], edx
cmp edx, 0x16
jge 0x405480
nop word [eax + eax]
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0xc]
movsx eax, al
mov cl, dl
imul eax, eax, 0x34
sub cl, al
add cl, 0x30
xor byte [esp + edx + 0x20], cl
inc edx
mov dword [esp + 0xc], edx
cmp edx, 0x16
jl 0x405450
lea eax, [esp + 0x20]
push eax
call edi
movups xmm0, xmmword [0x49861c]
mov eax, dword [0x498644]
xor edx, edx
mov dword [esp + 0x4c], eax
add esp, 4
mov al, byte [0x498648]
mov byte [esp + 0x4c], al
mov dword [esp + 0xc], edx
movups xmmword [esp + 0x20], xmm0
movups xmm0, xmmword [0x49862c]
movups xmmword [esp + 0x30], xmm0
movq xmm0, qword [0x49863c]
movq qword [esp + 0x40], xmm0
cmp esi, 2
jl 0x4055f0
movaps xmm0, xmmword [0x499630]
movaps xmm4, xmmword [0x4995e0]
movaps xmm3, xmmword [0x4996a0]
movaps xmm5, xmmword [0x499610]
movaps xmmword [esp + 0x10], xmm0
mov ecx, dword [esp + 0x10]
nop word [eax + eax]
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + edx + 0x20]
xorps xmm2, xmm0
movd xmm0, eax
movd dword [esp + edx + 0x20], xmm2
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + edx + 0x24]
xorps xmm2, xmm0
movd dword [esp + edx + 0x24], xmm2
add edx, 8
cmp edx, 0x28
jl 0x405500
mov dword [esp + 0xc], edx
cmp edx, 0x2d
jge 0x405620
nop word [eax + eax]
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0xc]
movsx eax, al
mov cl, dl
imul eax, eax, 0x34
sub cl, al
add cl, 0x30
xor byte [esp + edx + 0x20], cl
inc edx
mov dword [esp + 0xc], edx
cmp edx, 0x2d
jl 0x4055f0
lea eax, [esp + 0x20]
push eax
call edi
movups xmm0, xmmword [0x4985b0]
mov eax, dword [0x4985d8]
xor edx, edx
mov dword [esp + 0x4c], eax
add esp, 4
mov ax, word [0x4985dc]
mov word [esp + 0x4c], ax
mov dword [esp + 0xc], edx
movups xmmword [esp + 0x20], xmm0
movups xmm0, xmmword [0x4985c0]
movups xmmword [esp + 0x30], xmm0
movq xmm0, qword [0x4985d0]
movq qword [esp + 0x40], xmm0
cmp esi, 2
jl 0x405790
movaps xmm0, xmmword [0x499630]
movaps xmm4, xmmword [0x4995e0]
movaps xmm3, xmmword [0x4996a0]
movaps xmm5, xmmword [0x499610]
movaps xmmword [esp + 0x10], xmm0
mov ecx, dword [esp + 0x10]
nop dword [eax + eax]
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + edx + 0x20]
xorps xmm2, xmm0
movd xmm0, eax
movd dword [esp + edx + 0x20], xmm2
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + edx + 0x24]
xorps xmm2, xmm0
movd dword [esp + edx + 0x24], xmm2
add edx, 8
cmp edx, 0x28
jl 0x4056a0
mov dword [esp + 0xc], edx
cmp edx, 0x2e
jge 0x4057c0
nop word [eax + eax]
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0xc]
movsx eax, al
mov cl, dl
imul eax, eax, 0x34
sub cl, al
add cl, 0x30
xor byte [esp + edx + 0x20], cl
inc edx
mov dword [esp + 0xc], edx
cmp edx, 0x2e
jl 0x405790
lea eax, [esp + 0x20]
push eax
call edi
movups xmm0, xmmword [0x4988cc]
mov ax, word [0x4988e4]
add esp, 4
cmp byte [0x4988e5], 0
movups xmmword [esp + 0x20], xmm0
mov word [esp + 0x38], ax
movq xmm0, qword [str._7_dwxayI]
movq qword [esp + 0x30], xmm0
je 0x405950
xor edx, edx
mov dword [esp + 0xc], edx
cmp esi, 2
jl 0x405920
movaps xmm0, xmmword [0x499630]
movaps xmm4, xmmword [0x4995e0]
movaps xmm3, xmmword [0x4996a0]
movaps xmm5, xmmword [0x499610]
movaps xmmword [esp + 0x10], xmm0
mov ecx, dword [esp + 0x10]
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + edx + 0x20]
xorps xmm2, xmm0
movd xmm0, eax
movd dword [esp + edx + 0x20], xmm2
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + edx + 0x24]
xorps xmm2, xmm0
movd dword [esp + edx + 0x24], xmm2
add edx, 8
cmp edx, 0x18
jl 0x405830
mov dword [esp + 0xc], edx
cmp edx, 0x1a
jge 0x405950
nop word [eax + eax]
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0xc]
movsx eax, al
mov cl, dl
imul eax, eax, 0x34
sub cl, al
add cl, 0x30
xor byte [esp + edx + 0x20], cl
inc edx
mov dword [esp + 0xc], edx
cmp edx, 0x1a
jl 0x405920
lea eax, [esp + 0x20]
push eax
call edi
movups xmm0, xmmword [0x4986fc]
mov al, byte [0x498714]
xor edx, edx
add esp, 4
mov byte [esp + 0x38], al
mov dword [esp + 0xc], edx
movups xmmword [esp + 0x20], xmm0
movq xmm0, qword [str..4.cv_vH]
movq qword [esp + 0x30], xmm0
cmp esi, 2
jl 0x405aa0
movaps xmm0, xmmword [0x499630]
movaps xmm4, xmmword [0x4995e0]
movaps xmm3, xmmword [0x4996a0]
movaps xmm5, xmmword [0x499610]
movaps xmmword [esp + 0x10], xmm0
mov ecx, dword [esp + 0x10]
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + edx + 0x20]
xorps xmm2, xmm0
movd xmm0, eax
movd dword [esp + edx + 0x20], xmm2
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + edx + 0x24]
xorps xmm2, xmm0
movd dword [esp + edx + 0x24], xmm2
add edx, 8
cmp edx, 0x18
jl 0x4059b1
mov dword [esp + 0xc], edx
cmp edx, 0x19
jge 0x405ad0
nop dword [eax + eax]
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0xc]
movsx eax, al
mov cl, dl
imul eax, eax, 0x34
sub cl, al
add cl, 0x30
xor byte [esp + edx + 0x20], cl
inc edx
mov dword [esp + 0xc], edx
cmp edx, 0x19
jl 0x405aa0
lea eax, [esp + 0x20]
push eax
call edi
movups xmm0, xmmword [0x498574]
mov ax, word [0x4985ac]
xor edx, edx
mov word [esp + 0x5c], ax
add esp, 4
mov al, byte [0x4985ae]
mov byte [esp + 0x5a], al
mov dword [esp + 0xc], edx
movups xmmword [esp + 0x20], xmm0
movups xmm0, xmmword [0x498584]
movups xmmword [esp + 0x30], xmm0
movups xmm0, xmmword [0x498594]
movups xmmword [esp + 0x40], xmm0
movq xmm0, qword [0x4985a4]
movq qword [esp + 0x50], xmm0
cmp esi, 2
jl 0x405c40
movaps xmm0, xmmword [0x499630]
movaps xmm4, xmmword [0x4995e0]
movaps xmm3, xmmword [0x4996a0]
movaps xmm5, xmmword [0x499610]
movaps xmmword [esp + 0x10], xmm0
mov ecx, dword [esp + 0x10]
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + edx + 0x20]
xorps xmm2, xmm0
movd xmm0, eax
movd dword [esp + edx + 0x20], xmm2
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + edx + 0x24]
xorps xmm2, xmm0
movd dword [esp + edx + 0x24], xmm2
add edx, 8
cmp edx, 0x38
jl 0x405b54
mov dword [esp + 0xc], edx
cmp edx, 0x3b
jge 0x405c70
nop
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0xc]
movsx eax, al
mov cl, dl
imul eax, eax, 0x34
sub cl, al
add cl, 0x30
xor byte [esp + edx + 0x20], cl
inc edx
mov dword [esp + 0xc], edx
cmp edx, 0x3b
jl 0x405c40
lea eax, [esp + 0x20]
push eax
call edi
movups xmm0, xmmword [0x498814]
mov ax, word [0x49884c]
xor edx, edx
add esp, 4
mov word [esp + 0x58], ax
mov dword [esp + 0xc], edx
movups xmmword [esp + 0x20], xmm0
movups xmm0, xmmword [0x498824]
movups xmmword [esp + 0x30], xmm0
movups xmm0, xmmword [0x498834]
movups xmmword [esp + 0x40], xmm0
movq xmm0, qword [0x498844]
movq qword [esp + 0x50], xmm0
cmp esi, 2
jl 0x405de0
movaps xmm0, xmmword [0x499630]
movaps xmm4, xmmword [0x4995e0]
movaps xmm3, xmmword [0x4996a0]
movaps xmm5, xmmword [0x499610]
movaps xmmword [esp + 0x10], xmm0
mov ecx, dword [esp + 0x10]
nop dword [eax + eax]
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + edx + 0x20]
xorps xmm2, xmm0
movd xmm0, eax
movd dword [esp + edx + 0x20], xmm2
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + edx + 0x24]
xorps xmm2, xmm0
movd dword [esp + edx + 0x24], xmm2
add edx, 8
cmp edx, 0x38
jl 0x405cf0
mov dword [esp + 0xc], edx
cmp edx, 0x3a
jge 0x405e10
nop word [eax + eax]
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0xc]
movsx eax, al
mov cl, dl
imul eax, eax, 0x34
sub cl, al
add cl, 0x30
xor byte [esp + edx + 0x20], cl
inc edx
mov dword [esp + 0xc], edx
cmp edx, 0x3a
jl 0x405de0
lea eax, [esp + 0x20]
push eax
call edi
movups xmm0, xmmword [0x498720]
mov ax, word [0x498758]
xor edx, edx
add esp, 4
mov word [esp + 0x58], ax
mov dword [esp + 0xc], edx
movups xmmword [esp + 0x20], xmm0
movups xmm0, xmmword [0x498730]
movups xmmword [esp + 0x30], xmm0
movups xmm0, xmmword [0x498740]
movups xmmword [esp + 0x40], xmm0
movq xmm0, qword [0x498750]
movq qword [esp + 0x50], xmm0
cmp esi, 2
jl 0x405f80
movaps xmm0, xmmword [0x499630]
movaps xmm4, xmmword [0x4995e0]
movaps xmm3, xmmword [0x4996a0]
movaps xmm5, xmmword [0x499610]
movaps xmmword [esp + 0x10], xmm0
mov ecx, dword [esp + 0x10]
nop dword [eax + eax]
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + edx + 0x20]
xorps xmm2, xmm0
movd xmm0, eax
movd dword [esp + edx + 0x20], xmm2
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + edx + 0x24]
xorps xmm2, xmm0
movd dword [esp + edx + 0x24], xmm2
add edx, 8
cmp edx, 0x38
jl 0x405e90
mov dword [esp + 0xc], edx
cmp edx, 0x3a
jge 0x405fb0
nop word [eax + eax]
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0xc]
movsx eax, al
mov cl, dl
imul eax, eax, 0x34
sub cl, al
add cl, 0x30
xor byte [esp + edx + 0x20], cl
inc edx
mov dword [esp + 0xc], edx
cmp edx, 0x3a
jl 0x405f80
lea eax, [esp + 0x20]
push eax
call edi
movups xmm0, xmmword [0x498484]
mov ax, word [0x4984bc]
xor edx, edx
mov word [esp + 0x5c], ax
add esp, 4
mov al, byte [0x4984be]
mov byte [esp + 0x5a], al
mov dword [esp + 0xc], edx
movups xmmword [esp + 0x20], xmm0
movups xmm0, xmmword [0x498494]
movups xmmword [esp + 0x30], xmm0
movups xmm0, xmmword [0x4984a4]
movups xmmword [esp + 0x40], xmm0
movq xmm0, qword [0x4984b4]
movq qword [esp + 0x50], xmm0
cmp esi, 2
jl 0x406120
movaps xmm0, xmmword [0x499630]
movaps xmm4, xmmword [0x4995e0]
movaps xmm3, xmmword [0x4996a0]
movaps xmm5, xmmword [0x499610]
movaps xmmword [esp + 0x10], xmm0
mov ecx, dword [esp + 0x10]
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + edx + 0x20]
xorps xmm2, xmm0
movd xmm0, eax
movd dword [esp + edx + 0x20], xmm2
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmmword [0x499620]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [esp + edx + 0x24]
xorps xmm2, xmm0
movd dword [esp + edx + 0x24], xmm2
add edx, 8
cmp edx, 0x38
jl 0x406034
mov dword [esp + 0xc], edx
cmp edx, 0x3b
jge 0x406150
nop
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0xc]
movsx eax, al
mov cl, dl
imul eax, eax, 0x34
sub cl, al
add cl, 0x30
xor byte [esp + edx + 0x20], cl
inc edx
mov dword [esp + 0xc], edx
cmp edx, 0x3b
jl 0x406120
lea eax, [esp + 0x20]
push eax
call edi
add esp, 4
pop edi
pop esi
mov esp, ebp
pop ebp
ret