Function at 0x4124b0
Capabilities:
Contain obfuscated stackstrings
Get number of processors

Disassembly:
push ecx
jmp 0x412185
or ecx, 0x14f47
pop ecx
push edx
xor edx, 0x3d01
sub edx, 0xe2ca
pop edx
push eax
sub eax, 0x108fb
pop eax
push ecx
push ebx
add esp, 4
or ecx, 0xf821
pop ecx
lea edx, [ebp - 0x1738]
mov dword [ebp - 0xcc0], edx
mov eax, dword [ebp - 0x514]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xcbc], ecx
xor edx, edx
mov word [ebp - 0x21c], dx
xor eax, eax
mov word [ebp - 0x38], ax
push edi
push eax
add esp, 4
xor edi, 0x83f2
call 0x4121f3
add byte [ebx + 0x33], cl
xor esi, dword [edi]
inc ecx
aas
dec esi
dec ebp
dec edi
add esp, 4
sub edi, 0x6581
xor edi, 0x7593
pop edi
push eax
jmp 0x412209
pop eax
mov ecx, dword [ebp - 0xcbc]
mov dx, word [ecx]
mov word [ebp - 0x103e], dx
mov eax, dword [ebp - 0xcbc]
add eax, 2
mov dword [ebp - 0xcbc], eax
mov cx, word [ebp - 0x103e]
mov word [ebp - 0x21c], cx
mov edx, dword [ebp - 0xcc0]
mov ax, word [edx]
mov word [ebp - 0x1040], ax
mov ecx, dword [ebp - 0xcc0]
add ecx, 2
mov dword [ebp - 0xcc0], ecx
mov dx, word [ebp - 0x1040]
mov word [ebp - 0x38], dx
push esi
push edi
add esp, 4
jmp 0x41226b
and esi, 0x134ac
pop esi
push edx
call 0x412282
add byte [eax + 0x32], cl
aaa
xor edi, dword [ebx]
xor al, 0x47
cmp eax, 0x4c4833d
and edx, 0x9706
jmp 0x412292
pop edx
movzx eax, word [ebp - 0x38]
test eax, eax
jne 0x4122b0
movzx ecx, word [ebp - 0x21c]
movzx edx, word [ebp - 0x38]
sub ecx, edx
mov dword [ebp - 0x161c], ecx
jmp 0x41230a
movzx eax, word [ebp - 0x21c]
movzx ecx, word [ebp - 0x38]
cmp eax, ecx
je 0x4121d8
movzx edx, word [ebp - 0x21c]
xor edx, 0x20
movzx eax, word [ebp - 0x38]
cmp edx, eax
je 0x4121d8
movzx ecx, word [ebp - 0x21c]
movzx edx, word [ebp - 0x38]
cmp ecx, edx
jge 0x4122f4
mov dword [ebp - 0x1618], 0xffffffff
jmp 0x4122fe
mov dword [ebp - 0x1618], 1
mov eax, dword [ebp - 0x1618]
mov dword [ebp - 0x161c], eax
cmp dword [ebp - 0x161c], 0
jne 0x412353
push esi
push edx
add esp, 4
and esi, 0x127f3
sub esi, 0x110d3
pop esi
push eax
or eax, 0x126f7
call 0x41233b
add byte [ebx], bh
cmp ecx, dword [edi + 0x33]
inc edx
inc ebx
xor eax, 0x4c48335
or eax, 0x7a1f
pop eax
mov ecx, dword [ebp - 0x514]
mov dword [ebp - 0x2fc], ecx
jmp 0x4123bb
push eax
push eax
add esp, 4
add eax, 0x12cad
pop eax
push edx
push esi
add esp, 4
add edx, 0xbc31
pop edx
push edx
push eax
add esp, 4
xor edx, 0x9404
pop edx
push edx
and edx, 0xc2a7
xor edx, 0x6c34
pop edx
mov edx, dword [ebp - 0x514]
mov eax, dword [edx]
mov dword [ebp - 0x514], eax
mov ecx, dword [ebp - 0x514]
cmp ecx, dword [ebp - 0xcc4]
je 0x4123b1
mov edx, dword [ebp - 0x514]
cmp dword [edx + 0x30], 0
jne 0x41217c
mov dword [ebp - 0x2fc], 0
push eax
and eax, 0x5e9f
or eax, 0x7e29
and eax, 0xf794
pop eax
push edi
push ecx
add esp, 4
and edi, 0x156a6
add edi, 0x8aa3
sub edi, 0x8d72
add edi, 0xea10
pop edi
cmp dword [ebp - 0x2fc], 0
jne 0x412cf2
mov eax, 0x6b
mov word [ebp - 0x1790], ax
mov ecx, 0x65
mov word [ebp - 0x178e], cx
mov edx, 0x72
mov word [ebp - 0x178c], dx
mov eax, 0x6e
mov word [ebp - 0x178a], ax
mov ecx, 0x65
mov word [ebp - 0x1788], cx
mov edx, 0x6c
mov word [ebp - 0x1786], dx
mov eax, 0x33
mov word [ebp - 0x1784], ax
mov ecx, 0x32
mov word [ebp - 0x1782], cx
mov edx, 0x2e
mov word [ebp - 0x1780], dx
mov eax, 0x64
mov word [ebp - 0x177e], ax
mov ecx, 0x6c
mov word [ebp - 0x177c], cx
mov edx, 0x6c
mov word [ebp - 0x177a], dx
xor eax, eax
mov word [ebp - 0x1778], ax
push esi
push esi
add esp, 4
sub esi, 0x18438
xor esi, 0x11533
call 0x4124b0
add byte [esi], dh
dec esi
inc esi
xor bh, byte [edi + edi]
add esp, 4
pop esi
push ebx
jmp 0x4124bd
jmp 0x4124c4
pop ebx
mov byte [ebp - 0x8a4], 0x4c
mov byte [ebp - 0x8a3], 0x6f
mov byte [ebp - 0x8a2], 0x61
mov byte [ebp - 0x8a1], 0x64
mov byte [ebp - 0x8a0], 0x4c
mov byte [ebp - 0x89f], 0x69
mov byte [ebp - 0x89e], 0x62
mov byte [ebp - 0x89d], 0x72
mov byte [ebp - 0x89c], 0x61
mov byte [ebp - 0x89b], 0x72
mov byte [ebp - 0x89a], 0x79
mov byte [ebp - 0x899], 0x57
mov byte [ebp - 0x898], 0
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x199c], ecx
mov edx, dword [ebp - 0x199c]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x19a0], eax
mov ecx, dword [ebp - 0x19a0]
mov dword [ebp - 0x1620], ecx
push esi
sub esi, 0x1794
and esi, 0x840f
pop esi
push eax
add eax, 0x6251
call 0x41256a
add byte [edi], dh
cmp byte [eax + 0x32], cl
inc ebx
inc edi
dec edx
add esp, 4
xor eax, 0xbe3a
sub eax, 0x9049
pop eax
cmp dword [ebp - 0x1620], 0
jne 0x412592
mov dword [ebp - 0x774], 0
jmp 0x412839
mov edx, dword [ebp - 0x1620]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xcd0], ecx
push edx
call 0x4125b2
add byte [0x4f453434], bh
push eax
add esp, 4
and edx, 0x2b95
or edx, 0x3a04
pop edx
push eax
sub eax, 0x1401d
jmp 0x4125cf
add eax, 0xf44c
pop eax
cmp dword [ebp - 0xcd0], 0
jne 0x4125ee
mov dword [ebp - 0x774], 0
jmp 0x412839
mov edx, dword [ebp - 0xcd0]
mov dword [ebp - 0x518], edx
push edx
push esi
add esp, 4
and edx, 0x1887
pop edx
push esi
push esi
add esp, 4
jmp 0x412614
pop esi
push edx
call 0x412622
add byte [0x46333637], dh
cmp al, 0x83
les eax, [ecx + eax*4]
ret 0xbf61
push eax
push eax
add esp, 4
jmp 0x412843
or eax, 0xb3e8
xor eax, 0xb4f1
pop eax
push esi
jmp 0x412857
add esi, 0x13bff
jmp 0x412864
add esi, 0x431f
pop esi
cmp dword [ebp - 0x774], 0
jne 0x4128b5
push edi
push edx
add esp, 4
call 0x412885
add byte [eax + ecx*2], dh
aaa
inc edx
aas
dec esi
add esp, 4
sub edi, 0xb55c
pop edi
push ecx
push edi
add esp, 4
call 0x4128a2
add byte [esi], bh
xor al, 0x33
aas
xor eax, dword [ecx + 0x3f]
cmp al, byte [ebx - 0x38a6fb3c]
test dword [ebp + esi*8 - 1], ecx
inc dword [eax]
add byte [eax], al
add cl, ch
sub byte [ebx], cl
add byte [eax], al
push ecx
push edx
add esp, 4
call 0x4128c7
add byte [edx + 0x36], cl
cmp eax, 0x3f404a47
add esp, 4
xor ecx, 0x83a1
add ecx, 0x62b0
call 0x4128e3
add byte [edi], bh
inc ecx
cmp bh, byte [edi]
cmp eax, 0xc4833933
add al, 0x59
mov ecx, dword [ebp - 0x774]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x3a4], edx
mov dword [ebp - 0x784], 0
mov eax, dword [ebp - 0x3a4]
mov dword [ebp - 0x166c], eax
cmp dword [ebp - 0x166c], 0
jne 0x412926
mov ecx, dword [ebp - 0x784]
mov dword [ebp - 0x3f8], ecx
jmp 0x412c17
mov edx, dword [ebp - 0x166c]
mov eax, dword [ebp - 0x3a4]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x1670], eax
jne 0x41294e
mov ecx, dword [ebp - 0x784]
mov dword [ebp - 0x3f8], ecx
jmp 0x412c17
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x1670]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x1678], edx
cmp dword [ebp - 0x1678], 0
jne 0x412980
mov eax, dword [ebp - 0x784]
mov dword [ebp - 0x3f8], eax
jmp 0x412c17
mov ecx, dword [ebp - 0x3a4]
add ecx, dword [ebp - 0x1678]
mov dword [ebp - 0x778], ecx
jne 0x4129a5
mov edx, dword [ebp - 0x784]
mov dword [ebp - 0x3f8], edx
jmp 0x412c17
mov eax, dword [ebp - 0x778]
mov ecx, dword [ebp - 0x3a4]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x19a4], ecx
mov edx, dword [ebp - 0x778]
mov eax, dword [ebp - 0x3a4]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x19a8], eax
mov ecx, dword [ebp - 0x778]
mov edx, dword [ebp - 0x3a4]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x19ac], edx
mov dword [ebp - 0x77c], 0
jmp 0x4129ff
mov eax, dword [ebp - 0x77c]
add eax, 1
mov dword [ebp - 0x77c], eax
mov ecx, dword [ebp - 0x778]
mov edx, dword [ebp - 0x77c]
cmp edx, dword [ecx + 0x18]
jae 0x412c0b
mov eax, dword [ebp - 0x77c]
mov ecx, dword [ebp - 0x19a4]
mov edx, dword [ebp - 0x3a4]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x780], edx
mov eax, dword [ebp - 0x77c]
mov ecx, dword [ebp - 0x19a8]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x19ac]
mov ecx, dword [ebp - 0x3a4]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x19b0], ecx
mov dword [ebp - 0x1a0], 0
jmp 0x412a6f
mov edx, dword [ebp - 0x1a0]
add edx, 1
mov dword [ebp - 0x1a0], edx
mov eax, dword [ebp - 0x780]
add eax, dword [ebp - 0x1a0]
movsx ecx, byte [eax]
test ecx, ecx
je 0x412b21
mov edx, dword [ebp - 0x1a0]
movsx eax, byte [ebp + edx - 0x8a4]
test eax, eax
je 0x412b21
push ecx
push ecx
add esp, 4
or ecx, 0xe6a3
xor ecx, 0x90eb
or ecx, 0x2b80
or ecx, 0x253a
pop ecx
push esi
call 0x412aca
add byte [ebp + 0x4c], al
xor bh, byte [esi + edi]
xor al, 0x40
cmp eax, 0x4c4834b
pop esi
mov ecx, dword [ebp - 0x780]
add ecx, dword [ebp - 0x1a0]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x1a0]
movsx ecx, byte [ebp + eax - 0x8a4]
cmp edx, ecx
je 0x412b13
mov edx, dword [ebp - 0x780]
add edx, dword [ebp - 0x1a0]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0x1a0]
movsx edx, byte [ebp + ecx - 0x8a4]
cmp eax, edx
jne 0x412b1a
jmp 0x412a60
jmp 0x412b21
push ecx
or ecx, 0x47d0
or ecx, 0x1ec0
add ecx, 0xed06
pop ecx
push eax
and eax, 0x131c3
jmp 0x412b45
sub eax, 0xc396
jmp 0x412b52
pop eax
mov eax, dword [ebp - 0x780]
add eax, dword [ebp - 0x1a0]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x1a0]
movsx eax, byte [ebp + edx - 0x8a4]
cmp ecx, eax
jne 0x412b80
mov dword [ebp - 0xcd4], 0
jmp 0x412bef
push esi
push eax
add esp, 4
xor esi, 0xad9f
pop esi
push ebx
call 0x412b9c
add byte [0x4138323d], dh
cmp byte [esp + ecx*2], bh
xor eax, dword [ebx - 0xc7efb3c]
ljmp 0x5056
cmp dword [ebp - 0xcd4], 0
jne 0x412c06
mov edx, dword [ebp - 0x19b0]
mov dword [ebp - 0x3f8], edx
jmp 0x412c17
jmp 0x4129f0
mov eax, dword [ebp - 0x784]
mov dword [ebp - 0x3f8], eax
cmp dword [ebp - 0x3f8], 0
je 0x412cf2
push ebx
and ebx, 0xd883
xor ebx, 0x8d28
pop ebx
push eax
call 0x412c3f
add byte [ebx + esi], dh
dec ecx
inc eax
cmp eax, 0x4c48336
jmp 0x412c49
pop eax
push ecx
push edx
add esp, 4
xor ecx, 0x2ff1
pop ecx
mov ecx, dword [ebp - 0x3f8]
mov dword [ebp - 0x19b4], ecx
push esi
push edx
add esp, 4
add esi, 0x332b
and esi, 0xc82
xor esi, 0x171ef
jmp 0x412c7e
pop esi
push ecx
xor ecx, 0x11c3c
and ecx, 0x1668d
pop ecx
push edx
jmp 0x412c93
pop edx
mov edx, dword [ebp - 0x19b4]
mov dword [ebp - 0x19b8], edx
lea eax, [ebp - 0x1738]
push eax
call dword [ebp - 0x19b8]
test eax, eax
jne 0x412cf2
push edx
add edx, 0x17093
xor edx, 0xb4a6
pop edx
push edx
xor edx, 0x15276
or edx, 0xbe16
sub edx, 0x5c52
call 0x412cdf
add byte [edx], bh
inc esi
inc esi
cmp eax, 0x83364b48
les eax, [edx + ebx*2]
mov dword [ebp - 0xab4], 0
jmp 0x4133dd
push edx
and edx, 0x137b7
pop edx
push ebx
push ebx
add esp, 4
jmp 0x412d06
jmp 0x412d0c
call 0x412d18
add byte [ecx + 0x4f], al
inc edx
push eax
xor eax, 0x4c4834b
jmp 0x412d23
pop ebx
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x19bc], ecx
mov edx, dword [ebp - 0x19bc]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x19c0], eax
mov ecx, dword [ebp - 0x19c0]
mov dword [ebp - 0x167c], ecx
push edi
push eax
add esp, 4
sub edi, 0x6079
or edi, 0x15958
pop edi
push edx
push edx
add esp, 4
sub edx, 0x8098
jmp 0x412d6e
or edx, 0xce2f
jmp 0x412d7d
pop edx
cmp dword [ebp - 0x167c], 0
jne 0x412d96
mov dword [ebp - 0x2fc], 0
jmp 0x41303d
mov edx, dword [ebp - 0x167c]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xce0], ecx
push eax
push ebx
add esp, 4
sub eax, 0x3b5e
and eax, 0xe6e4
sub eax, 0x9860
xor eax, 0xe2b
pop eax
push edx
and edx, 0xb6b
add edx, 0x14ad9
sub edx, 0x112b6
pop edx
cmp dword [ebp - 0xce0], 0
jne 0x412df2
mov dword [ebp - 0x2fc], 0
jmp 0x41303d
mov edx, dword [ebp - 0xce0]
mov dword [ebp - 0x51c], edx
push edx
push eax
add esp, 4
jmp 0x412e09
jmp 0x412e0f
pop edx
push esi
add esi, 0x176b4
and esi, 0x5cd2
pop esi
push edx
push eax
add esp, 4
xor edx, 0x121e6
add edx, 0x3e9f
pop edx
lea eax, [ebp - 0x1738]
mov dword [ebp - 0xcdc], eax
mov ecx, dword [ebp - 0x51c]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xcd8], edx
xor eax, eax
mov word [ebp - 0x224], ax
xor ecx, ecx
mov word [ebp - 0x40], cx
push edi
push esi
add esp, 4
or edi, 0x7da
xor edi, 0x9e56
add edi, 0x74b1
sub edi, 0x17441
pop edi
push esi
xor esi, 0x8015
or esi, 0x329c
or esi, 0x6dfc
pop esi
mov edx, dword [ebp - 0xcd8]
mov ax, word [edx]
mov word [ebp - 0x1046], ax
mov ecx, dword [ebp - 0xcd8]
add ecx, 2
mov dword [ebp - 0xcd8], ecx
mov dx, word [ebp - 0x1046]
mov word [ebp - 0x224], dx
mov eax, dword [ebp - 0xcdc]
mov cx, word [eax]
mov word [ebp - 0x1048], cx
mov edx, dword [ebp - 0xcdc]
add edx, 2
mov dword [ebp - 0xcdc], edx
mov ax, word [ebp - 0x1048]
mov word [ebp - 0x40], ax
push eax
or eax, 0x2265
jmp 0x412eef
pop eax
push edx
push eax
add esp, 4
add edx, 0xb941
call 0x412f0b
add byte [ecx + 0x48], al
push eax
cmp bh, byte [0x4f343834]
dec eax
add esp, 4
and edx, 0x9150
pop edx
movzx ecx, word [ebp - 0x40]
test ecx, ecx
jne 0x412f32
movzx edx, word [ebp - 0x224]
movzx eax, word [ebp - 0x40]
sub edx, eax
mov dword [ebp - 0x1684], edx
jmp 0x412f8c
movzx ecx, word [ebp - 0x224]
movzx edx, word [ebp - 0x40]
cmp ecx, edx
je 0x412e5a
movzx eax, word [ebp - 0x224]
xor eax, 0x20
movzx ecx, word [ebp - 0x40]
cmp eax, ecx
je 0x412e5a
movzx edx, word [ebp - 0x224]
movzx eax, word [ebp - 0x40]
cmp edx, eax
jge 0x412f76
mov dword [ebp - 0x1680], 0xffffffff
jmp 0x412f80
mov dword [ebp - 0x1680], 1
mov ecx, dword [ebp - 0x1680]
mov dword [ebp - 0x1684], ecx
cmp dword [ebp - 0x1684], 0
jne 0x412fd5
push esi
or esi, 0x923
or esi, 0x73a6
add esi, 0xd9c4
xor esi, 0x512
pop esi
push esi
push edx
add esp, 4
xor esi, 0x10f35
and esi, 0x4c49
and esi, 0x1818d
pop esi
mov edx, dword [ebp - 0x51c]
mov dword [ebp - 0x2fc], edx
jmp 0x41303d
push eax
call 0x412fe3
add byte [edx], bh
dec edx
dec esi
dec eax
dec edi
inc ebx
add esp, 4
add eax, 0xb179
pop eax
push ebx
jmp 0x412ff4
sub ebx, 0x3bb9
sub ebx, 0x12a72
add ebx, 0x6682
pop ebx
mov eax, dword [ebp - 0x51c]
mov ecx, dword [eax]
mov dword [ebp - 0x51c], ecx
mov edx, dword [ebp - 0x51c]
cmp edx, dword [ebp - 0xce0]
je 0x413033
mov eax, dword [ebp - 0x51c]
cmp dword [eax + 0x30], 0
jne 0x412dfe
mov dword [ebp - 0x2fc], 0
push ebx
and ebx, 0x74b0
add ebx, 0x16a5
add ebx, 0x1660
pop ebx
push edi
call 0x41305f
add byte [ebx + 0x3b], cl
inc ecx
dec esp
dec esi
xor eax, 0x4c48350
pop edi
push eax
push edx
add esp, 4
and eax, 0x17f48
pop eax
mov ecx, dword [ebp - 0x2fc]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x338], edx
push edx
push ecx