Function at 0x45ebe0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x98
push ebx
push esi
mov esi, ecx
push edi
test byte [esi + 0x6c], 2
je 0x45ec17
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0045e7d0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c
call dword [sym.imp.GDI32.dll_GdiFlush]
mov eax, dword [esi + 8]
add eax, 0x28
test byte [esi + 0x60], 1
je 0x45edf2
mov ecx, dword [ebp + 0x1c]
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x14]
sub eax, dword [ebp + 0x10]
mov dword [ebp + 0x14], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x10], 0x100010
mov dword [ebp - 0xc], 0x100010
mov dword [ebp - 0x98], 0
lea eax, [eax + ecx*4]
mov dword [ebp - 0x94], 0
mov dword [ebp - 8], eax
mov eax, dword [ebp + 0x18]
add eax, ecx
mov dword [ebp - 0x90], 0x10001
mov dword [ebp - 0x8c], 0x100001
mov dword [ebp - 0x88], 0x20002
mov dword [ebp - 0x84], 0x200002
mov dword [ebp - 0x80], 0x30003
mov dword [ebp - 0x7c], 0x300003
mov dword [ebp - 0x78], 0x40004
mov dword [ebp - 0x74], 0x400004
mov dword [ebp - 0x70], 0x50005
mov dword [ebp - 0x6c], 0x500005
mov dword [ebp - 0x68], 0x60006
mov dword [ebp - 0x64], 0x600006
mov dword [ebp - 0x60], 0x70007
mov dword [ebp - 0x5c], 0x700007
mov dword [ebp - 0x58], 0x80008
mov dword [ebp - 0x54], 0x800008
mov dword [ebp - 0x50], 0x90009
mov dword [ebp - 0x4c], 0x900009
mov dword [ebp - 0x48], 0xa000a
mov dword [ebp - 0x44], 0xa0000a
mov dword [ebp - 0x40], 0xb000b
mov dword [ebp - 0x3c], 0xb0000b
mov dword [ebp - 0x38], 0xc000c
mov dword [ebp - 0x34], 0xc0000c
mov dword [ebp - 0x30], 0xd000d
mov dword [ebp - 0x2c], 0xd0000d
mov dword [ebp - 0x28], 0xe000e
mov dword [ebp - 0x24], 0xe0000e
mov dword [ebp - 0x20], 0xf000f
mov dword [ebp - 0x1c], 0xf0000f
mov dword [ebp - 0x18], 0x100010
mov dword [ebp - 0x14], 0x1000010
mov dword [ebp + 0xc], eax
pushfd
cld
pushal
pxor mm5, mm5
movq mm2, qword [ebp - 0x10]
mov ecx, dword [ebp + 0x20]
mov edi, dword [ebp + 8]
mov esi, dword [ebp + 0x10]
mov ebx, dword [ebp + 0x14]
mov edx, dword [ebp + 0x1c]
add ebx, esi
xor eax, eax
mov al, byte [ebx]
test eax, 0xf
jne 0x45ed9b
inc ebx
inc esi
or eax, eax
je 0x45edd6
xor eax, eax
mov ebx, dword [ebp - 4]
mov al, byte [esi - 1]
mov eax, dword [ebx + eax*4]
mov ebx, dword [ebp + 0x14]
mov dword [edi], eax
add ebx, esi
jmp 0x45edd6
movq mm6, qword [ebp + eax*8 - 0x98]
xor eax, eax
mov ebx, dword [ebp - 4]
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 + 0x14]
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 0x45ed76
sub esi, dword [ebp + 0xc]
sub edi, dword [ebp - 8]
dec ecx
jne 0x45ed6e
emms
popal
popfd
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c
mov esi, dword [ebp + 0x20]
mov dword [ebp - 8], eax
mov dword [ebp - 4], esi
test esi, esi
jle 0x45eeae
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp + 8]
mov edi, dword [ebp + 0x1c]
mov dword [ebp + 0x20], ecx
mov dword [ebp + 0x10], edx
mov dword [ebp + 0x14], eax
xor ebx, ebx
test edi, edi
jle 0x45ee8d
nop
movzx edi, byte [ebx + edx]
lea eax, [eax + 4]
movzx ecx, byte [ecx + ebx]
inc ebx
mov edx, dword [ebp - 8]
lea esi, [edx + ecx*4]
movzx ecx, byte [eax - 4]
movzx edx, byte [esi]
sub edx, ecx
shl ecx, 4
imul edx, edi
add edx, ecx
sar edx, 4
mov byte [eax - 4], dl
movzx ecx, byte [eax - 3]
movzx edx, byte [esi + 1]
sub edx, ecx
shl ecx, 4
imul edx, edi
add edx, ecx
movzx ecx, byte [eax - 2]
sar edx, 4
mov byte [eax - 3], dl
movzx edx, byte [esi + 2]
sub edx, ecx
mov byte [eax - 1], 0
imul edx, edi
mov edi, dword [ebp + 0x1c]
shl ecx, 4
add edx, ecx
mov ecx, dword [ebp + 0x20]
sar edx, 4
mov byte [eax - 2], dl
mov edx, dword [ebp + 0x10]
cmp ebx, edi
jl 0x45ee20
mov esi, dword [ebp - 4]
mov eax, dword [ebp + 0x14]
sub eax, dword [ebp + 0xc]
sub edx, dword [ebp + 0x18]
sub ecx, dword [ebp + 0x18]
sub esi, 1
mov dword [ebp + 0x14], eax
mov dword [ebp + 0x10], edx
mov dword [ebp + 0x20], ecx
mov dword [ebp - 4], esi
jne 0x45ee18
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c