Function at 0x42cab0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
lea ebp, [esp - 0x5c]
sub esp, 0x94
push ebx
push esi
push edi
mov edi, dword [ebp + 0x7c]
test edi, edi
mov esi, ecx
je case.default.0x42cd7c
mov eax, dword [esi + 0x64]
cmp eax, 0x11
jne 0x42cb01
mov eax, dword [ebp + 0x78]
mov ecx, dword [ebp + 0x74]
mov edx, dword [ebp + 0x70]
push 0xfffffffffffffffe
push edi
push eax
mov eax, dword [ebp + 0x6c]
push ecx
mov ecx, dword [ebp + 0x68]
push edx
mov edx, dword [ebp + 0x64]
push eax
push ecx
push edx
mov ecx, esi
call fcn.004250b0
pop edi
pop esi
pop ebx
add ebp, 0x5c
mov esp, ebp
pop ebp
ret 0x1c
cmp eax, 0x100
jne 0x42cb34
mov eax, dword [ebp + 0x78]
mov ecx, dword [ebp + 0x74]
mov edx, dword [ebp + 0x70]
push edi
push eax
mov eax, dword [ebp + 0x6c]
push ecx
mov ecx, dword [ebp + 0x68]
push edx
mov edx, dword [ebp + 0x64]
push eax
push ecx
push edx
mov ecx, esi
call fcn.00428f60
pop edi
pop esi
pop ebx
add ebp, 0x5c
mov esp, ebp
pop ebp
ret 0x1c
cmp edi, 0x10
jne 0x42cb64
mov eax, dword [ebp + 0x78]
mov ecx, dword [ebp + 0x74]
mov edx, dword [ebp + 0x70]
push eax
mov eax, dword [ebp + 0x6c]
push ecx
mov ecx, dword [ebp + 0x68]
push edx
mov edx, dword [ebp + 0x64]
push eax
push ecx
push edx
mov ecx, esi
call fcn.00429120
pop edi
pop esi
pop ebx
add ebp, 0x5c
mov esp, ebp
pop ebp
ret 0x1c
mov bl, 1
test byte [esi + 0x6c], bl
je 0x42cb97
mov eax, dword [ebp + 0x78]
mov ecx, dword [ebp + 0x74]
mov edx, dword [ebp + 0x70]
push edi
push eax
mov eax, dword [ebp + 0x6c]
push ecx
mov ecx, dword [ebp + 0x68]
push edx
mov edx, dword [ebp + 0x64]
push eax
push ecx
push edx
mov ecx, esi
call fcn.00428d20
pop edi
pop esi
pop ebx
add ebp, 0x5c
mov esp, ebp
pop ebp
ret 0x1c
call fcn.00421c60
test al, al
je 0x42cbea
mov eax, dword [ebp + 0x78]
mov ecx, dword [ebp + 0x74]
mov edx, dword [ebp + 0x70]
push edi
push eax
push ecx
push edx
push 0
push 0
mov ecx, esi
call fcn.004200d0
mov edi, dword [ebp + 0x6c]
mov ecx, dword [esi + 0x68]
push 0
mov ebx, edi
push 0
sub ebx, eax
call fcn.004200d0
mov ecx, dword [ebp + 0x64]
add ebx, eax
mov eax, dword [ebp + 0x68]
push ebx
push edi
push eax
push ecx
mov ecx, esi
call fcn.0042c770
pop edi
pop esi
pop ebx
add ebp, 0x5c
mov esp, ebp
pop ebp
ret 0x1c
call dword [sym.imp.GDI32.dll_GdiFlush]
mov edx, dword [esi + 8]
add edx, 0x28
test byte [esi + 0x60], bl
mov dword [ebp + 0x58], edx
je 0x42cd70
xor ecx, ecx
mov eax, 0x100010
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x34], ecx
mov ecx, dword [ebp + 0x68]
mov dword [ebp + 0x50], eax
mov dword [ebp + 0x54], eax
mov dword [ebp + 0x48], eax
mov eax, dword [ebp + 0x74]
lea edx, [ecx + eax*4]
mov ecx, dword [ebp + 0x70]
add ecx, eax
mov dword [ebp - 0x30], 0x10001
mov dword [ebp - 0x2c], 0x100001
mov dword [ebp - 0x28], 0x20002
mov dword [ebp - 0x24], 0x200002
mov dword [ebp - 0x20], 0x30003
mov dword [ebp - 0x1c], 0x300003
mov dword [ebp - 0x18], 0x40004
mov dword [ebp - 0x14], 0x400004
mov dword [ebp - 0x10], 0x50005
mov dword [ebp - 0xc], 0x500005
mov dword [ebp - 8], 0x60006
mov dword [ebp - 4], 0x600006
mov dword [ebp], 0x70007
mov dword [ebp + 4], 0x700007
mov dword [ebp + 8], 0x80008
mov dword [ebp + 0xc], 0x800008
mov dword [ebp + 0x10], 0x90009
mov dword [ebp + 0x14], 0x900009
mov dword [ebp + 0x18], 0xa000a
mov dword [ebp + 0x1c], 0xa0000a
mov dword [ebp + 0x20], 0xb000b
mov dword [ebp + 0x24], 0xb0000b
mov dword [ebp + 0x28], 0xc000c
mov dword [ebp + 0x2c], 0xc0000c
mov dword [ebp + 0x30], 0xd000d
mov dword [ebp + 0x34], 0xd0000d
mov dword [ebp + 0x38], 0xe000e
mov dword [ebp + 0x3c], 0xe0000e
mov dword [ebp + 0x40], 0xf000f
mov dword [ebp + 0x44], 0xf0000f
mov dword [ebp + 0x4c], 0x1000010
mov dword [ebp + 0x68], edx
mov dword [ebp + 0x70], ecx
pushfd
cld
pushal
mov eax, dword [ebp + 0x7c]
pxor mm5, mm5
movq mm6, qword [ebp + eax*8 - 0x38]
movq mm7, qword [ebp + 0x50]
psubw mm7, mm6
mov edx, dword [ebp + 0x78]
mov edi, dword [ebp + 0x64]
mov esi, dword [ebp + 0x6c]
mov ebx, dword [ebp + 0x58]
mov ecx, dword [ebp + 0x74]
xor eax, eax
mov al, byte [esi]
inc esi
movd mm1, dword [edi]
movd mm0, dword [ebx + eax*4]
punpcklbw mm1, mm5
punpcklbw mm0, mm5
pmullw mm1, mm7
pmullw mm0, mm6
paddusw mm1, mm0
psrlw mm1, 4
packuswb mm1, mm5
movd dword [edi], mm1
add edi, 4
dec ecx
jne 0x42cd2c
sub edi, dword [ebp + 0x68]
sub esi, dword [ebp + 0x70]
dec edx
jne 0x42cd29
emms
popal
popfd
pop edi
pop esi
pop ebx
add ebp, 0x5c
mov esp, ebp
pop ebp
ret 0x1c
lea eax, [edi - 1]
cmp eax, 0xe
ja case.default.0x42cd7c
jmp dword [eax*4 + 0x42d644]
pushfd
cld
pushal
mov ecx, dword [ebp + 0x78]
mov ebx, dword [ebp + 0x58]
push ecx
mov edi, dword [ebp + 0x64]
mov esi, dword [ebp + 0x6c]
mov ecx, dword [ebp + 0x74]
xor edx, edx
mov dl, byte [esi]
lea eax, [ebx + edx*4]
mov edx, dword [edi]
and edx, 0xff00ff
mov ebx, edx
shl edx, 4
sub edx, ebx
mov ebx, dword [eax]
and ebx, 0xff00ff
add edx, ebx
mov dword [ebp + 0x7c], edx
mov ebx, dword [edi]
and ebx, 0xff00
mov edx, ebx
shl ebx, 4
sub ebx, edx
mov edx, dword [eax]
and edx, 0xff00
add ebx, edx
mov eax, dword [ebp + 0x7c]
and ebx, 0xff0000
and eax, 0xff00ff00
add eax, ebx
add edi, 4
shr eax, 4
inc esi
mov dword [edi - 4], eax
mov ebx, dword [ebp + 0x58]
dec ecx
jne 0x42cd96
mov ecx, dword [ebp + 0x64]
mov eax, dword [ebp + 0x6c]
sub ecx, dword [ebp + 0x68]
sub eax, dword [ebp + 0x70]
mov dword [ebp + 0x64], ecx
mov dword [ebp + 0x6c], eax
pop ecx
dec ecx
jne 0x42cd8c
popal
popfd
pop edi
pop esi
pop ebx
add ebp, 0x5c
mov esp, ebp
pop ebp
ret 0x1c
pushfd
cld
pushal
mov ecx, dword [ebp + 0x78]
mov ebx, dword [ebp + 0x58]
push ecx
mov edi, dword [ebp + 0x64]
mov esi, dword [ebp + 0x6c]
mov ecx, dword [ebp + 0x74]
xor edx, edx
mov dl, byte [esi]
lea eax, [ebx + edx*4]
mov edx, dword [edi]
and edx, 0xff00ff
mov ebx, edx
shl edx, 3
sub edx, ebx
mov ebx, dword [eax]
and ebx, 0xff00ff
add edx, ebx
add edx, edx
mov dword [ebp + 0x7c], edx
mov ebx, dword [edi]
and ebx, 0xff00
mov edx, ebx
shl ebx, 3
sub ebx, edx
mov edx, dword [eax]
and edx, 0xff00
add ebx, edx
add ebx, ebx
mov eax, dword [ebp + 0x7c]
and ebx, 0xff0000
and eax, 0xff00ff00
add eax, ebx
add edi, 4
shr eax, 4
inc esi
mov dword [edi - 4], eax
mov ebx, dword [ebp + 0x58]
dec ecx
jne 0x42ce29
mov ecx, dword [ebp + 0x64]
mov eax, dword [ebp + 0x6c]
sub ecx, dword [ebp + 0x68]
sub eax, dword [ebp + 0x70]
mov dword [ebp + 0x64], ecx
mov dword [ebp + 0x6c], eax
pop ecx
dec ecx
jne 0x42ce1f
popal
popfd
pop edi
pop esi
pop ebx
add ebp, 0x5c
mov esp, ebp
pop ebp
ret 0x1c
pushfd
cld
pushal
mov ecx, dword [ebp + 0x78]
mov ebx, dword [ebp + 0x58]
push ecx
mov edi, dword [ebp + 0x64]
mov esi, dword [ebp + 0x6c]
mov ecx, dword [ebp + 0x74]
xor edx, edx
mov dl, byte [esi]
lea eax, [ebx + edx*4]
mov edx, dword [edi]
and edx, 0xff00ff
mov ebx, edx
lea edx, [edx + edx*4]
lea edx, [edx + ebx*8]
mov ebx, dword [eax]
and ebx, 0xff00ff
lea ebx, [ebx + ebx*2]
add edx, ebx
mov dword [ebp + 0x7c], edx
mov edx, dword [edi]
and edx, 0xff00
mov ebx, edx
lea ebx, [ebx + ebx*4]
lea edx, [ebx + edx*8]
mov ebx, dword [eax]
and ebx, 0xff00
lea eax, [ebx + ebx*2]
add edx, eax
mov eax, dword [ebp + 0x7c]
and edx, 0xff0000
and eax, 0xff00ff00
add eax, edx
add edi, 4
shr eax, 4
inc esi
mov dword [edi - 4], eax
mov ebx, dword [ebp + 0x58]
dec ecx
jne 0x42cec0
mov ecx, dword [ebp + 0x64]
mov eax, dword [ebp + 0x6c]
sub ecx, dword [ebp + 0x68]
sub eax, dword [ebp + 0x70]
mov dword [ebp + 0x64], ecx
mov dword [ebp + 0x6c], eax
pop ecx
dec ecx
jne 0x42ceb6
popal
popfd
pop edi
pop esi
pop ebx
add ebp, 0x5c
mov esp, ebp
pop ebp
ret 0x1c
pushfd
cld
pushal
mov ecx, dword [ebp + 0x78]
mov ebx, dword [ebp + 0x58]
push ecx
mov edi, dword [ebp + 0x64]
mov esi, dword [ebp + 0x6c]
mov ecx, dword [ebp + 0x74]
xor edx, edx
mov dl, byte [esi]
lea eax, [ebx + edx*4]
mov edx, dword [edi]
and edx, 0xff00ff
lea edx, [edx + edx*2]
mov ebx, dword [eax]
and ebx, 0xff00ff
add edx, ebx
shl edx, 2
mov ebx, dword [edi]
and ebx, 0xff00
lea ebx, [ebx + ebx*2]
mov eax, dword [eax]
and eax, 0xff00
add eax, ebx
shl eax, 2
and eax, 0xff0000
and edx, 0xff00ff00
add eax, edx
add edi, 4
shr eax, 4
inc esi
mov dword [edi - 4], eax
mov ebx, dword [ebp + 0x58]
dec ecx
jne 0x42cf5f
mov ecx, dword [ebp + 0x64]
mov eax, dword [ebp + 0x6c]
sub ecx, dword [ebp + 0x68]
sub eax, dword [ebp + 0x70]
mov dword [ebp + 0x64], ecx
mov dword [ebp + 0x6c], eax
pop ecx
dec ecx
jne 0x42cf55
popal
popfd
pop edi
pop esi
pop ebx
add ebp, 0x5c
mov esp, ebp
pop ebp
ret 0x1c
pushfd
cld
pushal
mov ecx, dword [ebp + 0x78]
mov ebx, dword [ebp + 0x58]
push ecx
mov edi, dword [ebp + 0x64]
mov esi, dword [ebp + 0x6c]
mov ecx, dword [ebp + 0x74]
xor edx, edx
mov dl, byte [esi]
lea eax, [ebx + edx*4]
mov edx, dword [edi]
and edx, 0xff00ff
mov ebx, edx
lea edx, [edx + edx*2]
lea ebx, [edx + ebx*8]
mov edx, dword [eax]
and edx, 0xff00ff
lea edx, [edx + edx*4]
add edx, ebx
mov ebx, dword [edi]
mov dword [ebp + 0x7c], edx
and ebx, 0xff00
mov edx, ebx
lea ebx, [ebx + ebx*2]
lea edx, [ebx + edx*8]
mov ebx, dword [eax]
and ebx, 0xff00
lea ebx, [ebx + ebx*4]
add edx, ebx
mov eax, dword [ebp + 0x7c]
and edx, 0xff0000
and eax, 0xff00ff00
add eax, edx
add edi, 4
shr eax, 4
inc esi
mov dword [edi - 4], eax
mov ebx, dword [ebp + 0x58]
dec ecx
jne 0x42cfe9
mov ecx, dword [ebp + 0x64]
mov eax, dword [ebp + 0x6c]
sub ecx, dword [ebp + 0x68]
sub eax, dword [ebp + 0x70]
mov dword [ebp + 0x64], ecx
mov dword [ebp + 0x6c], eax
pop ecx
dec ecx
jne 0x42cfdf
popal
popfd
pop edi
pop esi
pop ebx
add ebp, 0x5c
mov esp, ebp
pop ebp
ret 0x1c
pushfd
cld
pushal
mov ecx, dword [ebp + 0x78]
mov ebx, dword [ebp + 0x58]
push ecx
mov edi, dword [ebp + 0x64]
mov esi, dword [ebp + 0x6c]
mov ecx, dword [ebp + 0x74]
xor edx, edx
mov dl, byte [esi]
lea eax, [ebx + edx*4]
mov edx, dword [edi]
and edx, 0xff00ff
lea edx, [edx + edx*4]
mov ebx, dword [eax]
and ebx, 0xff00ff
lea ebx, [ebx + ebx*2]
add edx, ebx
add edx, edx
mov ebx, dword [edi]
and ebx, 0xff00
lea ebx, [ebx + ebx*4]
mov eax, dword [eax]
and eax, 0xff00
lea eax, [eax + eax*2]
add eax, ebx
add eax, eax
and eax, 0xff0000
and edx, 0xff00ff00
add eax, edx
add edi, 4
shr eax, 4
inc esi
mov dword [edi - 4], eax
mov ebx, dword [ebp + 0x58]
dec ecx
jne 0x42d088
mov ecx, dword [ebp + 0x64]
mov eax, dword [ebp + 0x6c]
sub ecx, dword [ebp + 0x68]
sub eax, dword [ebp + 0x70]
mov dword [ebp + 0x64], ecx
mov dword [ebp + 0x6c], eax
pop ecx
dec ecx
jne 0x42d07e
popal
popfd
pop edi
pop esi
pop ebx
add ebp, 0x5c
mov esp, ebp
pop ebp
ret 0x1c
pushfd
cld
pushal
mov ecx, dword [ebp + 0x78]
mov ebx, dword [ebp + 0x58]
push ecx
mov edi, dword [ebp + 0x64]
mov esi, dword [ebp + 0x6c]
mov ecx, dword [ebp + 0x74]
xor edx, edx
mov dl, byte [esi]
lea eax, [ebx + edx*4]
mov ebx, dword [eax]
and ebx, 0xff00ff
mov edx, ebx
lea ebx, [ebx*8]
sub ebx, edx
mov edx, dword [edi]
and edx, 0xff00ff
mov eax, dword [eax]
lea edx, [edx + edx*8]
and eax, 0xff00
add edx, ebx
mov ebx, eax
lea eax, [eax*8]
sub eax, ebx
mov ebx, dword [edi]
and ebx, 0xff00
lea ebx, [ebx + ebx*8]
add eax, ebx
and edx, 0xff00ff00
and eax, 0xff0000
add eax, edx
add edi, 4
shr eax, 4
inc esi
mov dword [edi - 4], eax
mov ebx, dword [ebp + 0x58]
dec ecx
jne 0x42d116
mov ecx, dword [ebp + 0x64]
mov eax, dword [ebp + 0x6c]
sub ecx, dword [ebp + 0x68]
sub eax, dword [ebp + 0x70]
mov dword [ebp + 0x64], ecx
mov dword [ebp + 0x6c], eax
pop ecx
dec ecx
jne 0x42d10c
popal
popfd
pop edi
pop esi
pop ebx
add ebp, 0x5c
mov esp, ebp
pop ebp
ret 0x1c
pushfd
cld
pushal
mov ecx, dword [ebp + 0x78]
mov ebx, dword [ebp + 0x58]
push ecx
mov edi, dword [ebp + 0x64]
mov esi, dword [ebp + 0x6c]
mov ecx, dword [ebp + 0x74]
xor edx, edx
mov dl, byte [esi]
lea eax, [ebx + edx*4]
mov edx, dword [edi]
mov ebx, dword [eax]
and edx, 0xff00ff
and ebx, 0xff00ff
add edx, ebx
lea edx, [edx*8]
mov ebx, dword [edi]
mov eax, dword [eax]
and ebx, 0xff00
and eax, 0xff00
add eax, ebx
lea eax, [eax*8]
and edx, 0xff00ff00
and eax, 0xff0000
add eax, edx
add edi, 4
shr eax, 4
inc esi
mov dword [edi - 4], eax
mov ebx, dword [ebp + 0x58]
dec ecx
jne 0x42d1b4
mov ecx, dword [ebp + 0x64]
mov eax, dword [ebp + 0x6c]
sub ecx, dword [ebp + 0x68]
sub eax, dword [ebp + 0x70]
mov dword [ebp + 0x64], ecx
mov dword [ebp + 0x6c], eax
pop ecx
dec ecx
jne 0x42d1aa
popal
popfd
pop edi
pop esi
pop ebx
add ebp, 0x5c
mov esp, ebp
pop ebp
ret 0x1c
pushfd
cld
pushal
mov ecx, dword [ebp + 0x78]
mov ebx, dword [ebp + 0x58]
push ecx
mov edi, dword [ebp + 0x64]
mov esi, dword [ebp + 0x6c]
mov ecx, dword [ebp + 0x74]
xor edx, edx
mov dl, byte [esi]
lea eax, [ebx + edx*4]
mov edx, dword [edi]
and edx, 0xff00ff
mov ebx, edx
lea edx, [edx*8]
sub edx, ebx
mov ebx, dword [eax]
and ebx, 0xff00ff
lea ebx, [ebx + ebx*8]
add edx, ebx
mov dword [ebp + 0x7c], edx
mov ebx, dword [edi]
and ebx, 0xff00
mov edx, ebx
lea ebx, [ebx*8]
sub ebx, edx
mov eax, dword [eax]
and eax, 0xff00
lea eax, [eax + eax*8]
add eax, ebx
mov edx, dword [ebp + 0x7c]
and eax, 0xff0000
and edx, 0xff00ff00
add eax, edx
add edi, 4
shr eax, 4
inc esi
mov dword [edi - 4], eax
mov ebx, dword [ebp + 0x58]
dec ecx
jne 0x42d240
mov ecx, dword [ebp + 0x64]
mov eax, dword [ebp + 0x6c]
sub ecx, dword [ebp + 0x68]
sub eax, dword [ebp + 0x70]
mov dword [ebp + 0x64], ecx
mov dword [ebp + 0x6c], eax
pop ecx
dec ecx
jne 0x42d236
popal
popfd
pop edi
pop esi
pop ebx
add ebp, 0x5c
mov esp, ebp
pop ebp
ret 0x1c
pushfd
cld
pushal
mov ecx, dword [ebp + 0x78]
mov ebx, dword [ebp + 0x58]
push ecx
mov edi, dword [ebp + 0x64]
mov esi, dword [ebp + 0x6c]
mov ecx, dword [ebp + 0x74]
xor edx, edx
mov dl, byte [esi]
lea eax, [ebx + edx*4]
mov edx, dword [edi]
and edx, 0xff00ff
lea edx, [edx + edx*2]
mov ebx, dword [eax]
and ebx, 0xff00ff
lea ebx, [ebx + ebx*4]
add edx, ebx
add edx, edx
mov ebx, dword [edi]
and ebx, 0xff00
lea ebx, [ebx + ebx*2]
mov eax, dword [eax]
and eax, 0xff00
lea eax, [eax + eax*4]
add eax, ebx
add eax, eax
and eax, 0xff0000
and edx, 0xff00ff00
add eax, edx
add edi, 4
shr eax, 4
inc esi
mov dword [edi - 4], eax
mov ebx, dword [ebp + 0x58]
dec ecx
jne 0x42d2e4
mov ecx, dword [ebp + 0x64]
mov eax, dword [ebp + 0x6c]
sub ecx, dword [ebp + 0x68]
sub eax, dword [ebp + 0x70]
mov dword [ebp + 0x64], ecx
mov dword [ebp + 0x6c], eax
pop ecx
dec ecx
jne 0x42d2da
popal
popfd
pop edi
pop esi
pop ebx
add ebp, 0x5c
mov esp, ebp
pop ebp
ret 0x1c
pushfd
cld
pushal
mov ecx, dword [ebp + 0x78]
mov ebx, dword [ebp + 0x58]
push ecx
mov edi, dword [ebp + 0x64]
mov esi, dword [ebp + 0x6c]
mov ecx, dword [ebp + 0x74]
xor edx, edx
mov dl, byte [esi]
lea eax, [ebx + edx*4]
mov edx, dword [eax]
and edx, 0xff00ff
mov ebx, edx
lea edx, [edx + edx*2]
lea ebx, [edx + ebx*8]
mov edx, dword [edi]
and edx, 0xff00ff
lea edx, [edx + edx*4]
add edx, ebx
mov eax, dword [eax]
and eax, 0xff00
mov ebx, eax
lea ebx, [ebx + ebx*2]
lea eax, [ebx + eax*8]
mov ebx, dword [edi]
and ebx, 0xff00
lea ebx, [ebx + ebx*4]
add eax, ebx
and edx, 0xff00ff00
and eax, 0xff0000
add eax, edx
add edi, 4
shr eax, 4
inc esi
mov dword [edi - 4], eax
mov ebx, dword [ebp + 0x58]
dec ecx
jne 0x42d372
mov ecx, dword [ebp + 0x64]
mov eax, dword [ebp + 0x6c]
sub ecx, dword [ebp + 0x68]
sub eax, dword [ebp + 0x70]
mov dword [ebp + 0x64], ecx
mov dword [ebp + 0x6c], eax
pop ecx
dec ecx
jne 0x42d368
popal
popfd
pop edi
pop esi
pop ebx
add ebp, 0x5c
mov esp, ebp
pop ebp
ret 0x1c
pushfd
cld
pushal
mov ecx, dword [ebp + 0x78]
mov ebx, dword [ebp + 0x58]
push ecx
mov edi, dword [ebp + 0x64]
mov esi, dword [ebp + 0x6c]
mov ecx, dword [ebp + 0x74]
xor edx, edx
mov dl, byte [esi]
lea eax, [ebx + edx*4]
mov edx, dword [edi]
mov ebx, dword [eax]
and ebx, 0xff00ff
and edx, 0xff00ff
lea ebx, [ebx + ebx*2]
add edx, ebx
lea edx, [edx*4]
mov eax, dword [eax]
mov ebx, dword [edi]
and eax, 0xff00
and ebx, 0xff00
lea eax, [eax + eax*2]
add eax, ebx
lea eax, [eax*4]
and edx, 0xff00ff00
and eax, 0xff0000
add eax, edx
add edi, 4
shr eax, 4
inc esi
mov dword [edi - 4], eax
mov ebx, dword [ebp + 0x58]
dec ecx
jne 0x42d406
mov ecx, dword [ebp + 0x64]
mov eax, dword [ebp + 0x6c]
sub ecx, dword [ebp + 0x68]
sub eax, dword [ebp + 0x70]
mov dword [ebp + 0x64], ecx
mov dword [ebp + 0x6c], eax
pop ecx
dec ecx
jne 0x42d3fc
popal
popfd
pop edi
pop esi
pop ebx
add ebp, 0x5c
mov esp, ebp
pop ebp
ret 0x1c
pushfd
cld
pushal
mov ecx, dword [ebp + 0x78]
mov ebx, dword [ebp + 0x58]
push ecx
mov edi, dword [ebp + 0x64]
mov esi, dword [ebp + 0x6c]
mov ecx, dword [ebp + 0x74]
xor edx, edx
mov dl, byte [esi]
lea eax, [ebx + edx*4]
mov edx, dword [eax]
and edx, 0xff00ff
mov ebx, edx
lea edx, [edx + edx*4]
lea edx, [edx + ebx*8]
mov ebx, dword [edi]
and ebx, 0xff00ff
mov eax, dword [eax]
lea ebx, [ebx + ebx*2]
and eax, 0xff00
add edx, ebx
mov ebx, eax
lea ebx, [ebx + ebx*4]
lea eax, [ebx + eax*8]
mov ebx, dword [edi]
and ebx, 0xff00
lea ebx, [ebx + ebx*2]
add eax, ebx
and edx, 0xff00ff00
and eax, 0xff0000
add eax, edx
add edi, 4
shr eax, 4
inc esi
mov dword [edi - 4], eax
mov ebx, dword [ebp + 0x58]
dec ecx
jne 0x42d498
mov ecx, dword [ebp + 0x64]
mov eax, dword [ebp + 0x6c]
sub ecx, dword [ebp + 0x68]
sub eax, dword [ebp + 0x70]
mov dword [ebp + 0x64], ecx
mov dword [ebp + 0x6c], eax
pop ecx
dec ecx
jne 0x42d48e
popal
popfd
pop edi
pop esi
pop ebx
add ebp, 0x5c
mov esp, ebp
pop ebp
ret 0x1c
pushfd
cld
pushal
mov ecx, dword [ebp + 0x78]
mov ebx, dword [ebp + 0x58]
push ecx
mov edi, dword [ebp + 0x64]
mov esi, dword [ebp + 0x6c]
mov ecx, dword [ebp + 0x74]
xor edx, edx
mov dl, byte [esi]
lea eax, [ebx + edx*4]
mov edx, dword [eax]
and edx, 0xff00ff
mov ebx, edx
lea edx, [edx*8]
sub edx, ebx
mov ebx, dword [edi]
and ebx, 0xff00ff
add edx, ebx
add edx, edx
mov eax, dword [eax]
and eax, 0xff00
mov ebx, eax
lea eax, [eax*8]
sub eax, ebx
mov ebx, dword [edi]
and ebx, 0xff00
add eax, ebx
add eax, eax
and edx, 0xff00ff00
and eax, 0xff0000
add eax, edx
add edi, 4
shr eax, 4
inc esi
mov dword [edi - 4], eax
mov ebx, dword [ebp + 0x58]
dec ecx
jne 0x42d52c
mov ecx, dword [ebp + 0x64]
mov eax, dword [ebp + 0x6c]
sub ecx, dword [ebp + 0x68]
sub eax, dword [ebp + 0x70]
mov dword [ebp + 0x64], ecx
mov dword [ebp + 0x6c], eax
pop ecx
dec ecx
jne 0x42d522
popal
popfd
pop edi
pop esi
pop ebx
add ebp, 0x5c
mov esp, ebp
pop ebp
ret 0x1c
pushfd
cld
pushal
mov ecx, dword [ebp + 0x78]
mov ebx, dword [ebp + 0x58]
push ecx
mov edi, dword [ebp + 0x64]
mov esi, dword [ebp + 0x6c]
mov ecx, dword [ebp + 0x74]
xor edx, edx
mov dl, byte [esi]
lea eax, [ebx + edx*4]
mov edx, dword [eax]
and edx, 0xff00ff
mov ebx, edx
shl edx, 4
sub edx, ebx
mov ebx, dword [edi]
and ebx, 0xff00ff
add edx, ebx
mov eax, dword [eax]
and eax, 0xff00
mov ebx, eax
shl eax, 4
sub eax, ebx
mov ebx, dword [edi]
and ebx, 0xff00
add eax, ebx
and edx, 0xff00ff00
and eax, 0xff0000
add eax, edx
add edi, 4
shr eax, 4
inc esi
mov dword [edi - 4], eax
mov ebx, dword [ebp + 0x58]
dec ecx
jne 0x42d5c8
mov ecx, dword [ebp + 0x64]
mov eax, dword [ebp + 0x6c]
sub ecx, dword [ebp + 0x68]
sub eax, dword [ebp + 0x70]
mov dword [ebp + 0x64], ecx
mov dword [ebp + 0x6c], eax
pop ecx
dec ecx
jne 0x42d5be
popal
popfd
pop edi
pop esi
pop ebx
add ebp, 0x5c
mov esp, ebp
pop ebp
ret 0x1c