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

Disassembly:
push ebx
push edi
add esp, 4
jmp 0x43c225
or ebx, 0x11f36
and ebx, 0x8ebd
pop ebx
push edi
and edi, 0x3f23
sub edi, 0x16e52
and edi, 0xabe
jmp 0x43c24c
pop edi
lea eax, [ebp - 0xc50]
mov dword [ebp - 0x6c8], eax
mov ecx, dword [ebp - 0x254]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x6c4], edx
xor eax, eax
mov word [ebp - 0x11c], ax
xor ecx, ecx
mov word [ebp - 0x30], cx
push edi
call 0x43c284
add byte [edi + edi + 0x42], cl
xor eax, 0xc483474b
add al, 0x5f
push edi
push esi
add esp, 4
jmp 0x43c292
call fcn.0043c29f
add byte [ebp + 0x43], al
inc edi
dec ebp
dec edx
dec edi
inc eax
add esp, 4
add edi, 0x8fe4
pop edi
mov edx, dword [ebp - 0x6c4]
mov ax, word [edx]
mov word [ebp - 0x88a], ax
mov ecx, dword [ebp - 0x6c4]
add ecx, 2
mov dword [ebp - 0x6c4], ecx
mov dx, word [ebp - 0x88a]
mov word [ebp - 0x11c], dx
mov eax, dword [ebp - 0x6c8]
mov cx, word [eax]
mov word [ebp - 0x88c], cx
mov edx, dword [ebp - 0x6c8]
add edx, 2
mov dword [ebp - 0x6c8], edx
mov ax, word [ebp - 0x88c]
mov word [ebp - 0x30], ax
push ebx
xor ebx, 0x758f
add ebx, 0x6c04
pop ebx
push ebx
push edx
add esp, 4
jmp 0x43c31a
pop ebx
push eax
or eax, 0x7fc
add eax, 0x1cd9
jmp 0x43c331
pop eax
movzx ecx, word [ebp - 0x30]
test ecx, ecx
jne 0x43c34f
movzx edx, word [ebp - 0x11c]
movzx eax, word [ebp - 0x30]
sub edx, eax
mov dword [ebp - 0xb80], edx
jmp 0x43c3a9
movzx ecx, word [ebp - 0x11c]
movzx edx, word [ebp - 0x30]
cmp ecx, edx
je 0x43c277
movzx eax, word [ebp - 0x11c]
xor eax, 0x20
movzx ecx, word [ebp - 0x30]
cmp eax, ecx
je 0x43c277
movzx edx, word [ebp - 0x11c]
movzx eax, word [ebp - 0x30]
cmp edx, eax
jge 0x43c393
mov dword [ebp - 0xb7c], 0xffffffff
jmp 0x43c39d
mov dword [ebp - 0xb7c], 1
mov ecx, dword [ebp - 0xb7c]
mov dword [ebp - 0xb80], ecx
cmp dword [ebp - 0xb80], 0
jne 0x43c3f2
push edx
push esi
add esp, 4
xor edx, 0xd5e2
add edx, 0xdefe
or edx, 0x10dfb
add edx, 0xf076
pop edx
push ecx
push ecx
add esp, 4
add ecx, 0xc381
jmp 0x43c3e3
pop ecx
mov edx, dword [ebp - 0x254]
mov dword [ebp - 0x188], edx
jmp 0x43c45a
push esi
xor esi, 0x9182
jmp 0x43c3ff
or esi, 0x20f7
or esi, 0xbee4
pop esi
push ecx
push eax
add esp, 4
xor ecx, 0xb16a
sub ecx, 0x11f47
or ecx, 0x14f22
pop ecx
mov eax, dword [ebp - 0x254]
mov ecx, dword [eax]
mov dword [ebp - 0x254], ecx
mov edx, dword [ebp - 0x254]
cmp edx, dword [ebp - 0x6cc]
je 0x43c450
mov eax, dword [ebp - 0x254]
cmp dword [eax + 0x30], 0
jne 0x43c21b
mov dword [ebp - 0x188], 0
push edi
xor edi, 0x9016
add edi, 0xfe5
or edi, 0x12e3
pop edi
push edi
push edi
add esp, 4
add edi, 0xeb46
add edi, 0x1466a
sub edi, 0x1037e
add edi, 0xf30c
pop edi
mov ecx, dword [ebp - 0x188]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x1b8], edx
push eax
add eax, 0x5cdf
call 0x43c4b0
add byte [ecx], bh
dec esi
dec ebp
inc eax
inc ebx
inc edi
push eax
aaa
add esp, 4
call 0x43c4c3
add byte [ebp + 0x4d], al
xor edi, dword [0x403f3d3f]
xor ecx, dword [ecx - 0x7d]
les eax, [ecx + eax*4]
loopne 0x43c535
leave
add byte [eax], al
pop eax
mov dword [ebp - 0x3ec], 0
mov eax, dword [ebp - 0x1b8]
mov dword [ebp - 0xb84], eax
cmp dword [ebp - 0xb84], 0
jne 0x43c4fd
mov ecx, dword [ebp - 0x3ec]
mov dword [ebp - 0x250], ecx
jmp 0x43c7ee
mov edx, dword [ebp - 0xb84]
mov eax, dword [ebp - 0x1b8]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0xb88], eax
jne 0x43c525
mov ecx, dword [ebp - 0x3ec]
mov dword [ebp - 0x250], ecx
jmp 0x43c7ee
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0xb88]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0xb8c], edx
cmp dword [ebp - 0xb8c], 0
jne 0x43c557
js 0x43c525
invalid
add dword [eax - 0x77], edi
xchg ebp, eax
je 0x43c52f
invalid
mov eax, dword [ebp - 0x3ec]
mov dword [ebp - 0x250], eax
jmp 0x43c7ee
mov ecx, dword [ebp - 0x1b8]
add ecx, dword [ebp - 0xb8c]
mov dword [ebp - 0x3e0], ecx
jne 0x43c57c
mov edx, dword [ebp - 0x3ec]
mov dword [ebp - 0x250], edx
jmp 0x43c7ee
mov eax, dword [ebp - 0x3e0]
mov ecx, dword [ebp - 0x1b8]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0xe58], ecx
mov edx, dword [ebp - 0x3e0]
mov eax, dword [ebp - 0x1b8]
add eax, dword [edx + 0x24]
mov dword [ebp - 0xe5c], eax
mov ecx, dword [ebp - 0x3e0]
mov edx, dword [ebp - 0x1b8]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0xe60], edx
mov dword [ebp - 0x3e4], 0
jmp 0x43c5d6
mov eax, dword [ebp - 0x3e4]
add eax, 1
mov dword [ebp - 0x3e4], eax
mov ecx, dword [ebp - 0x3e0]
mov edx, dword [ebp - 0x3e4]
cmp edx, dword [ecx + 0x18]
jae 0x43c7e2
mov eax, dword [ebp - 0x3e4]
mov ecx, dword [ebp - 0xe58]
mov edx, dword [ebp - 0x1b8]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x3e8], edx
mov eax, dword [ebp - 0x3e4]
mov ecx, dword [ebp - 0xe5c]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0xe60]
mov ecx, dword [ebp - 0x1b8]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0xe64], ecx
mov dword [ebp - 0xc8], 0
jmp 0x43c646
mov eax, dword [ebp - 0x3e8]
add eax, dword [ebp - 0xc8]
movsx ecx, byte [eax]
test ecx, ecx
je 0x43c6f8
mov edx, dword [ebp - 0xc8]
movsx eax, byte [ebp + edx - 0x494]
test eax, eax
je 0x43c6f8
push eax
call 0x43c681
add byte [eax + 0x4b], cl
cmp dh, byte [ebx]
dec esi
inc esp
dec esi
add esp, 4
pop eax
push edi
xor edi, 0x27c9
xor edi, 0xa301
pop edi
push ecx
push ecx
add esp, 4
or ecx, 0x7c6f
and ecx, 0xf218
pop ecx
mov ecx, dword [ebp - 0x3e8]
add ecx, dword [ebp - 0xc8]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0xc8]
movsx ecx, byte [ebp + eax - 0x494]
push ebx
xor ebx, 0x225d
xor ebx, 0x1299
or ebx, 0xe806
pop ebx
push ecx
push ebx
add esp, 4
xor ecx, 0x7db5
pop ecx
push eax
push eax
add esp, 4
xor eax, 0x17a4e
or eax, 0xf85d
pop eax
mov eax, dword [ebp - 0x3e8]
add eax, dword [ebp - 0xc8]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0xc8]
movsx eax, byte [ebp + edx - 0x494]
cmp ecx, eax
jne 0x43c757
mov dword [ebp - 0x6d0], 0
jmp 0x43c7c6
push eax
call 0x43c768
add byte [ebx + ecx*2 + 0x50], al
cmp dword [0x3d433f49], edi
xor eax, dword [ebx - 0xf7efb3c]
cmp al, 0x59
add dword [eax], eax
pop eax
push ebx
add ebx, 0xf115
jmp 0x43c780
pop ebx
push ebx
add ebx, 0x86e
pop ebx
mov ecx, dword [ebp - 0x3e8]
add ecx, dword [ebp - 0xc8]
movsx edx, byte [ecx]
or edx, 0x20
mov eax, dword [ebp - 0xc8]
movsx ecx, byte [ebp + eax - 0x494]
or ecx, 0x20
cmp edx, ecx
jge 0x43c7bc
mov dword [ebp - 0x6d0], 0xffffffff
jmp 0x43c7c6
mov dword [ebp - 0x6d0], 1
cmp dword [ebp - 0x6d0], 0
jne 0x43c7dd
mov edx, dword [ebp - 0xe64]
mov dword [ebp - 0x250], edx
jmp 0x43c7ee
jmp 0x43c5c7
mov eax, dword [ebp - 0x3ec]
mov dword [ebp - 0x250], eax
mov ecx, dword [ebp - 0x250]
mov dword [ebp - 0x418], ecx
push edx
call 0x43c808
add byte [ebx + 0x45], al
inc ecx
inc edx
dec ebp
dec esp
xor al, 0x83
les eax, [ecx + eax*4]
retf 0x38c9