Function at 0x404d70
Capabilities:
Contain obfuscated stackstrings
Reference processor manufacturer constants

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa8
mov eax, dword [0x51f620]
xor eax, ebp
mov dword [ebp - 4], eax
mov byte [ebp - 0x44], 0x56
mov byte [ebp - 0x43], 0x42
mov byte [ebp - 0x42], 0x6f
mov byte [ebp - 0x41], 0x78
mov byte [ebp - 0x40], 0x54
mov byte [ebp - 0x3f], 0x72
mov byte [ebp - 0x3e], 0x61
mov byte [ebp - 0x3d], 0x79
mov byte [ebp - 0x3c], 0
call fcn.004030c0
lea eax, [ebp - 0x44]
push eax
push 0
push 0x1f0001
call dword [sym.imp.KERNEL32.dll_OpenMutexA]
test eax, eax
je 0x404dd8
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov al, 1
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0046d9d8
mov esp, ebp
pop ebp
ret
push ebx
mov eax, 1
cpuid
push esi
lea esi, [ebp - 0x18]
mov dword [esi], eax
mov dword [esi + 4], ebx
mov dword [esi + 8], ecx
mov dword [esi + 0xc], edx
mov ecx, dword [ebp - 0x10]
sar ecx, 0x1f
test cl, 1
je 0x404e75
xor eax, eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], eax
mov eax, 0x40000000
cpuid
mov dword [esi], eax
mov dword [esi + 4], ebx
mov dword [esi + 8], ecx
mov dword [esi + 0xc], edx
cmp dword [ebp - 0x14], 0x7263694d
jne 0x404e63
cmp dword [ebp - 0x10], 0x666f736f
jne 0x404e63
cmp dword [ebp - 0xc], 0x76482074
jne 0x404e63
mov eax, 0x40000003
cpuid
mov dword [ebp - 0x14], 0
mov dword [esi], eax
mov dword [esi + 4], ebx
mov dword [esi + 8], ecx
mov dword [esi + 0xc], edx
test byte [ebp - 0x14], 1
je 0x404e63
pop esi
xor al, al
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0046d9d8
mov esp, ebp
pop ebp
ret
pop esi
mov al, 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0046d9d8
mov esp, ebp
pop ebp
ret
push edi
lea edx, [ebp - 0x60]
mov ebx, 0x65
push edx
mov byte [ebp - 0x60], 0x6b
mov byte [ebp - 0x5f], bl
mov byte [ebp - 0x5e], 0x72
mov byte [ebp - 0x5d], 0x6e
mov byte [ebp - 0x5c], bl
mov byte [ebp - 0x5b], 0x6c
mov byte [ebp - 0x5a], 0x33
mov byte [ebp - 0x59], 0x32
mov byte [ebp - 0x58], 0x2e
mov byte [ebp - 0x57], 0x64
mov byte [ebp - 0x56], 0x6c
mov byte [ebp - 0x55], 0x6c
mov byte [ebp - 0x54], 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov edi, eax
lea eax, [ebp - 0x38]
push eax
push edi
mov byte [ebp - 0x91], 0
mov byte [ebp - 0x38], 0x45
mov byte [ebp - 0x37], 0x6e
mov byte [ebp - 0x36], 0x75
mov byte [ebp - 0x35], 0x6d
mov byte [ebp - 0x34], 0x53
mov byte [ebp - 0x33], 0x79
mov byte [ebp - 0x32], 0x73
mov byte [ebp - 0x31], 0x74
mov byte [ebp - 0x30], bl
mov byte [ebp - 0x2f], 0x6d
mov byte [ebp - 0x2e], 0x46
mov byte [ebp - 0x2d], 0x69
mov byte [ebp - 0x2c], 0x72
mov byte [ebp - 0x2b], 0x6d
mov byte [ebp - 0x2a], 0x77
mov byte [ebp - 0x29], 0x61
mov byte [ebp - 0x28], 0x72
mov byte [ebp - 0x27], bl
mov byte [ebp - 0x26], 0x54
mov byte [ebp - 0x25], 0x61
mov byte [ebp - 0x24], 0x62
mov byte [ebp - 0x23], 0x6c
mov byte [ebp - 0x22], bl
mov byte [ebp - 0x21], 0x73
mov byte [ebp - 0x20], 0
call fcn.004032e0
lea ecx, [ebp - 0x1c]
push ecx
push edi
mov esi, eax
mov byte [ebp - 0x1c], 0x47
mov byte [ebp - 0x1b], bl
mov byte [ebp - 0x1a], 0x74
mov byte [ebp - 0x19], 0x53
mov byte [ebp - 0x18], 0x79
mov byte [ebp - 0x17], 0x73
mov byte [ebp - 0x16], 0x74
mov byte [ebp - 0x15], bl
mov byte [ebp - 0x14], 0x6d
mov byte [ebp - 0x13], 0x46
mov byte [ebp - 0x12], 0x69
mov byte [ebp - 0x11], 0x72
mov byte [ebp - 0x10], 0x6d
mov byte [ebp - 0xf], 0x77
mov byte [ebp - 0xe], 0x61
mov byte [ebp - 0xd], 0x72
mov byte [ebp - 0xc], bl
mov byte [ebp - 0xb], 0x54
mov byte [ebp - 0xa], 0x61
mov byte [ebp - 9], 0x62
mov byte [ebp - 8], 0x6c
mov byte [ebp - 7], bl
mov byte [ebp - 6], 0
call fcn.004032e0
xor edi, edi
add esp, 0x10
mov dword [ebp - 0xa0], eax
cmp esi, edi
je 0x405089
cmp eax, edi
je 0x405089
push edi
push edi
push 0x4649524d
call esi
mov dword [ebp - 0x98], eax
cmp eax, edi
je 0x40524b
mov edi, eax
shr edi, 2
xor ecx, ecx
mov eax, edi
mov edx, 4
mul edx
seto cl
mov dword [ebp - 0xa4], edi
neg ecx
or ecx, eax
push ecx
call fcn.00450241
mov ecx, dword [ebp - 0x98]
add esp, 4
push ecx
push eax
push 0x4649524d
mov dword [ebp - 0x9c], eax
call esi
xor esi, esi
test edi, edi
jbe 0x405075
mov edx, dword [ebp - 0x9c]
mov eax, dword [edx + esi*4]
push 0
push 0
push eax
push 0x4649524d
call dword [ebp - 0xa0]
mov edi, eax
test edi, edi
je 0x40506c
push edi
call fcn.00450241
mov ecx, dword [ebp - 0x9c]
mov edx, dword [ecx + esi*4]
add esp, 4
push edi
push eax
push edx
push 0x4649524d
mov dword [ebp - 0x98], eax
call dword [ebp - 0xa0]
mov ecx, dword [ebp - 0x98]
call fcn.00403560
test al, al
je 0x40505d
mov byte [ebp - 0x91], 1
mov eax, dword [ebp - 0x98]
push eax
call fcn.0045024c
add esp, 4
inc esi
cmp esi, dword [ebp - 0xa4]
jb 0x405002
mov ecx, dword [ebp - 0x9c]
push ecx
call fcn.0045024c
add esp, 4
jmp 0x405242
mov edx, 0x5c
mov word [ebp - 0x90], dx
mov eax, 0x64
mov word [ebp - 0x8e], ax
mov edx, 0x76
mov word [ebp - 0x8a], dx
mov eax, 0x69
mov word [ebp - 0x88], ax
mov edx, ebx
mov word [ebp - 0x84], dx
mov eax, 0x5c
mov word [ebp - 0x82], ax
mov ecx, ebx
mov word [ebp - 0x8c], cx
mov edx, 0x68
mov word [ebp - 0x7e], dx
mov eax, 0x79
mov word [ebp - 0x7c], ax
mov ecx, 0x63
mov word [ebp - 0x86], cx
mov edx, 0x69
mov word [ebp - 0x78], dx
mov eax, 0x63
mov word [ebp - 0x76], ax
mov ecx, 0x70
mov word [ebp - 0x80], cx
mov edx, 0x6c
mov word [ebp - 0x72], dx
mov eax, 0x6d
mov edx, eax
mov ecx, 0x73
mov word [ebp - 0x7a], cx
mov word [ebp - 0x70], ax
mov word [ebp - 0x6c], dx
mov ecx, 0x61
mov word [ebp - 0x74], cx
mov edx, 0x79
mov eax, 0x6f
mov word [ebp - 0x6a], ax
mov word [ebp - 0x66], dx
mov ecx, ebx
mov word [ebp - 0x6e], cx
xor eax, eax
mov edx, 0x2c
mov ecx, 0x72
mov word [ebp - 0x64], ax
mov word [ebp - 0xa8], dx
mov word [ebp - 0x68], cx
lea edx, [ebp - 0x38]
mov eax, 0x2e
push edx
lea ecx, [ebp - 0x90]
mov word [ebp - 0xa6], ax
mov dword [ebp - 0xa4], ecx
push 4
lea eax, [ebp - 0x9c]
lea ecx, [ebp - 0xa8]
push eax
mov dword [ebp - 0x9c], edi
mov dword [ebp - 0x38], 0x18
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x2c], 0x40
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x24], edi
call dword [0x52ae48]
test eax, eax
jl 0x40524b
push 2
push edi
push 1
lea ecx, [ebp - 0x98]
push ecx
mov ecx, dword [ebp - 0x9c]
lea edx, [ebp - 0x10]
push edx
push 0x10000
push edi
lea eax, [ebp - 0xa0]
push eax
push 0xffffffffffffffff
push ecx
mov dword [ebp - 0xa0], edi
mov dword [ebp - 0x98], 0x10000
mov dword [ebp - 0x10], 0xc0000
mov dword [ebp - 0xc], edi
call dword [0x52ae4c]
test eax, eax
jl 0x405235
mov edi, dword [ebp - 0x98]
mov ecx, dword [ebp - 0xa0]
call fcn.00403560
test al, al
je 0x40522c
mov byte [ebp - 0x91], 1
push ecx
push 0xffffffffffffffff
call dword [0x52ae14]
mov edx, dword [ebp - 0x9c]
push edx
call dword [0x52ae50]
cmp byte [ebp - 0x91], 0
jne 0x405291
lea eax, [ebp - 0x50]
push eax
mov byte [ebp - 0x50], 0x73
mov byte [ebp - 0x4f], 0x62
mov byte [ebp - 0x4e], 0x69
mov byte [ebp - 0x4d], bl
mov byte [ebp - 0x4c], 0x64
mov byte [ebp - 0x4b], 0x6c
mov byte [ebp - 0x4a], 0x6c
mov byte [ebp - 0x49], 0x2e
mov byte [ebp - 0x48], 0x64
mov byte [ebp - 0x47], 0x6c
mov byte [ebp - 0x46], 0x6c
mov byte [ebp - 0x45], 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test eax, eax
jne 0x405291
call fcn.00404b10
test al, al
je 0x4052a4
pop edi
pop esi
mov al, 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0046d9d8
mov esp, ebp
pop ebp
ret
call fcn.004046e0
mov ecx, dword [ebp - 4]
test al, al
pop edi
setne al
pop esi
xor ecx, ebp
pop ebx
call fcn.0046d9d8
mov esp, ebp
pop ebp
ret