Function at 0x42c770
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
lea ebp, [esp - 0x58]
sub esp, 0x98
push ebx
mov ebx, dword [ebp + 0x7c]
push esi
push edi
xor edi, edi
cmp ebx, edi
mov esi, ecx
je 0x42ca96
test byte [esi + 0x6c], 2
je 0x42c7d2
cmp ebx, 0x10
jl 0x42c79f
mov ebx, 0x100
jmp 0x42c7a2
shl ebx, 4
mov eax, dword [ebp + 0x78]
mov ecx, dword [ebp + 0x74]
mov edx, dword [ebp + 0x70]
push ebx
push eax
mov eax, dword [ebp + 0x6c]
push ecx
mov ecx, dword [ebp + 0x68]
push edx
mov edx, dword [ebp + 0x64]
push eax
mov eax, dword [ebp + 0x60]
push ecx
push edx
push eax
mov ecx, esi
call fcn.004255f0
pop edi
pop esi
pop ebx
add ebp, 0x58
mov esp, ebp
pop ebp
ret 0x20
cmp ebx, 0x10
jl 0x42c806
mov ecx, dword [ebp + 0x78]
mov edx, dword [ebp + 0x74]
mov eax, dword [ebp + 0x70]
push ecx
mov ecx, dword [ebp + 0x6c]
push edx
mov edx, dword [ebp + 0x68]
push eax
mov eax, dword [ebp + 0x64]
push ecx
mov ecx, dword [ebp + 0x60]
push edx
push eax
push ecx
mov ecx, esi
call fcn.00428880
pop edi
pop esi
pop ebx
add ebp, 0x58
mov esp, ebp
pop ebp
ret 0x20
call dword [sym.imp.GDI32.dll_GdiFlush]
mov eax, dword [esi + 8]
add eax, 0x28
test byte [esi + 0x60], 1
mov dword [ebp + 0x50], eax
je 0x42c9ce
mov edx, dword [ebp + 0x6c]
sub edx, dword [ebp + 0x68]
mov ecx, dword [ebp + 0x64]
mov eax, 0x100010
mov dword [ebp + 0x48], eax
mov dword [ebp + 0x4c], eax
mov dword [ebp + 0x40], eax
mov eax, dword [ebp + 0x74]
mov dword [ebp + 0x54], edx
lea edx, [ecx + eax*4]
mov ecx, dword [ebp + 0x70]
add ecx, eax
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x38], 0x10001
mov dword [ebp - 0x34], 0x100001
mov dword [ebp - 0x30], 0x20002
mov dword [ebp - 0x2c], 0x200002
mov dword [ebp - 0x28], 0x30003
mov dword [ebp - 0x24], 0x300003
mov dword [ebp - 0x20], 0x40004
mov dword [ebp - 0x1c], 0x400004
mov dword [ebp - 0x18], 0x50005
mov dword [ebp - 0x14], 0x500005
mov dword [ebp - 0x10], 0x60006
mov dword [ebp - 0xc], 0x600006
mov dword [ebp - 8], 0x70007
mov dword [ebp - 4], 0x700007
mov dword [ebp], 0x80008
mov dword [ebp + 4], 0x800008
mov dword [ebp + 8], 0x90009
mov dword [ebp + 0xc], 0x900009
mov dword [ebp + 0x10], 0xa000a
mov dword [ebp + 0x14], 0xa0000a
mov dword [ebp + 0x18], 0xb000b
mov dword [ebp + 0x1c], 0xb0000b
mov dword [ebp + 0x20], 0xc000c
mov dword [ebp + 0x24], 0xc0000c
mov dword [ebp + 0x28], 0xd000d
mov dword [ebp + 0x2c], 0xd0000d
mov dword [ebp + 0x30], 0xe000e
mov dword [ebp + 0x34], 0xe0000e
mov dword [ebp + 0x38], 0xf000f
mov dword [ebp + 0x3c], 0xf0000f
mov dword [ebp + 0x44], 0x1000010
mov dword [ebp + 0x6c], edx
mov dword [ebp + 0x70], ecx
pushfd
cld
pushal
pxor mm5, mm5
movq mm2, qword [ebp + 0x48]
mov edx, dword [ebp + 0x78]
mov edi, dword [ebp + 0x60]
mov esi, dword [ebp + 0x68]
mov ecx, dword [ebp + 0x7c]
push edx
mov ebx, dword [ebp + 0x54]
mov edx, dword [ebp + 0x74]
add ebx, esi
xor eax, eax
mov al, byte [ebx]
cmp eax, ecx
jb 0x42c952
mov eax, ecx
test eax, 0xf
jne 0x42c973
inc ebx
inc esi
or eax, eax
je 0x42c9ae
xor eax, eax
mov ebx, dword [ebp + 0x50]
mov al, byte [esi - 1]
mov eax, dword [ebx + eax*4]
mov ebx, dword [ebp + 0x54]
mov dword [edi], eax
add ebx, esi
jmp 0x42c9ae
movq mm6, qword [ebp + eax*8 - 0x40]
xor eax, eax
mov ebx, dword [ebp + 0x50]
mov al, byte [esi]
movd mm1, dword [edi]
movd mm0, dword [ebx + eax*4]
punpcklbw mm1, mm5
punpcklbw mm0, mm5
movq mm7, mm2
psubw mm7, mm6
mov ebx, dword [ebp + 0x54]
inc esi
pmullw mm0, mm6
pmullw mm1, mm7
paddusw mm1, mm0
psrlw mm1, 4
packuswb mm1, mm5
add ebx, esi
movd dword [edi], mm1
add edi, 4
dec edx
jne 0x42c948
sub esi, dword [ebp + 0x70]
pop edx
sub edi, dword [ebp + 0x6c]
dec edx
jne 0x42c93f
emms
popal
popfd
pop edi
pop esi
pop ebx
add ebp, 0x58
mov esp, ebp
pop ebp
ret 0x20
mov eax, dword [ebp + 0x78]
cmp eax, edi
jle 0x42ca96
mov edi, dword [ebp + 0x74]
mov esi, dword [ebp + 0x70]
mov dword [ebp + 0x54], eax
test edi, edi
mov eax, dword [ebp + 0x60]
mov edx, dword [ebp + 0x68]
mov ecx, dword [ebp + 0x6c]
jle 0x42ca80
mov dword [ebp + 0x78], edi
jmp 0x42ca03
mov ecx, dword [ebp + 0x4c]
movzx edi, byte [ecx]
add ecx, 1
cmp edi, ebx
mov dword [ebp + 0x4c], ecx
jle 0x42ca12
mov edi, ebx
movzx ecx, byte [edx]
mov esi, dword [ebp + 0x50]
movzx ebx, byte [esi + ecx*4]
lea esi, [esi + ecx*4]
movzx ecx, byte [eax]
sub ebx, ecx
imul ebx, edi
shl ecx, 4
add ebx, ecx
sar ebx, 4
mov byte [eax], bl
movzx ecx, byte [eax + 1]
movzx ebx, byte [esi + 1]
sub ebx, ecx
add eax, 1
imul ebx, edi
shl ecx, 4
add ebx, ecx
sar ebx, 4
mov byte [eax], bl
movzx ecx, byte [eax + 1]
movzx ebx, byte [esi + 2]
add eax, 1
sub ebx, ecx
imul ebx, edi
shl ecx, 4
add ebx, ecx
sar ebx, 4
mov byte [eax], bl
mov ebx, dword [ebp + 0x7c]
add eax, 1
mov byte [eax], 0
add edx, 1
add eax, 1
sub dword [ebp + 0x78], 1
jne 0x42ca00
mov esi, dword [ebp + 0x70]
mov edi, dword [ebp + 0x74]
mov edx, dword [ebp + 0x64]
sub dword [ebp + 0x60], edx
sub dword [ebp + 0x68], esi
sub dword [ebp + 0x6c], esi
sub dword [ebp + 0x54], 1
jne 0x42c9e2
pop edi
pop esi
pop ebx
add ebp, 0x58
mov esp, ebp
pop ebp
ret 0x20