Function at 0x420ce0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x549621
mov eax, dword fs:[0]
push eax
sub esp, 0xbc
push ebx
push esi
push edi
mov eax, dword [0x5bf364]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [ebp - 0x44], vtable.CVolCommonBaseWithMemManager.0
mov dword [ebp - 0x44], vtable.CVolObject.0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 4], 0
mov dword [ebp - 0x44], vtable.rg_n::rg_n72530.0
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x38]
call fcn.00405c90
mov byte [ebp - 4], 2
mov dword [ebp - 0x38], vtable.CWConstString.0
mov dword [ebp - 0x2c], 0x589344
mov byte [ebp - 4], 3
lea eax, [ebp - 0x38]
push eax
lea ecx, [ebx + 0xc0c]
call fcn.0044f700
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x28]
call fcn.00405c00
mov byte [ebp - 4], 1
mov ecx, dword [ebx + 0xc18]
mov dword [ebp - 0x38], vtable.CVolObject.0
mov eax, dword [ecx]
call dword [eax + 0x28]
mov edi, dword [sym.imp.USER32.dll_InvalidateRect]
mov esi, eax
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x420db9
cmp dword [esi + 0x50], 0
je 0x420db2
push ecx
mov eax, esp
mov dword [eax], ecx
call fcn.004abb90
mov ecx, dword [esi + 4]
add esp, 4
push 0
push 0
push ecx
call edi
push dword [ebp + 0x24]
lea eax, [ebp - 0x9c]
push dword [ebp + 0x20]
push eax
call fcn.00450c50
mov edx, eax
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x38]
call fcn.00405c90
mov byte [ebp - 4], 8
mov dword [ebp - 0x38], vtable.CWConstString.0
mov dword [ebp - 0x2c], 0x5893c0
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x70]
push edx
lea edx, [ebp - 0x38]
call fcn.0049d790
add esp, 4
mov byte [ebp - 4], 0xa
lea ecx, [ebx + 0xaac]
push eax
call fcn.0044f700
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x60]
call fcn.00405c00
mov byte [ebp - 4], 9
mov dword [ebp - 0x70], vtable.CVolObject.0
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x28]
call fcn.00405c00
mov byte [ebp - 4], 7
mov dword [ebp - 0x38], vtable.CVolObject.0
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x8c]
call fcn.00405c00
mov byte [ebp - 4], 1
mov ecx, dword [ebx + 0xab8]
mov dword [ebp - 0x9c], vtable.CVolObject.0
mov eax, dword [ecx]
call dword [eax + 0x28]
mov esi, eax
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x420e8a
cmp dword [esi + 0x50], 0
je 0x420e83
push ecx
mov eax, esp
mov dword [eax], ecx
call fcn.004abb90
mov ecx, dword [esi + 4]
add esp, 4
push 0
push 0
push ecx
call edi
push dword [ebp + 0x1c]
lea eax, [ebp - 0x70]
push dword [ebp + 0x18]
push eax
call fcn.00450c50
mov edx, eax
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x38]
call fcn.00405c90
mov byte [ebp - 4], 0x13
mov dword [ebp - 0x38], vtable.CWConstString.0
mov dword [ebp - 0x2c], 0x5893cc
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x9c]
push edx
lea edx, [ebp - 0x38]
call fcn.0049d790
add esp, 4
mov byte [ebp - 4], 0x15
lea ecx, [ebx + 0x94c]
push eax
call fcn.0044f700
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x8c]
call fcn.00405c00
mov byte [ebp - 4], 0x14
mov dword [ebp - 0x9c], vtable.CVolObject.0
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x28]
call fcn.00405c00
mov byte [ebp - 4], 0x12
mov dword [ebp - 0x38], vtable.CVolObject.0
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x60]
call fcn.00405c00
mov byte [ebp - 4], 1
mov ecx, dword [ebx + 0x958]
mov dword [ebp - 0x70], vtable.CVolObject.0
mov eax, dword [ecx]
call dword [eax + 0x28]
mov esi, eax
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x420f5b
cmp dword [esi + 0x50], 0
je 0x420f54
push ecx
mov eax, esp
mov dword [eax], ecx
call fcn.004abb90
mov ecx, dword [esi + 4]
add esp, 4
push 0
push 0
push ecx
call edi
mov edx, dword [ebp + 0x24]
mov ecx, dword [ebp + 0x20]
call fcn.0050fa50
mov edx, dword [ebp + 0x1c]
mov ecx, dword [ebp + 0x18]
movsd qword [ebp + 0x20], xmm0
call fcn.0050fa50
movsd xmm1, qword [ebp + 0x20]
xor ecx, ecx
divsd xmm1, xmm0
mulsd xmm1, qword [0x594f90]
movaps xmm0, xmm1
movsd qword [ebp + 0x20], xmm1
call fcn.00496d70
mov ecx, dword [ebx + 0x808]
cvttsd2si esi, xmm0
mov eax, dword [ecx]
call dword [eax + 0x28]
mov ecx, eax
test esi, esi
jns 0x420faf
xor esi, esi
jmp 0x420fb9
mov eax, 0x7fff
cmp esi, eax
cmovg esi, eax
mov eax, dword [ecx + 4]
test eax, eax
jne 0x420fc5
mov dword [ecx + 0x40], esi
jmp 0x420fd4
push 0
push esi
push 0x402
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
movsd xmm0, qword [ebp + 0x20]
mov ecx, 2
call fcn.00496d70
lea ecx, [ebp - 0x70]
call fcn.00405c90
mov byte [ebp - 4], 0x1d
movaps xmm1, xmm0
lea ecx, [ebp - 0x70]
mov dword [ebp - 0x70], vtable.CWString.0
call fcn.0049c0a0
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x38]
call fcn.00405c90
mov byte [ebp - 4], 0x1f
mov dword [ebp - 0x38], vtable.CWConstString.0
mov dword [ebp - 0x2c], 0x5893d8
mov byte [ebp - 4], 0x20
lea eax, [ebp - 0x70]
push eax
lea edx, [ebp - 0x38]
lea ecx, [ebp - 0xc8]
call fcn.0049d790
add esp, 4
mov byte [ebp - 4], 0x21
mov edx, eax
push 0x5881d4
lea ecx, [ebp - 0x9c]
call fcn.0049d910
add esp, 4
mov byte [ebp - 4], 0x22
lea ecx, [ebx + 0x186c]
push eax
call fcn.0044f700
mov byte [ebp - 4], 0x23
lea ecx, [ebp - 0x8c]
call fcn.00405c00
mov byte [ebp - 4], 0x21
mov dword [ebp - 0x9c], vtable.CVolObject.0
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0xb8]
call fcn.00405c00
mov byte [ebp - 4], 0x20
mov dword [ebp - 0xc8], vtable.CVolObject.0
mov byte [ebp - 4], 0x28
lea ecx, [ebp - 0x28]
call fcn.00405c00
mov byte [ebp - 4], 0x1e
mov dword [ebp - 0x38], vtable.CVolObject.0
mov byte [ebp - 4], 0x2a
lea ecx, [ebp - 0x60]
call fcn.00405c00
mov byte [ebp - 4], 1
mov ecx, dword [ebx + 0x1878]
mov dword [ebp - 0x70], vtable.CVolObject.0
mov eax, dword [ecx]
call dword [eax + 0x28]
mov esi, eax
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x4210fa
cmp dword [esi + 0x50], 0
je 0x4210f3
push ecx
mov eax, esp
mov dword [eax], ecx
call fcn.004abb90
mov ecx, dword [esi + 4]
add esp, 4
push 0
push 0
push ecx
call edi
mov dword [ebp - 4], 0xffffffff
xor eax, eax
mov dword [ebp - 0x44], vtable.CVolObject.0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x20