Function at 0x68508c
Capabilities:
Contain obfuscated stackstrings
Encode data using base64
Parse pe header

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x34
mov eax, dword [0x73e040]
xor eax, esp
mov dword [esp + 0x30], eax
and dword [esp + 8], 0
mov eax, ecx
push ebx
push esi
mov dword [esp + 0x14], eax
lea ecx, [eax + 0x74]
mov byte [eax + 2], 1
mov dword [eax + 0x18], 1
lea eax, [esp + 0xf]
push edi
push eax
mov byte [esp + 0x17], 0x47
call fcn.00686591
xor eax, eax
xor ecx, ecx
push ebx
cpuid
mov esi, ebx
pop ebx
nop
lea ebx, [esp + 0x2c]
mov edi, str.AuthenticAMDINTEL
mov dword [ebx], eax
mov dword [ebx + 4], esi
mov dword [ebx + 8], ecx
xor ecx, ecx
mov dword [ebx + 0xc], edx
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x38]
mov esi, dword [esp + 0x34]
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x20], eax
xor eax, eax
cmp dword [edi + eax], ebx
jne 0x685117
cmp dword [eax + 0x72701c], edx
jne 0x685117
cmp dword [eax + 0x727020], esi
je 0x685120
add eax, 0x14
inc ecx
cmp eax, 0x50
jb 0x685102
mov edx, dword [esp + 0x18]
imul ecx, ecx, 0x14
cmp dword [esp + 0x20], 1
lea edi, [edx + 0x74]
mov eax, dword [ecx + 0x727010]
mov ecx, dword [ecx + 0x727014]
mov dword [edx + 0x24], eax
mov dword [edx + 0x28], ecx
jb 0x685579
xor eax, eax
xor ecx, ecx
inc eax
push ebx
cpuid
mov esi, ebx
pop ebx
nop
lea ebx, [esp + 0x2c]
mov dword [ebx], eax
mov dword [ebx + 4], esi
mov dword [ebx + 8], ecx
mov dword [ebx + 0xc], edx
mov ebx, dword [esp + 0x2c]
mov ecx, ebx
mov edx, ebx
shr ecx, 8
shr edx, 4
and ecx, 0xf
and edx, 0xf
cmp ecx, 6
je 0x685180
cmp ecx, 0xf
jne 0x68519c
mov eax, ebx
shr eax, 0xc
and eax, 0xf0
add edx, eax
cmp ecx, 0xf
jne 0x68519c
mov eax, ebx
shr eax, 0x14
movzx ecx, al
add ecx, 0xf
mov esi, dword [esp + 0x18]
mov byte [esp + 0x13], 0x7b
mov dword [esi + 4], ecx
mov ecx, dword [esp + 0x30]
movzx eax, cl
mov dword [esi + 0xc], eax
mov eax, ebx
shr eax, 0xc
and ebx, 0xf
and eax, 3
mov dword [esi + 0x10], ebx
mov ebx, dword [esp + 0x34]
mov dword [esi + 0x14], eax
mov eax, ecx
shr eax, 0x10
movzx eax, al
mov dword [esi + 0x18], eax
shr ecx, 8
movzx eax, cl
mov ecx, edi
shl eax, 3
mov dword [esi + 0x1c], eax
lea eax, [esp + 0x13]
push eax
mov al, bl
mov dword [esi + 8], edx
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x13]
mov byte [esp + 0x13], 0x5b
push eax
mov eax, ebx
mov ecx, edi
shr eax, 1
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x13]
mov byte [esp + 0x13], 0x50
push eax
mov eax, ebx
mov ecx, edi
shr eax, 3
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x13]
mov byte [esp + 0x13], 0x87
push eax
mov eax, ebx
mov ecx, edi
shr eax, 5
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x13]
mov byte [esp + 0x13], 0x78
push eax
mov eax, ebx
mov ecx, edi
shr eax, 6
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x13]
mov byte [esp + 0x13], 0x7f
push eax
mov eax, ebx
mov ecx, edi
shr eax, 9
and al, 1
movzx eax, al
push eax
call fcn.006865bb
mov byte [esp + 0x13], 0x33
lea eax, [esp + 0x13]
mov ecx, edi
push eax
mov eax, ebx
shr eax, 0xd
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x13]
mov byte [esp + 0x13], 0x7c
push eax
mov eax, ebx
mov ecx, edi
shr eax, 0x13
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x13]
mov byte [esp + 0x13], 0x7d
push eax
mov eax, ebx
mov ecx, edi
shr eax, 0x14
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x13]
mov byte [esp + 0x13], 0x52
push eax
mov eax, ebx
mov ecx, edi
shr eax, 0x16
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x13]
mov byte [esp + 0x13], 0x5d
push eax
mov eax, ebx
mov ecx, edi
shr eax, 0x17
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x13]
mov byte [esp + 0x13], 6
push eax
mov eax, ebx
mov ecx, edi
shr eax, 0x19
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x13]
mov byte [esp + 0x13], 0x8d
push eax
mov eax, ebx
mov ecx, edi
shr eax, 0x1a
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x13]
mov byte [esp + 0x13], 0x59
push eax
mov eax, ebx
mov ecx, edi
shr eax, 0x1b
and al, 1
movzx eax, al
push eax
call fcn.006865bb
mov byte [esp + 0x13], 0x66
lea eax, [esp + 0x13]
push eax
mov eax, ebx
mov ecx, edi
shr eax, 0x1e
and al, 1
movzx eax, al
push eax
call fcn.006865bb
mov ebx, dword [esp + 0x38]
lea eax, [esp + 0x13]
push eax
mov al, bl
mov byte [esp + 0x17], 0x3b
and al, 1
mov ecx, edi
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x13]
mov byte [esp + 0x13], 0x68
push eax
mov eax, ebx
mov ecx, edi
shr eax, 4
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x13]
mov byte [esp + 0x13], 0x56
push eax
mov eax, ebx
mov ecx, edi
shr eax, 5
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x13]
mov byte [esp + 0x13], 0x34
push eax
mov eax, ebx
mov ecx, edi
shr eax, 8
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x13]
mov byte [esp + 0x13], 0x31
push eax
mov eax, ebx
mov ecx, edi
shr eax, 0xf
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x13]
mov byte [esp + 0x13], 0x2d
push eax
mov eax, ebx
mov ecx, edi
shr eax, 0x13
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x13]
mov byte [esp + 0x13], 0x4e
push eax
mov eax, ebx
mov ecx, edi
shr eax, 0x17
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x13]
mov byte [esp + 0x13], 0x40
push eax
mov eax, ebx
mov ecx, edi
shr eax, 0x18
and al, 1
movzx eax, al
push eax
call fcn.006865bb
mov eax, ebx
mov byte [esp + 0x12], 0x4f
shr eax, 0x19
mov ecx, edi
and al, 1
mov byte [esp + 0x13], 0x79
mov byte [esp + 0x1c], al
lea eax, [esp + 0x13]
push eax
push dword [esp + 0x20]
call fcn.006865bb
lea eax, [esp + 0x12]
mov ecx, edi
push eax
push dword [esp + 0x20]
call fcn.006865bb
mov eax, ebx
mov byte [esp + 0x13], 0x79
shr eax, 0x1a
mov ecx, edi
and al, 1
mov byte [esp + 0x12], 0x7a
mov byte [esp + 0x1c], al
lea eax, [esp + 0x12]
push eax
push dword [esp + 0x20]
call fcn.006865bb
lea eax, [esp + 0x13]
mov ecx, edi
push eax
push dword [esp + 0x20]
call fcn.006865bb
lea eax, [esp + 0x12]
shr ebx, 0x1c
push eax
and bl, 1
mov byte [esp + 0x16], 1
movzx eax, bl
mov ecx, edi
push eax
call fcn.006865bb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x8d
push eax
mov ecx, edi
call fcn.00686566
test al, al
je 0x685517
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x59
push eax
mov ecx, edi
call fcn.00686566
test al, al
je 0x685517
xor ecx, ecx
xgetbv
mov dword [esp + 0x14], eax
jmp 0x68551b
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x34]
test ebx, 0x10000000
je 0x685579
mov ecx, eax
and ecx, 6
cmp cl, 6
jne 0x685579
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0xe
push eax
mov ecx, edi
call fcn.00686591
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x39
push eax
mov eax, ebx
mov ecx, edi
shr eax, 0xc
and al, 1
movzx eax, al
push eax
call fcn.006865bb
shr ebx, 0x1d
lea eax, [esp + 0x12]
push eax
and bl, 1
mov byte [esp + 0x16], 0x38
movzx eax, bl
mov ecx, edi
push eax
call fcn.006865bb
mov eax, dword [esp + 0x14]
mov ecx, eax
and eax, 0xe6
mov byte [esp + 0x24], 0
and ecx, 0x60000
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x1c], ecx
cmp eax, 7
jb 0x685ef4
push 7
pop eax
xor ecx, ecx
push ebx
cpuid
mov esi, ebx
pop ebx
nop
lea ebx, [esp + 0x2c]
mov byte [esp + 0x12], 0x3c
mov dword [ebx], eax
mov dword [ebx + 4], esi
mov dword [ebx + 8], ecx
mov ecx, edi
mov dword [ebx + 0xc], edx
mov ebx, dword [esp + 0x30]
mov eax, ebx
shr eax, 0xe
and eax, 0xffffff01
mov dword [esp + 0x24], eax
lea eax, [esp + 0x12]
push eax
mov al, bl
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x27
push eax
mov eax, ebx
mov ecx, edi
shr eax, 3
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x45
push eax
mov eax, ebx
mov ecx, edi
shr eax, 4
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x77
push eax
mov eax, ebx
mov ecx, edi
shr eax, 7
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x28
push eax
mov eax, ebx
mov ecx, edi
shr eax, 8
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x37
push eax
mov eax, ebx
mov ecx, edi
shr eax, 9
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x6a
push eax
mov eax, ebx
shr eax, 0xb
mov ecx, edi
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x67
push eax
mov eax, ebx
mov ecx, edi
shr eax, 0x12
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 5
push eax
mov eax, ebx
mov ecx, edi
shr eax, 0x13
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x75
push eax
mov eax, ebx
mov ecx, edi
shr eax, 0x14
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x2e
push eax
mov eax, ebx
mov ecx, edi
shr eax, 0x17
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x2f
push eax
mov eax, ebx
mov ecx, edi
shr eax, 0x18
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x70
push eax
mov eax, ebx
mov ecx, edi
shr eax, 0x1d
and al, 1
movzx eax, al
push eax
call fcn.006865bb
mov ebx, dword [esp + 0x34]
lea eax, [esp + 0x12]
push eax
mov al, bl
mov byte [esp + 0x16], 0x60
and al, 1
mov ecx, edi
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x5a
push eax
mov eax, ebx
shr eax, 4
and al, 1
mov ecx, edi
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x89
push eax
mov eax, ebx
mov ecx, edi
shr eax, 5
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x2a
push eax
mov eax, ebx
mov ecx, edi
shr eax, 7
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x44
push eax
mov eax, ebx
mov ecx, edi
shr eax, 8
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x86
push eax
mov eax, ebx
mov ecx, edi
shr eax, 9
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x88
push eax
mov eax, ebx
mov ecx, edi
shr eax, 0xa
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x64
push eax
mov eax, ebx
mov ecx, edi
shr eax, 0x16
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x2c
push eax
mov eax, ebx
mov ecx, edi
shr eax, 0x19
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x54
push eax
mov eax, ebx
shr eax, 0x1b
and al, 1
movzx eax, al
mov ecx, edi
push eax
call fcn.006865bb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x53
push eax
mov eax, ebx
mov ecx, edi
shr eax, 0x1c
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x36
push eax
mov eax, ebx
mov ecx, edi
shr eax, 0x1d
and al, 1
movzx eax, al
push eax
call fcn.006865bb
mov ebx, dword [esp + 0x38]
lea eax, [esp + 0x12]
push eax
mov eax, ebx
mov byte [esp + 0x16], 0x3d
shr eax, 4
mov ecx, edi
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x85
push eax
mov eax, ebx
mov ecx, edi
shr eax, 5
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x6c
push eax
mov eax, ebx
mov ecx, edi
shr eax, 0xe
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x84
push eax
mov eax, ebx
mov ecx, edi
shr eax, 0x10
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x5c
push eax
mov eax, ebx
mov ecx, edi
shr eax, 0x12
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x29
push eax
mov eax, ebx
shr eax, 0x14
and al, 1
movzx eax, al
mov ecx, edi
push eax
call fcn.006865bb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x45
push eax
mov ecx, edi
call fcn.00686566
test al, al
jne 0x685961
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x6a
push eax
mov ecx, edi
call fcn.00686566
test al, al
je 0x685972
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x83
push eax
mov ecx, edi
call fcn.00686591
test byte [esp + 0x30], 0x20
je 0x68599f
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0xe
push eax
mov ecx, edi
call fcn.00686566
test al, al
je 0x68599f
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0xf
push eax
mov ecx, edi
call fcn.00686591
cmp dword [esp + 0x28], 0xe6
jne 0x685b8e
test dword [esp + 0x30], 0x10000
je 0x685b8e
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x18
push eax
mov ecx, edi
call fcn.00686591
mov esi, dword [esp + 0x30]
lea eax, [esp + 0x12]
push eax
mov eax, esi
mov byte [esp + 0x16], 0x16
shr eax, 0x11
mov ecx, edi
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x1a
push eax
mov eax, esi
mov ecx, edi
shr eax, 0x15
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x1b
push eax
mov eax, esi
mov ecx, edi
shr eax, 0x1a
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x17
push eax
mov eax, esi
mov ecx, edi
shr eax, 0x1b
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x15
push eax
mov eax, esi
mov ecx, edi
shr eax, 0x1c
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x14
push eax
mov eax, esi
mov ecx, edi
shr eax, 0x1e
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x1e
push eax
mov eax, esi
mov ecx, edi
shr eax, 0x1f
push eax
call fcn.006865bb
mov esi, dword [esp + 0x34]
lea eax, [esp + 0x12]
push eax
mov eax, esi
mov byte [esp + 0x16], 0x1c
shr eax, 1
and al, 1
movzx eax, al
mov ecx, edi
push eax
call fcn.006865bb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x1d
push eax
mov eax, esi
mov ecx, edi
shr eax, 6
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x1f
push eax
mov eax, esi
mov ecx, edi
shr eax, 0xb
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x13
push eax
mov eax, esi
mov ecx, edi
shr eax, 0xc
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x21
push eax
mov eax, esi
mov ecx, edi
shr eax, 0xe
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x11
push eax
mov eax, ebx
mov ecx, edi
shr eax, 2
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x10
push eax
mov eax, ebx
mov ecx, edi
shr eax, 3
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x20
push eax
mov eax, ebx
mov ecx, edi
shr eax, 8
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x19
push eax
mov eax, ebx
shr eax, 0x17
and al, 1
movzx eax, al
push eax
mov ecx, edi
call fcn.006865bb
cmp dword [esp + 0x1c], 0x60000
jne 0x685beb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 8
push eax
mov eax, ebx
mov ecx, edi
shr eax, 0x16
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0xc
push eax
mov eax, ebx
mov ecx, edi
shr eax, 0x18
and al, 1
movzx eax, al
push eax
call fcn.006865bb
shr ebx, 0x19
lea eax, [esp + 0x12]
push eax
and bl, 1
mov byte [esp + 0x16], 0xb
movzx eax, bl
mov ecx, edi
push eax
call fcn.006865bb
cmp dword [esp + 0x2c], 1
jb 0x685ef0
push 7
pop eax
xor ecx, ecx
inc ecx
push ebx
cpuid
mov esi, ebx
pop ebx
nop
lea ebx, [esp + 0x2c]
mov byte [esp + 0x12], 0x71
mov dword [ebx], eax
lea eax, [esp + 0x12]
mov dword [ebx + 4], esi
mov dword [ebx + 8], ecx
mov ecx, edi
push eax
mov dword [ebx + 0xc], edx
mov ebx, dword [esp + 0x30]
mov al, bl
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x73
push eax
mov eax, ebx
mov ecx, edi
shr eax, 1
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x74
push eax
mov eax, ebx
mov ecx, edi
shr eax, 2
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x62
push eax
mov eax, ebx
mov ecx, edi
shr eax, 3
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x32
push eax
mov eax, ebx
mov ecx, edi
shr eax, 7
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x42
push eax
mov eax, ebx
mov ecx, edi
shr eax, 0xa
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x3f
push eax
mov eax, ebx
shr eax, 0xb
and al, 1
movzx eax, al
push eax
mov ecx, edi
call fcn.006865bb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x3e
push eax
mov eax, ebx
mov ecx, edi
shr eax, 0xc
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x8b
push eax
mov eax, ebx
mov ecx, edi
shr eax, 0x13
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x46
push eax
mov eax, ebx
mov ecx, edi
shr eax, 0x16
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x4a
push eax
mov eax, ebx
mov ecx, edi
shr eax, 0x1a
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x57
push eax
mov eax, ebx
mov ecx, edi
shr eax, 0x1b
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x82
push eax
mov eax, dword [esp + 0x34]
mov ecx, edi
shr eax, 1
and al, 1
movzx eax, al
push eax
call fcn.006865bb
mov esi, dword [esp + 0x38]
lea eax, [esp + 0x12]
push eax
mov eax, esi
mov byte [esp + 0x16], 0x5e
shr eax, 0xe
mov ecx, edi
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x2b
push eax
mov eax, esi
shr eax, 0x12
and al, 1
movzx eax, al
push eax
mov ecx, edi
call fcn.006865bb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0xd
push eax
mov eax, esi
mov ecx, edi
shr eax, 0x15
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0xf
push eax
mov ecx, edi
call fcn.00686566
test al, al
je 0x685e7c
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x24
push eax
mov eax, ebx
mov ecx, edi
shr eax, 4
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x22
push eax
mov eax, ebx
mov ecx, edi
shr eax, 0x17
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x26
push eax
mov eax, esi
mov ecx, edi
shr eax, 4
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x23
push eax
mov eax, esi
mov ecx, edi
shr eax, 5
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x25
push eax
mov eax, esi
mov ecx, edi
shr eax, 0xa
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x18
push eax
mov ecx, edi
call fcn.00686566
test al, al
je 0x685ead
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x12
push eax
mov eax, ebx
mov ecx, edi
shr eax, 5
and al, 1
movzx eax, al
push eax
call fcn.006865bb
cmp dword [esp + 0x1c], 0x60000
jne 0x685ef0
lea eax, [esp + 0x12]
shr ebx, 0x15
push eax
and bl, 1
mov byte [esp + 0x16], 0xa
movzx eax, bl
mov ecx, edi
push eax
call fcn.006865bb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 9
push eax
mov eax, dword [esp + 0x3c]
mov ecx, edi
shr eax, 8
and al, 1
movzx eax, al
push eax
call fcn.006865bb
mov eax, dword [esp + 0x20]
cmp eax, 0xd
jb 0x685fb2
push 0xd
pop eax
xor ecx, ecx
push ebx
cpuid
mov esi, ebx
pop ebx
nop
lea ebx, [esp + 0x2c]
mov dword [ebx], eax
mov eax, dword [esp + 0x14]
mov dword [ebx + 4], esi
mov dword [ebx + 8], ecx
mov dword [ebx + 0xc], edx
and eax, dword [esp + 0x2c]
and eax, 0x18
cmp al, 0x18
jne 0x685f3f
cmp byte [esp + 0x24], 0
je 0x685f3f
lea ecx, [esp + 0x12]
mov byte [esp + 0x12], 0x55
push ecx
mov ecx, edi
call fcn.00686591
push 0xd
pop eax
xor ecx, ecx
inc ecx
push ebx
cpuid
mov esi, ebx
pop ebx
nop
lea ebx, [esp + 0x2c]
mov byte [esp + 0x12], 0x8f
mov dword [ebx], eax
lea eax, [esp + 0x12]
mov dword [ebx + 4], esi
mov dword [ebx + 8], ecx
mov ecx, edi
push eax
mov dword [ebx + 0xc], edx
mov ebx, dword [esp + 0x30]
mov al, bl
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x8e
push eax
mov eax, ebx
mov ecx, edi
shr eax, 1
and al, 1
movzx eax, al
push eax
call fcn.006865bb
shr ebx, 3
lea eax, [esp + 0x12]
push eax
and bl, 1
mov byte [esp + 0x16], 0x90
movzx eax, bl
mov ecx, edi
push eax
call fcn.006865bb
mov eax, dword [esp + 0x20]
cmp eax, 0xe
jb 0x685ff0
push 0xe
pop eax
xor ecx, ecx
push ebx
cpuid
mov esi, ebx
pop ebx
nop
lea ebx, [esp + 0x2c]
mov byte [esp + 0x12], 0x61
mov dword [ebx], eax
lea eax, [esp + 0x12]
push eax
mov dword [ebx + 4], esi
mov dword [ebx + 8], ecx
mov ecx, edi
mov dword [ebx + 0xc], edx
mov eax, dword [esp + 0x34]
shr eax, 4
and al, 1
movzx eax, al
push eax
call fcn.006865bb
mov eax, 0x80000000
mov ebx, eax
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x18]
add eax, 0x34
mov dword [esp + 0x14], ebx
mov dword [esp + 0x24], eax
mov eax, ebx
xor ecx, ecx
push ebx
cpuid
mov esi, ebx
pop ebx
nop
lea ebx, [esp + 0x2c]
mov dword [ebx], eax
mov dword [ebx + 4], esi
mov dword [ebx + 8], ecx
mov dword [ebx + 0xc], edx
mov ebx, dword [esp + 0x14]
cmp ebx, 0x80000000
je 0x68644c
cmp ebx, 0x80000001
je 0x6861c7
cmp ebx, 0x80000002
je 0x686184
cmp ebx, 0x80000003
je 0x686184
cmp ebx, 0x80000004
je 0x686184
cmp ebx, 0x80000008
je 0x686111
mov eax, 0x8000001f
cmp ebx, eax
jne 0x68645e
mov ebx, dword [esp + 0x2c]
lea eax, [esp + 0x12]
push eax
mov al, bl
mov byte [esp + 0x16], 0x76
and al, 1
mov ecx, edi
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x6d
push eax
mov eax, ebx
mov ecx, edi
shr eax, 1
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x6e
push eax
mov eax, ebx
mov ecx, edi
shr eax, 3
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x6f
push eax
mov eax, ebx
mov ecx, edi
shr eax, 4
and al, 1
movzx eax, al
push eax
call fcn.006865bb
shr ebx, 6
lea eax, [esp + 0x12]
push eax
and bl, 1
mov byte [esp + 0x16], 0x63
movzx eax, bl
mov ecx, edi
push eax
call fcn.006865bb
mov ebx, dword [esp + 0x14]
jmp 0x68645e
mov bl, byte [esp + 0x30]
lea eax, [esp + 0x12]
push eax
and ebx, 0xffffff01
mov byte [esp + 0x16], 0x30
push ebx
mov ecx, edi
call fcn.006865bb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x65
push eax
push ebx
mov ecx, edi
call fcn.006865bb
mov ebx, dword [esp + 0x30]
lea eax, [esp + 0x12]
push eax
mov eax, ebx
mov byte [esp + 0x16], 0x4d
shr eax, 8
mov ecx, edi
and al, 1
movzx eax, al
push eax
call fcn.006865bb
shr ebx, 9
lea eax, [esp + 0x12]
push eax
and bl, 1
mov byte [esp + 0x16], 0x8a
movzx eax, bl
mov ecx, edi
push eax
call fcn.006865bb
mov ebx, 0x8000001e
jmp 0x68645e
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x2c]
push 4
pop edx
mov dword [ecx], eax
add ecx, edx
mov eax, dword [esp + 0x30]
mov dword [ecx], eax
add ecx, edx
mov eax, dword [esp + 0x34]
mov dword [ecx], eax
add ecx, edx
mov eax, dword [esp + 0x38]
mov dword [ecx], eax
add ecx, edx
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x18]
cmp ebx, 0x80000004
jne 0x686462
add ebx, 3
jmp 0x686462
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x49
push eax
mov eax, dword [esp + 0x38]
mov ecx, edi
mov dword [esp + 0x18], eax
and al, 1
movzx eax, al
push eax
call fcn.006865bb
mov esi, dword [esp + 0x34]
lea eax, [esp + 0x12]
push eax
mov eax, esi
mov byte [esp + 0x16], 0x80
shr eax, 2
mov ecx, edi
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x4c
push eax
mov eax, esi
mov ecx, edi
shr eax, 5
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x7e
push eax
mov eax, esi
mov ecx, edi
shr eax, 6
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x58
push eax
mov eax, esi
mov ecx, edi
shr eax, 7
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x5f
push eax
mov eax, esi
mov ecx, edi
shr eax, 8
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x72
push eax
mov eax, esi
mov ecx, edi
shr eax, 0xc
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x4b
push eax
mov eax, esi
mov ecx, edi
shr eax, 0xf
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x81
push eax
mov eax, esi
mov ecx, edi
shr eax, 0x15
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x51
push eax
mov eax, esi
mov ecx, edi
shr eax, 0x1d
and al, 1
movzx eax, al
push eax
call fcn.006865bb
mov esi, dword [esp + 0x38]
lea eax, [esp + 0x12]
push eax
mov eax, esi
mov byte [esp + 0x16], 2
shr eax, 0x14
mov ecx, edi
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x41
push eax
mov eax, esi
mov ecx, edi
shr eax, 0x15
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x4f
push eax
mov eax, esi
mov ecx, edi
shr eax, 0x16
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x69
push eax
mov eax, esi
mov ecx, edi
shr eax, 0x1b
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x5f
push eax
mov eax, esi
mov ecx, edi
shr eax, 0x1d
and al, 1
movzx eax, al
push eax
call fcn.006865bb
mov eax, esi
mov byte [esp + 0x13], 0x4f
shr eax, 0x1e
mov ecx, edi
and al, 1
mov byte [esp + 0x12], 4
mov byte [esp + 0x1c], al
lea eax, [esp + 0x12]
push eax
push dword [esp + 0x20]
call fcn.006865bb
lea eax, [esp + 0x13]
mov ecx, edi
push eax
push dword [esp + 0x20]
call fcn.006865bb
lea eax, [esp + 0x12]
shr esi, 0x1f
push eax
push esi
mov ecx, edi
mov byte [esp + 0x1a], 0x5f
call fcn.006865bb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0xe
push eax
mov ecx, edi
call fcn.00686566
test al, al
je 0x686411
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x8c
push eax
mov eax, dword [esp + 0x18]
mov ecx, edi
shr eax, 0xb
and al, 1
movzx eax, al
push eax
call fcn.006865bb
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 0x3a
push eax
mov eax, dword [esp + 0x18]
mov ecx, edi
shr eax, 0x10
and al, 1
movzx eax, al
push eax
call fcn.006865bb
mov ecx, dword [esp + 0x18]
mov esi, 0x727008
xor edx, edx
movzx eax, byte [ecx + edx + 0x24]
cmp al, byte [esi + edx]
jne 0x686462
inc edx
cmp edx, 4
jne 0x68641c
lea eax, [esp + 0x12]
mov byte [esp + 0x12], 7
push eax
mov eax, dword [esp + 0x18]
mov ecx, edi
shr eax, 4
and al, 1
movzx eax, al
push eax
call fcn.006865bb
jmp 0x68645e
mov ecx, dword [esp + 0x2c]
mov eax, 0x8000001f
cmp ecx, eax
cmova ecx, eax
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x18]
inc ebx
mov dword [esp + 0x14], ebx
cmp ebx, dword [esp + 0x20]
jbe 0x68600a
lea eax, [ecx + 0x34]
xor ch, ch
mov edx, eax
jmp 0x686496
cmp cl, 0x20
jne 0x686490
cmp ch, 0x40
je 0x686495
mov bl, byte [eax + 1]
cmp bl, cl
je 0x686495
cmp bl, 0x40
je 0x686495
mov byte [edx], cl
mov ch, cl
inc edx
inc eax
mov cl, byte [eax]
mov byte [eax], 0
test cl, cl
jne 0x68647a
mov ecx, dword [esp + 0x3c]
pop edi
pop esi
pop ebx
xor ecx, esp
mov byte [edx], 0
call fcn.006dd431
mov esp, ebp
pop ebp
ret