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

Disassembly:
add esp, 4
pop edi
push esi
xor esi, 0xdf9b
pop esi
push eax
push edi
add esp, 4
xor eax, 0xc645
jmp 0x453364
pop eax
mov eax, dword [ebp - 0x434]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0x480], ecx
push ecx
push esi
add esp, 4
xor ecx, 0x9dc
pop ecx
push ecx
xor ecx, 0xe8f7
pop ecx
push eax
push esi
add esp, 4
add eax, 0x2dd7
add eax, 0x5368
add eax, 0x6b2d
add eax, 0x18609
pop eax
mov edx, dword [ebp - 0x480]
mov dword [ebp - 0x368], edx
cmp dword [ebp - 0x368], 0
jne 0x4533f9
push ebx
jmp 0x4533c3
pop ebx
push ebx
jmp 0x4533cd
xor ebx, 0x4e9c
pop ebx
push ebx
call 0x4533e3
add byte [ecx + 0x43], cl
aaa
inc edi
dec ebp
cmp dword [ebx + eax*4], edi
les eax, [ecx + eax*4]
jmp 0x453454
push esi
sub esi, 0x74b8
pop esi
push eax
push ecx
add esp, 4
xor eax, 0x693e
pop eax
push edx
push edi
add esp, 4
or edx, 0x4ebc
sub edx, 0x15505
and edx, 0x9f31
add edx, 0x68c8
pop edx
mov eax, dword [ebp - 0x368]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x1ec], edx
cmp dword [ebp - 0x1ec], 0
jne 0x453484
push esi
push ecx
add esp, 4
sub esi, 0x99e
xor esi, 0xf730
jmp 0x45345f
test dword [eax], 0x4b06eb00
inc esi
dec ecx
cmp eax, 0x565e4d41
pop esi
push esi
push eax
add esp, 4
or esi, 0xa7f3
or esi, 0xa25
sub esi, 0xbbe5
pop esi
mov dword [ebp - 0x6c], 0
jmp 0x453785
mov eax, dword [ebp - 0x1ec]
mov dword [ebp - 0xc4], eax
push edi
or edi, 0x114d
add edi, 0xc444
and edi, 0xb17
or edi, 0xa32c
pop edi
push ebx
push edi
add esp, 4
or ebx, 0x9103
or ebx, 0x10318
or ebx, 0x72fb
pop ebx
lea ecx, [ebp - 0x2b0]
mov dword [ebp - 0x1e8], ecx
mov edx, dword [ebp - 0xc4]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x1e4], eax
push edi
push eax
add esp, 4
or edi, 0x589d
add edi, 0x1821a
pop edi
push ecx
push ebx
add esp, 4
call 0x453504
add byte [edi], bh
push eax
cmp al, 0x35
push eax
dec ebx
cmp al, byte [ecx + 0x48]
aaa
add esp, 4
jmp 0x45350e
pop ecx
xor ecx, ecx
mov word [ebp - 0x54], cx
xor edx, edx
mov word [ebp - 8], dx
push ebx
push edi
add esp, 4
jmp 0x453528
and ebx, 0x3030
xor ebx, 0x212
add ebx, 0x135da
pop ebx
push eax
push edi
add esp, 4
add eax, 0x1844d
xor eax, 0x13704
pop eax
mov eax, dword [ebp - 0x1e4]
mov cx, word [eax]
mov word [ebp - 0x288], cx
mov edx, dword [ebp - 0x1e4]
add edx, 2
mov dword [ebp - 0x1e4], edx
mov ax, word [ebp - 0x288]
mov word [ebp - 0x54], ax
push eax
push edi
add esp, 4
or eax, 0x4a90
pop eax
push eax
push ecx
add esp, 4
xor eax, 0x15006
pop eax
push esi
or esi, 0x17337
or esi, 0xf8d0
sub esi, 0x11e12
add esi, 0x11c33
pop esi
mov ecx, dword [ebp - 0x1e8]
mov dx, word [ecx]
mov word [ebp - 0x28a], dx
mov eax, dword [ebp - 0x1e8]
add eax, 2
mov dword [ebp - 0x1e8], eax
mov cx, word [ebp - 0x28a]
mov word [ebp - 8], cx
push edi
or edi, 0xe8ea
add edi, 0x6041
pop edi
push ecx
push eax
add esp, 4
jmp 0x4535ed
add ecx, 0x10102
add ecx, 0xa8f9
pop ecx
push ebx
jmp 0x453604
pop ebx
movzx edx, word [ebp - 8]
test edx, edx
jne 0x453622
movzx eax, word [ebp - 0x54]
movzx ecx, word [ebp - 8]
sub eax, ecx
mov dword [ebp - 0x370], eax
jmp 0x4536a5
movzx edx, word [ebp - 0x54]
movzx eax, word [ebp - 8]
cmp edx, eax
je 0x45351b
movzx ecx, word [ebp - 0x54]
xor ecx, 0x20
movzx edx, word [ebp - 8]
cmp ecx, edx
je 0x45351b
push eax
push edx
add esp, 4
call 0x453659
add byte [ebp + 0x44], cl
inc eax
dec edx
inc edx
xor dh, byte [esi]
inc ebp
dec ecx
add esp, 4
and eax, 0x11043
sub eax, 0x119a1
pop eax
push ecx
xor ecx, 0xfcc
and ecx, 0x15052
pop ecx
movzx eax, word [ebp - 0x54]
movzx ecx, word [ebp - 8]
cmp eax, ecx
jge 0x45368f
mov dword [ebp - 0x36c], 0xffffffff
jmp 0x453699
mov dword [ebp - 0x36c], 1
mov edx, dword [ebp - 0x36c]
mov dword [ebp - 0x370], edx
cmp dword [ebp - 0x370], 0
jne 0x4536ee
push eax
call 0x4536bc
add byte [0x32444a3d], dh
dec esp
cmp al, byte [ebx + 0x525804c4]
and edx, 0x5e67
call 0x4536d3
add byte [esp + edi + 0x3c], al
inc ebp
dec esi
cmp al, 0x83
les eax, [ebx + ebp*8]
pop es
dec esi
cmp edi, dword [esi]
cmp eax, 0x5a4a4f40
mov eax, dword [ebp - 0xc4]
mov dword [ebp - 0x6c], eax
jmp 0x453785
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ecx]
mov dword [ebp - 0xc4], edx
push ecx
push ebx
add esp, 4
and ecx, 0x15235
pop ecx
push esi
sub esi, 0x14fd7
xor esi, 0xf39
and esi, 0x6573
call 0x45372a
add byte [esi], dh
inc eax
dec edi
inc ebx
inc esp
inc ebx
xor edi, dword [ecx]
xor al, 0x83
les eax, [esi + ebx*2]
mov eax, dword [ebp - 0xc4]
cmp eax, dword [ebp - 0x1ec]
je 0x45374c
mov ecx, dword [ebp - 0xc4]
cmp dword [ecx + 0x30], 0
jne 0x453490
push esi
or esi, 0x5423
jmp 0x453759
pop esi
push ecx
add ecx, 0x13970
pop ecx
push edx
xor edx, 0x108cf
jmp 0x453772
xor edx, 0x1101e
jmp 0x45377d
pop edx
mov dword [ebp - 0x6c], 0
cmp dword [ebp - 0x6c], 0
jne 0x45443a
push ebx
or ebx, 0x1479
pop ebx
push esi
push eax
add esp, 4
xor esi, 0x930f
and esi, 0xa809
call 0x4537b7
add byte [ebx + 0x3a], al
dec ebx
cmp eax, 0x39345045
cmp eax, dword [ebx - 0x117efb3c]
movsb byte es:[edi], byte [esi]
inc dword [eax]
add byte [esi - 0x46], bl
imul eax, dword [eax], 0
add byte [esi - 0x77], ah
xchg ebp, eax
inc esp
cld
invalid