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

Disassembly:
push ecx
push edi
add esp, 4
and ecx, 0xe175
sub ecx, 0xeaa0
jmp 0x10023e46
pop ecx
push eax
add eax, 0xf953
jmp 0x10023e56
jmp 0x10023e5e
pop eax
lea ecx, [ebp - 0x1740]
invalid
shr al, 0xff
dec dword [ecx - 0xc9773]
dec dword [ebx - 0x5076b]
dec dword [ebx - 0x7a76cfbe]
insb byte es:[edi], dx
invalid
invalid
push dword [ebx]
leave
mov word [ebp - 0x210], cx
xor edx, edx
mov word [ebp - 0x10c], dx
push edx
push eax
add esp, 4
xor edx, 0x12142
sub edx, 0xe3a4
sub edx, 0x2021
pop edx
push esi
xor esi, 0x8333
jmp 0x10023eb4
jmp 0x10023ebd
pop esi
mov eax, dword [ebp - 0xc94]
mov cx, word [eax]
mov word [ebp - 0x1036], cx
mov edx, dword [ebp - 0xc94]
insb byte es:[edi], dx
invalid
invalid
inc dword [ebx - 0x6a76fd3e]
insb byte es:[edi], dx
invalid
invalid
jmp dword [esi - 0x75]
test edx, ecx
out dx, eax
invalid
jmp dword [esi - 0x77]
test eax, esi
std
invalid
dec dword [ebx - 0xc9773]
jmp dword [esi - 0x75]
adc dword [esi - 0x77], esp
xchg ebp, eax
enter 0xffffffffffffffef, 0xffffffffffffffff
mov eax, dword [ebp - 0xc98]
add eax, 2
mov dword [ebp - 0xc98], eax
mov cx, word [ebp - 0x1038]
mov word [ebp - 0x10c], cx
push edx
push edi
add esp, 4
jmp 0x10023f23
sub edx, 0xc8eb
call 0x10023f36
add byte [ebp + 0x32], al
inc esp
inc ebp
cmp bh, byte [ebx]
aaa
add esp, 4
call 0x10023f46
add byte [ebp + edi + 0x44], al
cmp eax, 0x43374f44
cmp eax, 0x43374f44
inc eax
add esp, 4
pop edx
movzx edx, word [ebp - 0x10c]
test edx, edx
jne 0x10023f6d
movzx eax, word [ebp - 0x210]
movzx ecx, word [ebp - 0x10c]
sub eax, ecx
mov dword [ebp - 0x15e8], eax
jmp 0x10023fd0
movzx edx, word [ebp - 0x210]
movzx eax, word [ebp - 0x10c]
cmp edx, eax
je 0x10023e8c
movzx ecx, word [ebp - 0x210]
xor ecx, 0x20
movzx edx, word [ebp - 0x10c]
cmp ecx, edx
je 0x10023e8c
movzx eax, word [ebp - 0x210]
movzx ecx, word [ebp - 0x10c]
cmp eax, ecx
jge 0x10023fba
mov dword [ebp - 0x15e4], 0xffffffff
jmp 0x10023fc4
mov dword [ebp - 0x15e4], 1
mov edx, dword [ebp - 0x15e4]
mov dword [ebp - 0x15e8], edx
cmp dword [ebp - 0x15e8], 0
jne 0x10024019
push edi
or edi, 0x3d5
pop edi
push esi
push eax
add esp, 4
call 0x10023ff5
add byte [ecx + eax*2 + 0x44], cl
dec esi
cmp dh, byte [edi]
inc edi
cmp byte [edi], bh
add esp, 4
add esi, 0xf7b5
pop esi
push esi
push ecx
add esp, 4
add esi, 0x8898
pop esi
mov eax, dword [ebp - 0x508]
mov dword [ebp - 0x2d4], eax
jmp 0x10024081
push edi
or edi, 0x1e99
pop edi
push ecx
sub ecx, 0x151b
or ecx, 0x12f31
jmp 0x10024036
and ecx, 0x9dee
pop ecx
push esi
and esi, 0x27f9
sub esi, 0x10896
pop esi
mov ecx, dword [ebp - 0x508]
mov edx, dword [ecx]
mov dword [ebp - 0x508], edx
mov eax, dword [ebp - 0x508]
cmp eax, dword [ebp - 0xc9c]
je 0x10024077
mov ecx, dword [ebp - 0x508]
cmp dword [ecx + 0x30], 0
jne 0x10023e2d
mov dword [ebp - 0x2d4], 0
push ecx
push edi
add esp, 4
sub ecx, 0x13f9b
pop ecx
push edx
sub edx, 0x13cb4
xor edx, 0xdf6c
and edx, 0xf00a
and edx, 0x14c41
pop edx
push esi
push edx
add esp, 4
jmp 0x100240b2
pop esi
cmp dword [ebp - 0x2d4], 0
jne 0x100249cc
mov edx, 0x6b
mov word [ebp - 0x1784], dx
mov eax, 0x65
mov word [ebp - 0x1782], ax
mov ecx, 0x72
mov word [ebp - 0x1780], cx
mov edx, 0x6e
mov word [ebp - 0x177e], dx
mov eax, 0x65
mov word [ebp - 0x177c], ax
mov ecx, 0x6c
mov word [ebp - 0x177a], cx
mov edx, 0x33
mov word [ebp - 0x1778], dx
mov eax, 0x32
mov word [ebp - 0x1776], ax
mov ecx, 0x2e
mov word [ebp - 0x1774], cx
mov edx, 0x64
mov word [ebp - 0x1772], dx
mov eax, 0x6c
mov word [ebp - 0x1770], ax
mov ecx, 0x6c
mov word [ebp - 0x176e], cx
xor edx, edx
mov word [ebp - 0x176c], dx
push esi
add esi, 0x8aa0
push eax
xor eax, 0x8f03
xor eax, 0x7d21
xor eax, 0x3949
xor eax, 0x15205
pop eax
push ecx
push edi
add esp, 4
xor ecx, 0x568d
pop ecx
push ecx
push ecx
add esp, 4
or ecx, 0xfe89
pop ecx
mov eax, dword fs:[0x18]
mov dword [ebp - 0x1988], eax
mov ecx, dword [ebp - 0x1988]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x198c], edx
mov eax, dword [ebp - 0x198c]
mov dword [ebp - 0x1604], eax
push ebx
add ebx, 0xfe36
add ebx, 0x3e3b
sub ebx, 0x17b5d
or ebx, 0x13af3
pop ebx
push ecx
push ebx
add esp, 4
sub ecx, 0x3a3a
sub ecx, 0x5e51
and ecx, 0x137b3
pop ecx
cmp dword [ebp - 0x1604], 0
jne 0x10024a6f
mov dword [ebp - 0x2d4], 0
jmp 0x10024d16
mov ecx, dword [ebp - 0x1604]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xcb8], eax
push ecx
call 0x10024a8f
add byte [edi + 0x45], cl
xor ecx, dword [edi + 0x37]
inc ebp
add esp, 4
pop ecx
push ecx
push edi
add esp, 4
sub ecx, 0x6ddc
and ecx, 0x3faf
xor ecx, 0x14a5a
pop ecx
push ecx
or ecx, 0x127c3
pop ecx
cmp dword [ebp - 0xcb8], 0
jne 0x10024acb
mov dword [ebp - 0x2d4], 0
jmp 0x10024d16
mov ecx, dword [ebp - 0xcb8]
mov dword [ebp - 0x510], ecx
push esi
sub esi, 0x55df
call 0x10024aec
add byte [eax], bh
aas
inc ecx
inc esp
xor eax, 0x834a4f41
les eax, [ecx + eax*4]
out 0x6b, al
dec esp
add byte [eax], al
call 0x10024b05
add byte [edi + 0x3c], cl
inc eax
cmp ecx, dword [esi + 0x50]
dec edi
dec eax
cmp byte [ecx], bh
add esp, 4
pop esi
lea edx, [ebp - 0x1740]
mov dword [ebp - 0xcb4], edx
mov eax, dword [ebp - 0x510]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xcb0], ecx
xor edx, edx
mov word [ebp - 0x218], dx
xor eax, eax
mov word [ebp - 0x34], ax
push esi
jmp 0x10024b3a
and esi, 0xda67
xor esi, 0x87a4
add esi, 0xd9db
pop esi
push eax
push edx
add esp, 4
and eax, 0xe0fa
xor eax, 0x85b3
sub eax, 0xff58
pop eax
mov ecx, dword [ebp - 0xcb0]
mov dx, word [ecx]
mov word [ebp - 0x103e], dx
mov eax, dword [ebp - 0xcb0]
add eax, 2
mov dword [ebp - 0xcb0], eax
mov cx, word [ebp - 0x103e]
mov word [ebp - 0x218], cx
mov edx, dword [ebp - 0xcb4]
mov ax, word [edx]
mov word [ebp - 0x1040], ax
mov ecx, dword [ebp - 0xcb4]
add ecx, 2
mov dword [ebp - 0xcb4], ecx
mov dx, word [ebp - 0x1040]
mov word [ebp - 0x34], dx
push ebx
jmp 0x10024bc3
call 0x10024bcf
add byte [edi], dh
xor esi, dword [edi]
inc ebx
inc ebx
inc esi
add esp, 4
jmp 0x10024bdb
sub ebx, 0xb483
pop ebx
push ebx
push ebx
add esp, 4
sub ebx, 0xb58c
pop ebx
movzx eax, word [ebp - 0x34]
test eax, eax
jne 0x10024c0b
movzx ecx, word [ebp - 0x218]
movzx edx, word [ebp - 0x34]
sub ecx, edx
mov dword [ebp - 0x160c], ecx
jmp 0x10024c65
movzx eax, word [ebp - 0x218]
movzx ecx, word [ebp - 0x34]
cmp eax, ecx
je 0x10024b33
movzx edx, word [ebp - 0x218]
xor edx, 0x20
movzx eax, word [ebp - 0x34]
cmp edx, eax
je 0x10024b33
movzx ecx, word [ebp - 0x218]
movzx edx, word [ebp - 0x34]
cmp ecx, edx
jge 0x10024c4f
mov dword [ebp - 0x1608], 0xffffffff
jmp 0x10024c59
mov dword [ebp - 0x1608], 1
mov eax, dword [ebp - 0x1608]
mov dword [ebp - 0x160c], eax
cmp dword [ebp - 0x160c], 0
jne 0x10024cae
push edi
sub edi, 0x13bbd
call 0x10024c85
add byte [edi + 0x4b], cl
cmp al, 0x44
inc ebx
aaa
dec ebx
cmp eax, 0x4c48341
pop edi
push ebx
push ecx
add esp, 4
call 0x10024c9c
add byte [ebp + 0x42], cl
cmp ecx, dword [esp + esi + 0x37]
dec esi
dec ebx
add esp, 4
pop ebx
mov ecx, dword [ebp - 0x510]
mov dword [ebp - 0x2d4], ecx
jmp 0x10024d16
push edi
push edi
add esp, 4
call 0x10024cc3
add byte [esi], dh
aas
dec esi
xor eax, 0x46394439
dec eax
xor eax, dword [ebx + 0x525f04c4]
jmp 0x10024ccd
sub edx, 0xc8d9
or edx, 0x1250f
or edx, 0x197a
pop edx
mov edx, dword [ebp - 0x510]
mov eax, dword [edx]
mov dword [ebp - 0x510], eax
mov ecx, dword [ebp - 0x510]
cmp ecx, dword [ebp - 0xcb8]
je 0x10024d0c
mov edx, dword [ebp - 0x510]
cmp dword [edx + 0x30], 0
jne 0x10024ad7
mov dword [ebp - 0x2d4], 0
push ebx
push ecx
add esp, 4
and ebx, 0xeef5
or ebx, 0x7b8d
xor ebx, 0x55ba
sub ebx, 0x6af4
pop ebx
push ecx
sub ecx, 0x2453
add ecx, 0x5376
xor ecx, 0xa202
pop ecx
mov eax, dword [ebp - 0x2d4]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x324], ecx
push ebx
add ebx, 0x326e
jmp 0x10024d64
add ebx, 0xfed5
add ebx, 0x1835b
pop ebx
push ecx
push edi
add esp, 4
add ecx, 0x1493a
pop ecx
push ecx
push edi
add esp, 4
sub ecx, 0x1436b
pop ecx
mov dword [ebp - 0x774], 0
mov edx, dword [ebp - 0x324]
mov dword [ebp - 0x1610], edx
cmp dword [ebp - 0x1610], 0
jne 0x10024db9
mov eax, dword [ebp - 0x774]
mov dword [ebp - 0x514], eax
jmp 0x100250aa
mov ecx, dword [ebp - 0x1610]
mov edx, dword [ebp - 0x324]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x1614], edx
jne 0x10024de1
mov eax, dword [ebp - 0x774]
mov dword [ebp - 0x514], eax
jmp 0x100250aa
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x1614]
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x1618], ecx
cmp dword [ebp - 0x1618], 0
jne 0x10024e13
mov edx, dword [ebp - 0x774]
mov dword [ebp - 0x514], edx
jmp 0x100250aa
mov eax, dword [ebp - 0x324]
add eax, dword [ebp - 0x1618]
mov dword [ebp - 0x768], eax
jne 0x10024e38
mov ecx, dword [ebp - 0x774]
mov dword [ebp - 0x514], ecx
jmp 0x100250aa
mov edx, dword [ebp - 0x768]
mov eax, dword [ebp - 0x324]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x1990], eax
mov ecx, dword [ebp - 0x768]
mov edx, dword [ebp - 0x324]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x1994], edx
mov eax, dword [ebp - 0x768]
mov ecx, dword [ebp - 0x324]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x1998], ecx
mov dword [ebp - 0x76c], 0
jmp 0x10024e92
mov edx, dword [ebp - 0x76c]
add edx, 1
mov dword [ebp - 0x76c], edx
mov eax, dword [ebp - 0x768]
mov ecx, dword [ebp - 0x76c]
cmp ecx, dword [eax + 0x18]
jae 0x1002509e
mov edx, dword [ebp - 0x76c]
mov eax, dword [ebp - 0x1990]
mov ecx, dword [ebp - 0x324]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x770], ecx
mov edx, dword [ebp - 0x76c]
mov eax, dword [ebp - 0x1994]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x1998]
mov eax, dword [ebp - 0x324]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x1d20], eax
mov dword [ebp - 0x198], 0
jmp 0x10024f02
mov ecx, dword [ebp - 0x198]
add ecx, 1
mov dword [ebp - 0x198], ecx
mov edx, dword [ebp - 0x770]
add edx, dword [ebp - 0x198]
movsx eax, byte [edx]
test eax, eax
je 0x10024fb4
mov ecx, dword [ebp - 0x198]
movsx edx, byte [ebp + ecx - 0x87c]
test edx, edx
je 0x10024fb4
push edi
and edi, 0x4ce2
pop edi
push ecx
call 0x10024f47
add byte [ecx + 0x43], al
inc eax
inc esi
push eax
push eax
aaa
cmp dword [ebx - 0x7d], ecx
les eax, [ecx + eax*4]
ror dword [ebx + 0x79], 0
add al, ch
or byte [eax], al
add byte [eax], al
add byte [eax + 0x3a], cl
cmp edi, dword [0x834a374d]
les eax, [ecx + ebx*2]
mov eax, dword [ebp - 0x770]
add eax, dword [ebp - 0x198]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x198]
movsx eax, byte [ebp + edx - 0x87c]
cmp ecx, eax
je 0x10024fa6
mov ecx, dword [ebp - 0x770]
add ecx, dword [ebp - 0x198]
movsx edx, byte [ecx]
xor edx, 0x20
mov eax, dword [ebp - 0x198]
movsx ecx, byte [ebp + eax - 0x87c]
cmp edx, ecx
jne 0x10024fad
jmp 0x10024ef3
jmp 0x10024fb4
push esi
or esi, 0x10e91
or esi, 0x11e4
pop esi
push edi
jmp 0x10024fca
jmp 0x10024fcf
call 0x10024fdd
add byte [edx], bh
inc esp
inc esi
inc ebp
cmp edi, dword [edx]
dec eax
add esp, 4
jmp 0x10024fe5
pop edi
mov edx, dword [ebp - 0x770]
add edx, dword [ebp - 0x198]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x198]
movsx edx, byte [ebp + ecx - 0x87c]
cmp eax, edx
jne 0x10025013
mov dword [ebp - 0xcbc], 0
jmp 0x10025082
push edx
push edx
add esp, 4
jmp 0x10025021
add edx, 0x3293
pop edx
push esi
and esi, 0xc434
jmp 0x10025038
xor esi, 0x1586e
and esi, 0x10919
pop esi
mov eax, dword [ebp - 0x770]
add eax, dword [ebp - 0x198]
movsx ecx, byte [eax]
or ecx, 0x20
mov edx, dword [ebp - 0x198]
movsx eax, byte [ebp + edx - 0x87c]
or eax, 0x20
cmp ecx, eax
jge 0x10025078
mov dword [ebp - 0xcbc], 0xffffffff
jmp 0x10025082
mov dword [ebp - 0xcbc], 1
cmp dword [ebp - 0xcbc], 0
jne 0x10025099
mov ecx, dword [ebp - 0x1d20]
mov dword [ebp - 0x514], ecx
jmp 0x100250aa
jmp 0x10024e83
mov edx, dword [ebp - 0x774]
mov dword [ebp - 0x514], edx
mov eax, dword [ebp - 0x514]
mov dword [ebp - 0x7a0], eax
push ebx
xor ebx, 0xa433
or ebx, 0x11866
or ebx, 0x313
add ebx, 0x1856e
pop ebx
push ecx
push ebx
add esp, 4
and ecx, 0xe08b
add ecx, 0xe5cc
or ecx, 0x12d6b
pop ecx
mov ecx, dword [ebp - 0x3e4]
add ecx, 0xe
mov dword [ebp - 0x19e8], ecx
push esi
push edi
add esp, 4
or esi, 0x13398
or esi, 0x1019d
add esi, 0x17684
or esi, 0x14c30
pop esi
push edi
sub edi, 0xe69b
jmp 0x10025122
add edi, 0xf013
pop edi
cmp dword [ebp - 0x3e4], 0
je 0x1002513b
cmp dword [ebp - 0xac4], 0
jne 0x10025181
push ecx
push edi
add esp, 4
jmp 0x10025146
pop ecx
push edi
call 0x10025156
add byte [ebx], bh
xor al, 0x46
dec ebx
cmp byte ss:[edx + 0x34], cl
add esp, 4
jmp 0x10025160
sub edi, 0x1733f
or edi, 0x1e88
pop edi
mov edx, dword [ebp - 0x7a0]
mov dword [ebp - 0x199c], edx
push 0
call dword [ebp - 0x199c]
mov dword [ebp - 0x20b4], 0xa
push eax
or eax, 0xdaee
pop eax
push ecx
call 0x100251a1
add byte [ebp + 0x33], cl
inc ebp
aaa
dec eax
dec edi
aas
add esp, 4
add ecx, 0x8e93
xor ecx, 0xa5b5
pop ecx
push edi
push ebx
add esp, 4
xor edi, 0xce0f
pop edi
mov eax, dword [ebp - 0x3e4]
mov cl, byte [eax + 0xa]
mov byte [ebp - 0x3ed], cl
mov edx, dword [ebp - 0xac4]
sub edx, dword [ebp - 0x3e4]
mov dword [ebp - 0x169c], edx
mov dword [ebp - 0xcec], 0
push ecx
sub ecx, 0x27ab
and ecx, 0xe2c7
pop ecx
push edi
push edx
add esp, 4
sub edi, 0x24bb
xor edi, 0xd7e
pop edi
push ecx
push eax
add esp, 4
xor ecx, 0xdeaf
xor ecx, 0x17714
pop ecx
mov byte [ebp - 0x9d8], 0x56
mov byte [ebp - 0x9d7], 0x69
mov byte [ebp - 0x9d6], 0x72
mov byte [ebp - 0x9d5], 0x74
mov byte [ebp - 0x9d4], 0x75
mov byte [ebp - 0x9d3], 0x61
mov byte [ebp - 0x9d2], 0x6c
mov byte [ebp - 0x9d1], 0x50
mov byte [ebp - 0x9d0], 0x72
mov byte [ebp - 0x9cf], 0x6f
mov byte [ebp - 0x9ce], 0x74
mov byte [ebp - 0x9cd], 0x65
mov byte [ebp - 0x9cc], 0x63
mov byte [ebp - 0x9cb], 0x74
mov byte [ebp - 0x9ca], 0
push eax
push esi
add esp, 4
jmp 0x10025290
and eax, 0x16954
pop eax
push ebx
push edi
add esp, 4
add ebx, 0x164e8
or ebx, 0x2ab6
pop ebx
push edx
push edi
add esp, 4
add edx, 0xa913
pop edx
mov eax, dword fs:[0x18]
mov dword [ebp - 0x19a0], eax
mov ecx, dword [ebp - 0x19a0]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x19a4], edx
mov eax, dword [ebp - 0x19a4]
mov dword [ebp - 0x161c], eax
push esi
sub esi, 0x1154
sub esi, 0xb0bd
pop esi
push eax
and eax, 0x64f0
or eax, 0x12a62
call 0x10025304
add byte [esi + 0x42], al
cmp byte [ecx + 0x40], al
inc ebx
xor al, byte [ebx - 0x1f7efb3c]
ret