Function at 0x4250b0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
lea ebp, [esp - 0x58]
sub esp, 0x9c
push ebx
mov ebx, dword [ebp + 0x78]
push esi
push edi
xor edi, edi
cmp ebx, edi
mov esi, ecx
jle 0x4255d8
cmp ebx, 0x10
jle 0x4250da
mov ebx, 0x10
mov dword [ebp + 0x78], ebx
call dword [sym.imp.GDI32.dll_GdiFlush]
mov eax, dword [esi + 8]
mov ecx, dword [ebp + 0x70]
add eax, 0x28
mov dword [ebp + 0x50], eax
mov eax, dword [ebp + 0x64]
lea edx, [eax + ecx*4]
mov eax, dword [ebp + 0x6c]
add eax, ecx
test byte [esi + 0x60], 1
mov dword [ebp + 0x4c], edx
mov dword [ebp + 0x54], eax
je 0x425429
cmp dword [ebp + 0x7c], edi
mov eax, 0x100010
mov dword [ebp + 0x44], eax
mov dword [ebp + 0x48], eax
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x34], 0x20002
mov dword [ebp - 0x30], 0x200002
mov dword [ebp - 0x2c], 0x30003
mov dword [ebp - 0x28], 0x300003
mov dword [ebp - 0x24], 0x40004
mov dword [ebp - 0x20], 0x400004
mov dword [ebp - 0x1c], 0x50005
mov dword [ebp - 0x18], 0x500005
mov dword [ebp - 0x14], 0x60006
mov dword [ebp - 0x10], 0x600006
mov dword [ebp - 0xc], 0x70007
mov dword [ebp - 8], 0x700007
mov dword [ebp - 4], 0x80008
mov dword [ebp], 0x800008
mov dword [ebp + 4], 0x90009
mov dword [ebp + 8], 0x900009
mov dword [ebp + 0xc], 0xa000a
mov dword [ebp + 0x10], 0xa0000a
mov dword [ebp + 0x14], 0xb000b
mov dword [ebp + 0x18], 0xb0000b
mov dword [ebp + 0x1c], 0xc000c
mov dword [ebp + 0x20], 0xc0000c
mov dword [ebp + 0x24], 0xd000d
mov dword [ebp + 0x28], 0xd0000d
mov dword [ebp + 0x2c], 0xe000e
mov dword [ebp + 0x30], 0xe0000e
mov dword [ebp + 0x34], 0xf000f
mov dword [ebp + 0x38], 0xf0000f
mov dword [ebp + 0x3c], eax
mov dword [ebp + 0x40], 0x1000010
jl 0x425314
cmp ebx, 0x10
jne 0x425285
pushfd
cld
pushal
pxor mm5, mm5
movq mm2, qword [ebp + 0x44]
movq mm6, mm2
movq mm7, mm2
mov edi, dword [ebp + 0x60]
mov esi, dword [ebp + 0x68]
mov edx, dword [ebp + 0x74]
mov ebx, dword [ebp + 0x50]
mov ecx, dword [ebp + 0x70]
xor eax, eax
mov al, byte [esi]
inc esi
cmp eax, dword [ebp + 0x7c]
je 0x425266
movd mm0, dword [ebx + eax*4]
movd mm1, dword [edi]
test eax, 0x80
jne 0x425263
and eax, 0xf
inc eax
movq mm6, qword [ebp + eax*8 - 0x44]
punpcklbw mm1, mm5
psubw mm7, mm6
punpcklbw mm0, mm5
pmullw mm0, mm6
pmullw mm1, mm7
paddusw mm1, mm0
psrlw mm1, 4
packuswb mm1, mm5
movq mm0, mm1
movq mm6, mm2
movq mm7, mm2
movd dword [edi], mm0
add edi, 4
dec ecx
jne 0x42521d
sub esi, dword [ebp + 0x54]
sub edi, dword [ebp + 0x4c]
dec edx
jne 0x42521a
emms
popal
popfd
pop edi
pop esi
pop ebx
add ebp, 0x58
mov esp, ebp
pop ebp
ret 0x20
pushfd
cld
pushal
pxor mm5, mm5
movq mm2, qword [ebp + 0x44]
movq mm6, mm2
movq mm7, mm2
mov edi, dword [ebp + 0x60]
mov esi, dword [ebp + 0x68]
mov edx, dword [ebp + 0x74]
mov ebx, dword [ebp + 0x50]
mov ecx, dword [ebp + 0x70]
xor eax, eax
mov al, byte [esi]
inc esi
cmp eax, dword [ebp + 0x7c]
je 0x4252f5
movd mm0, dword [ebx + eax*4]
movd mm1, dword [edi]
test eax, 0x80
jne 0x4252c5
and eax, 0xf
inc eax
cmp eax, dword [ebp + 0x78]
jbe 0x4252c8
mov eax, dword [ebp + 0x78]
movq mm6, qword [ebp + eax*8 - 0x44]
punpcklbw mm1, mm5
psubw mm7, mm6
punpcklbw mm0, mm5
pmullw mm0, mm6
pmullw mm1, mm7
paddusw mm1, mm0
psrlw mm1, 4
packuswb mm1, mm5
movq mm0, mm1
movq mm6, mm2
movq mm7, mm2
movd dword [edi], mm0
add edi, 4
dec ecx
jne 0x4252a4
sub esi, dword [ebp + 0x54]
sub edi, dword [ebp + 0x4c]
dec edx
jne 0x4252a1
emms
popal
popfd
pop edi
pop esi
pop ebx
add ebp, 0x58
mov esp, ebp
pop ebp
ret 0x20
cmp ebx, 0x10
jne 0x42539f
pushfd
cld
pushal
pxor mm5, mm5
movq mm2, qword [ebp + 0x44]
movq mm6, mm2
movq mm7, mm2
mov edi, dword [ebp + 0x60]
mov esi, dword [ebp + 0x68]
mov edx, dword [ebp + 0x74]
mov ebx, dword [ebp + 0x50]
mov ecx, dword [ebp + 0x70]
xor eax, eax
mov al, byte [esi]
inc esi
movd mm0, dword [ebx + eax*4]
movd mm1, dword [edi]
test eax, 0x80
jne 0x42537d
and eax, 0xf
inc eax
movq mm6, qword [ebp + eax*8 - 0x44]
punpcklbw mm1, mm5
psubw mm7, mm6
punpcklbw mm0, mm5
pmullw mm0, mm6
pmullw mm1, mm7
paddusw mm1, mm0
psrlw mm1, 4
packuswb mm1, mm5
movq mm0, mm1
movq mm6, mm2
movq mm7, mm2
movd dword [edi], mm0
add edi, 4
dec ecx
jne 0x42533c
sub esi, dword [ebp + 0x54]
sub edi, dword [ebp + 0x4c]
dec edx
jne 0x425339
emms
popal
popfd
pop edi
pop esi
pop ebx
add ebp, 0x58
mov esp, ebp
pop ebp
ret 0x20
pushfd
cld
pushal
pxor mm5, mm5
movq mm2, qword [ebp + 0x44]
movq mm6, mm2
movq mm7, mm2
mov edi, dword [ebp + 0x60]
mov esi, dword [ebp + 0x68]
mov edx, dword [ebp + 0x74]
mov ebx, dword [ebp + 0x50]
mov ecx, dword [ebp + 0x70]
xor eax, eax
mov al, byte [esi]
inc esi
movd mm0, dword [ebx + eax*4]
movd mm1, dword [edi]
test eax, 0x80
jne 0x4253da
and eax, 0xf
inc eax
cmp eax, dword [ebp + 0x78]
jbe 0x4253dd
mov eax, dword [ebp + 0x78]
movq mm6, qword [ebp + eax*8 - 0x44]
punpcklbw mm1, mm5
psubw mm7, mm6
punpcklbw mm0, mm5
pmullw mm0, mm6
pmullw mm1, mm7
paddusw mm1, mm0
psrlw mm1, 4
packuswb mm1, mm5
movq mm0, mm1
movq mm6, mm2
movq mm7, mm2
movd dword [edi], mm0
add edi, 4
dec ecx
jne 0x4253be
sub esi, dword [ebp + 0x54]
sub edi, dword [ebp + 0x4c]
dec edx
jne 0x4253bb
emms
popal
popfd
pop edi
pop esi
pop ebx
add ebp, 0x58
mov esp, ebp
pop ebp
ret 0x20
cmp dword [ebp + 0x7c], edi
mov eax, dword [ebp + 0x74]
jl 0x425509
cmp eax, edi
jle 0x4255d8
mov dword [ebp + 0x54], eax
test ecx, ecx
mov eax, dword [ebp + 0x60]
mov edx, dword [ebp + 0x68]
jle 0x425497
mov dword [ebp + 0x74], ecx
lea ecx, [ecx]
mov cl, byte [edx]
add edx, 1
cmp cl, byte [ebp + 0x7c]
je 0x42548b
test cl, cl
jns 0x425465
mov esi, 0x10
jmp 0x425470
movzx ebx, cl
and ebx, 0xf
add ebx, 1
mov esi, ebx
mov edi, dword [ebp + 0x78]
cmp esi, edi
jle 0x425479
mov esi, edi
cmp esi, 0x10
mov edi, dword [ebp + 0x50]
movzx ecx, cl
lea edi, [edi + ecx*4]
jne 0x4254b5
mov ecx, dword [edi]
mov dword [eax], ecx
add eax, 4
sub dword [ebp + 0x74], 1
jne 0x425450
mov ecx, dword [ebp + 0x70]
mov edx, dword [ebp + 0x64]
mov eax, dword [ebp + 0x6c]
sub dword [ebp + 0x60], edx
sub dword [ebp + 0x68], eax
sub dword [ebp + 0x54], 1
jne 0x425440
pop edi
pop esi
pop ebx
add ebp, 0x58
mov esp, ebp
pop ebp
ret 0x20
movzx ecx, byte [eax]
movzx ebx, byte [edi]
sub ebx, ecx
imul ebx, esi
shl ecx, 4
add ebx, ecx
sar ebx, 4
mov byte [eax], bl
movzx ecx, byte [eax + 1]
movzx ebx, byte [edi + 1]
sub ebx, ecx
add eax, 1
imul ebx, esi
shl ecx, 4
add ebx, ecx
sar ebx, 4
mov byte [eax], bl
movzx ecx, byte [eax + 1]
movzx ebx, byte [edi + 2]
add eax, 1
sub ebx, ecx
imul ebx, esi
shl ecx, 4
add ebx, ecx
sar ebx, 4
mov byte [eax], bl
add eax, 1
mov byte [eax], 0
add eax, 1
jmp 0x42548e
cmp eax, edi
jle 0x4255d8
mov dword [ebp + 0x7c], eax
test ecx, ecx
mov eax, dword [ebp + 0x60]
mov edx, dword [ebp + 0x68]
jle 0x4255c2
mov dword [ebp + 0x74], ecx
mov cl, byte [edx]
add edx, 1
test cl, cl
jns 0x425535
mov esi, 0x10
jmp 0x425543
movzx ebx, cl
and ebx, 0xf
add ebx, 1
mov esi, ebx
mov ebx, dword [ebp + 0x78]
cmp esi, ebx
jle 0x425549
mov esi, ebx
cmp esi, 0x10
mov edi, dword [ebp + 0x50]
movzx ecx, cl
lea edi, [edi + ecx*4]
jne 0x425560
mov ecx, dword [edi]
mov dword [eax], ecx
add eax, 4
jmp 0x4255b5
movzx ecx, byte [eax]
movzx ebx, byte [edi]
sub ebx, ecx
imul ebx, esi
shl ecx, 4
add ebx, ecx
sar ebx, 4
mov byte [eax], bl
movzx ecx, byte [eax + 1]
movzx ebx, byte [edi + 1]
sub ebx, ecx
add eax, 1
imul ebx, esi
shl ecx, 4
add ebx, ecx
sar ebx, 4
mov byte [eax], bl
movzx ecx, byte [eax + 1]
movzx ebx, byte [edi + 2]
add eax, 1
sub ebx, ecx
imul ebx, esi
shl ecx, 4
add ebx, ecx
sar ebx, 4
mov byte [eax], bl
mov ebx, dword [ebp + 0x78]
add eax, 1
mov byte [eax], 0
add eax, 1
sub dword [ebp + 0x74], 1
jne 0x425525
mov ecx, dword [ebp + 0x70]
mov edx, dword [ebp + 0x64]
mov eax, dword [ebp + 0x6c]
sub dword [ebp + 0x60], edx
sub dword [ebp + 0x68], eax
sub dword [ebp + 0x7c], 1
jne 0x425514
pop edi
pop esi
pop ebx
add ebp, 0x58
mov esp, ebp
pop ebp
ret 0x20