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

Disassembly:
add esp, 4
call 0x406bda
add byte [edi], dh
xor esi, dword [edx]
dec ecx
cmp bh, byte [ecx]
dec ecx
dec ecx
inc ebp
add esp, 4
sub esi, 0x11d7d
and esi, 0x3d2c
pop esi
cmp dword [ebp - 0x14dc], 0
jne 0x406c02
mov dword [ebp - 0x6ec], 0
jmp 0x406ebe
mov ecx, dword [ebp - 0x14dc]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xc2c], eax
push ecx
push edx
add esp, 4
call 0x406c29
add byte [ecx], bh
dec esi
inc eax
push eax
push eax
inc ecx
inc esp
cmp eax, 0x4c4833d
call 0x406c3a
add byte [ecx + ecx*2], bh
xor al, byte [ebp + 0x34]
dec ebx
dec ebx
add esp, 4
pop ecx
push edi
jmp 0x406c45
pop edi
cmp dword [ebp - 0xc2c], 0
jne 0x406c5e
mov dword [ebp - 0x6ec], 0
jmp 0x406ebe
mov ecx, dword [ebp - 0xc2c]
mov dword [ebp - 0x4d8], ecx
push edx
sub edx, 0x7d37
add edx, 0x22d2
add edx, 0x759a
xor edx, 0x15284
pop edx
push edi
jmp 0x406c8e
and edi, 0x10661
jmp 0x406c9b
pop edi
lea edx, [ebp - 0x16cc]
mov dword [ebp - 0xc28], edx
mov eax, dword [ebp - 0x4d8]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xc24], ecx
xor edx, edx
mov word [ebp - 0x1fc], dx
xor eax, eax
mov word [ebp - 0x104], ax
push esi
call 0x406cd9
add byte [eax + 0x4c], dl
xor ecx, dword [ebx + 0x32]
cmp eax, 0x83493b45
les eax, [eax + ebp*8]
or al, byte [eax]
add byte [eax], al
add byte [ebx + 0x4e], al
xor bh, byte [ecx]
dec edi
aaa
inc esi
dec edx
inc esi
add esp, 4
or esi, 0x22fa
or esi, 0x92b6
pop esi
mov ecx, dword [ebp - 0xc24]
mov dx, word [ecx]
mov word [ebp - 0xf82], dx
mov eax, dword [ebp - 0xc24]
add eax, 2
mov dword [ebp - 0xc24], eax
mov cx, word [ebp - 0xf82]
mov word [ebp - 0x1fc], cx
mov edx, dword [ebp - 0xc28]
mov ax, word [edx]
mov word [ebp - 0xf84], ax
mov ecx, dword [ebp - 0xc28]
add ecx, 2
mov dword [ebp - 0xc28], ecx
mov dx, word [ebp - 0xf84]
mov word [ebp - 0x104], dx
push ecx
push edi
add esp, 4
call 0x406d66
add byte [eax + 0x35], al
xor al, 0x3b
inc ecx
xor al, 0x83
les eax, [ecx + ebx*2]
push esi
push esi
add esp, 4
add esi, 0x8f8d
add esi, 0xe7d9
jmp 0x406d80
add esi, 0x14df0
pop esi
movzx eax, word [ebp - 0x104]
test eax, eax
jne 0x406daa
movzx ecx, word [ebp - 0x1fc]
movzx edx, word [ebp - 0x104]
sub ecx, edx
mov dword [ebp - 0x14e4], ecx
jmp 0x406e0d
movzx eax, word [ebp - 0x1fc]
movzx ecx, word [ebp - 0x104]
cmp eax, ecx
je 0x406cc9
movzx edx, word [ebp - 0x1fc]
xor edx, 0x20
movzx eax, word [ebp - 0x104]
cmp edx, eax
je 0x406cc9
movzx ecx, word [ebp - 0x1fc]
movzx edx, word [ebp - 0x104]
cmp ecx, edx
jge 0x406df7
mov dword [ebp - 0x14e0], 0xffffffff
jmp 0x406e01
mov dword [ebp - 0x14e0], 1
mov eax, dword [ebp - 0x14e0]
mov dword [ebp - 0x14e4], eax
cmp dword [ebp - 0x14e4], 0
jne 0x406e56
push ecx
or ecx, 0xe3a7
jmp 0x406e23
sub ecx, 0x13430
pop ecx
push edx
push ecx
add esp, 4
sub edx, 0x2f63
sub edx, 0x11505
xor edx, 0x99a
add edx, 0x1543f
pop edx
mov ecx, dword [ebp - 0x4d8]
mov dword [ebp - 0x6ec], ecx
jmp 0x406ebe
push esi
push ebx
add esp, 4
or esi, 0xce0b
pop esi
push edx
add edx, 0xdbd1
add edx, 0x344a
add edx, 0xe43d
xor edx, 0xd30
pop edx
push ecx
push eax
add esp, 4
and ecx, 0xfabb
pop ecx
mov edx, dword [ebp - 0x4d8]
mov eax, dword [edx]
mov dword [ebp - 0x4d8], eax
mov ecx, dword [ebp - 0x4d8]
cmp ecx, dword [ebp - 0xc2c]
je 0x406eb4
mov edx, dword [ebp - 0x4d8]
cmp dword [edx + 0x30], 0
jne 0x406c6a
mov dword [ebp - 0x6ec], 0
push ecx
or ecx, 0xb008
jmp 0x406ecb
pop ecx
push eax
push eax
add esp, 4
add eax, 0xba68
sub eax, 0x12be5
pop eax
push edi
push esi
add esp, 4
add edi, 0x11093
or edi, 0x182e4
pop edi
cmp dword [ebp - 0x6ec], 0
jne 0x406f3a
push ebx
and ebx, 0xcda8
pop ebx
push ecx
push esi
add esp, 4
or ecx, 0xd147
pop ecx
push eax
push ecx
add esp, 4
and eax, 0x1861
pop eax
push eax
push edx
add esp, 4
xor eax, 0xd50a
and eax, 0x12b17
pop eax
mov dword [ebp - 0x738], 0
jmp 0x407a61
push edx
push eax
add esp, 4
call 0x406f4f
add byte [ecx + edi], bh
inc eax
inc ebx
cmp dh, byte [esi]
dec esp
xor al, 0x4d
cmp byte [ebx - 0x3d7efb3c], al
cmp edi, dword [edi]
add dword [eax], eax
call 0x406f68
add byte [edx], dh
xor eax, dword [esi + eax*2 + 0x34]
inc esi
aas
inc ecx
inc edx
cmp al, byte [ebx - 0x74a5fb3c]
test dword [ecx + edi*8], edx
invalid
push edi
and edi, 0x1303a
pop edi
push esi
push edx
add esp, 4
add esi, 0x16866
or esi, 0x93f4
xor esi, 0x256a
call 0x407a8f
add byte [eax + 0x4a], dl
xor al, 0x4a
dec edx
cmp edi, dword [ebx]
inc ebp
xor eax, 0x5e04c483
mov ecx, dword [ebp - 0x3cc]
add ecx, 0xe
mov dword [ebp - 0x1918], ecx
push ecx
push eax
add esp, 4
xor ecx, 0xe725
pop ecx
push esi
add esi, 0xabfb
and esi, 0x1078a
pop esi
push ebx
push eax
add esp, 4
and ebx, 0x152ad
jmp 0x407acd
add ebx, 0x12228
pop ebx
cmp dword [ebp - 0x3cc], 0
je 0x407ae6
cmp dword [ebp - 0xa5c], 0
jne 0x407b2c
push edx
push edx
add esp, 4
sub edx, 0x15e25
call 0x407b01
add byte [0x353e3d3e], bh
xor eax, 0x3d414842
add esp, 4
pop edx
push ecx
call 0x407b14
add byte [ebp + 0x4a], al
cmp al, byte [esi + 0x44]
xor eax, 0xc4834742
add al, 0x59
mov edx, dword [ebp - 0x738]
mov dword [ebp - 0x18d0], edx
push 0
call dword [ebp - 0x18d0]
mov dword [ebp - 0x1fb0], 0xa
push eax
push ebx
add esp, 4
or eax, 0xb4ee
add eax, 0xa63b
call 0x407b56
add byte [ebx + 0x3b], al
dec ebx
cmp al, 0x3f
dec esi
cmp eax, 0xc4834c4c
add al, 0x58
push ecx
xor ecx, 0x110fb
xor ecx, 0xbbbf
pop ecx
mov eax, dword [ebp - 0x3cc]
mov cl, byte [eax + 0xa]
mov byte [ebp - 0x381], cl
mov edx, dword [ebp - 0xa5c]
sub edx, dword [ebp - 0x3cc]
mov dword [ebp - 0x158c], edx
mov dword [ebp - 0xc70], 0
push edx
add edx, 0x10cce
pop edx
push ebx
push edx
add esp, 4
add ebx, 0x9a5d
or ebx, 0x115fa
xor ebx, 0x8d61
pop ebx
push edi
call 0x407bc1
add byte [edi + edi + 0x3b], al
dec ecx
dec edx
cmp bh, byte [edx]
add esp, 4
pop edi
mov byte [ebp - 0x960], 0x56
mov byte [ebp - 0x95f], 0x69
mov byte [ebp - 0x95e], 0x72
mov byte [ebp - 0x95d], 0x74
mov byte [ebp - 0x95c], 0x75
mov byte [ebp - 0x95b], 0x61
mov byte [ebp - 0x95a], 0x6c
mov byte [ebp - 0x959], 0x50
mov byte [ebp - 0x958], 0x72
mov byte [ebp - 0x957], 0x6f
mov byte [ebp - 0x956], 0x74
mov byte [ebp - 0x955], 0x65
mov byte [ebp - 0x954], 0x63
mov byte [ebp - 0x953], 0x74
mov byte [ebp - 0x952], 0
push edx
push eax
add esp, 4
xor edx, 0x8c1d
add edx, 0x47f2
pop edx
push eax
or eax, 0x9b95
sub eax, 0xae
call 0x407c5c
add byte [ecx + 0x4d], al
dec ebx
dec edi
inc ebx
inc eax
cmp dword [edx], esi
dec ebx
add esp, 4
pop eax
mov eax, dword fs:[0x18]
mov dword [ebp - 0x1c34], eax
mov ecx, dword [ebp - 0x1c34]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x18d4], edx
mov eax, dword [ebp - 0x18d4]
mov dword [ebp - 0x150c], eax
push eax
add eax, 0xb86f
xor eax, 0xd693
call 0x407ca3
add byte [edx], bh
xor al, 0x3a
dec edx
dec esp
inc eax
xor al, 0x43
add esp, 4
call 0x407cb5
add byte [eax + 0x40], cl
dec edi
dec eax
push eax
inc ecx
cmp byte [ecx + eax*2 - 0x7d], cl
les eax, [eax + ebx*2]
cmp dword [ebp - 0x150c], 0
jne 0x407cd1
mov dword [ebp - 0x2a8], 0
jmp 0x407f78
mov ecx, dword [ebp - 0x150c]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xc4c], eax
push edx
push ebx
add esp, 4
jmp 0x407ced
add edx, 0x16f13
xor edx, 0x3350
add edx, 0x173bf
pop edx
push esi
jmp 0x407d07
sub esi, 0xed9
jmp 0x407d14
pop esi
cmp dword [ebp - 0xc4c], 0
jne 0x407d2d
mov dword [ebp - 0x2a8], 0
jmp 0x407f78
mov ecx, dword [ebp - 0xc4c]
mov dword [ebp - 0x4e4], ecx
push edi
xor edi, 0x110cc
pop edi
push eax
xor eax, 0x1817c
and eax, 0xd984
pop eax
push ebx
xor ebx, 0x69be
xor ebx, 0x8039
add ebx, 0x2767
jmp 0x407d6a
pop ebx
lea edx, [ebp - 0x1628]
mov dword [ebp - 0xc48], edx
mov eax, dword [ebp - 0x4e4]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xc44], ecx
xor edx, edx
mov word [ebp - 0x204], dx
xor eax, eax
mov word [ebp - 0x38], ax
push ebx
xor ebx, 0x91dd
or ebx, 0x4f5b
sub ebx, 0x11f56
xor ebx, 0x1013a
pop ebx
push ecx
push ecx
add esp, 4
and ecx, 0x99b2
add ecx, 0x12e22
xor ecx, 0x148e7
pop ecx
mov ecx, dword [ebp - 0xc44]
mov dx, word [ecx]
mov word [ebp - 0xf8a], dx
mov eax, dword [ebp - 0xc44]
add eax, 2
mov dword [ebp - 0xc44], eax
mov cx, word [ebp - 0xf8a]
mov word [ebp - 0x204], cx
mov edx, dword [ebp - 0xc48]
mov ax, word [edx]
mov word [ebp - 0xf8c], ax
mov ecx, dword [ebp - 0xc48]
add ecx, 2
mov dword [ebp - 0xc48], ecx
mov dx, word [ebp - 0xf8c]
mov word [ebp - 0x38], dx
push esi
push ecx
add esp, 4
xor esi, 0xc5c6
or esi, 0x8ac9
xor esi, 0x6b18
pop esi
push ebx
add ebx, 0x2a46
sub ebx, 0x11dca
xor ebx, 0x1d9a
xor ebx, 0x1657
pop ebx
movzx eax, word [ebp - 0x38]
test eax, eax
jne 0x407e6d
movzx ecx, word [ebp - 0x204]
movzx edx, word [ebp - 0x38]
sub ecx, edx
mov dword [ebp - 0x1514], ecx
jmp 0x407ec7
movzx eax, word [ebp - 0x204]
movzx ecx, word [ebp - 0x38]
cmp eax, ecx
je 0x407d95
movzx edx, word [ebp - 0x204]
xor edx, 0x20
movzx eax, word [ebp - 0x38]
cmp edx, eax
je 0x407d95
movzx ecx, word [ebp - 0x204]
movzx edx, word [ebp - 0x38]
cmp ecx, edx
jge 0x407eb1
mov dword [ebp - 0x1510], 0xffffffff
jmp 0x407ebb
mov dword [ebp - 0x1510], 1
mov eax, dword [ebp - 0x1510]
mov dword [ebp - 0x1514], eax
cmp dword [ebp - 0x1514], 0
jne 0x407f10
push ecx
sub ecx, 0x42f3
sub ecx, 0xd6da
pop ecx
push edi
push edx
add esp, 4
xor edi, 0x1280e
pop edi
push ebx
push edi
add esp, 4
add ebx, 0x16d2d
and ebx, 0x183c6
or ebx, 0xa8f8
pop ebx
mov ecx, dword [ebp - 0x4e4]
mov dword [ebp - 0x2a8], ecx
jmp 0x407f78
push ecx
push eax
add esp, 4
call 0x407f24
add byte [edi + edi + 0x44], al
inc esp
dec esp
dec esi
cmp byte [eax], bh
dec ebx
add esp, 4
xor ecx, 0xee88
pop ecx
push ebx
add ebx, 0x28ca
or ebx, 0x13cfe
sub ebx, 0xcb28
pop ebx
mov edx, dword [ebp - 0x4e4]
mov eax, dword [edx]
mov dword [ebp - 0x4e4], eax
mov ecx, dword [ebp - 0x4e4]
cmp ecx, dword [ebp - 0xc4c]
je 0x407f6e
mov edx, dword [ebp - 0x4e4]
cmp dword [edx + 0x30], 0
jne 0x407d39
mov dword [ebp - 0x2a8], 0
push ebx
xor ebx, 0x1739c
jmp 0x407f85
pop ebx
push ebx
push eax
add esp, 4
xor ebx, 0x26b
add ebx, 0xf6bf
and ebx, 0xdbe2
pop ebx
push ecx
push ecx
add esp, 4
add ecx, 0xfabe
pop ecx
cmp dword [ebp - 0x2a8], 0
jne 0x4088af
mov eax, 0x6b
mov word [ebp - 0x16e8], ax
mov ecx, 0x65
mov word [ebp - 0x16e6], cx
mov edx, 0x72
mov word [ebp - 0x16e4], dx
mov eax, 0x6e
mov word [ebp - 0x16e2], ax
mov ecx, 0x65
mov word [ebp - 0x16e0], cx
mov edx, 0x6c
mov word [ebp - 0x16de], dx
mov eax, 0x33
mov word [ebp - 0x16dc], ax
mov ecx, 0x32
mov word [ebp - 0x16da], cx
mov edx, 0x2e
mov word [ebp - 0x16d8], dx
mov eax, 0x64
mov word [ebp - 0x16d6], ax
mov ecx, 0x6c
mov word [ebp - 0x16d4], cx
mov edx, 0x6c
mov word [ebp - 0x16d2], dx
xor eax, eax
mov word [ebp - 0x16d0], ax
push edi
push edi
add esp, 4
xor edi, 0xff8c
jmp 0x408061
pop edi
push ecx
push eax
add esp, 4
add ecx, 0x101fb
pop ecx
push esi
add esi, 0x819
and esi, 0xcecb
or esi, 0x2fb1
pop esi
mov byte [ebp - 0x830], 0x4c
mov byte [ebp - 0x82f], 0x6f
mov byte [ebp - 0x82e], 0x61
mov byte [ebp - 0x82d], 0x64
mov byte [ebp - 0x82c], 0x4c
mov byte [ebp - 0x82b], 0x69
mov byte [ebp - 0x82a], 0x62
mov byte [ebp - 0x829], 0x72
mov byte [ebp - 0x828], 0x61
mov byte [ebp - 0x827], 0x72
mov byte [ebp - 0x826], 0x79
mov byte [ebp - 0x825], 0x57
mov byte [ebp - 0x824], 0
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x18d8], ecx
mov edx, dword [ebp - 0x18d8]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x18dc], eax
mov ecx, dword [ebp - 0x18dc]
mov dword [ebp - 0x1518], ecx
push edi
sub edi, 0x593e
call 0x408118
add byte [ebp + edi + 0x44], al
dec ecx
dec edx
dec esi
add esp, 4
pop edi
push ecx
push ecx
add esp, 4
xor ecx, 0xeaad
jmp 0x40812f
jmp 0x408136
pop ecx
cmp dword [ebp - 0x1518], 0
jne 0x40814f
mov dword [ebp - 0x710], 0
jmp 0x4083f6
mov edx, dword [ebp - 0x1518]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xc58], ecx
push ebx
sub ebx, 0xf7ba
or ebx, 0x569e
or ebx, 0x124a5
pop ebx
push ecx
push edx
add esp, 4
and ecx, 0xc02b
sub ecx, 0xd038
add ecx, 0x155df
xor ecx, 0x5dd1
pop ecx
cmp dword [ebp - 0xc58], 0
jne 0x4081ab
mov dword [ebp - 0x710], 0
jmp 0x4083f6
mov edx, dword [ebp - 0xc58]
mov dword [ebp - 0x4e8], edx
push esi
push eax
add esp, 4
call 0x4081cc
add byte [eax], al
dec ebp
cmp al, 0x49
dec ebp
cmp al, byte [ebx + 0x35]
inc esp
add esp, 4
xor esi, 0x3117
jmp 0x4081da
add esi, 0x148a9
pop esi
push ebx
sub ebx, 0x277f
pop ebx
lea eax, [ebp - 0x16e8]
mov dword [ebp - 0xc54], eax
mov ecx, dword [ebp - 0x4e8]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xc50], edx
xor eax, eax
mov word [ebp - 0x208], ax
xor ecx, ecx
mov word [ebp - 0x3c], cx
push ebx
jmp 0x40821a
sub ebx, 0x907
pop ebx
push eax
push ebx
add esp, 4
jmp 0x40822c
and eax, 0x17b19
jmp 0x408238
pop eax
push edi
push edi
add esp, 4
or edi, 0xe583
pop edi
mov edx, dword [ebp - 0xc50]
mov ax, word [edx]
mov word [ebp - 0xf8e], ax
mov ecx, dword [ebp - 0xc50]
add ecx, 2
mov dword [ebp - 0xc50], ecx
mov dx, word [ebp - 0xf8e]
mov word [ebp - 0x208], dx
mov eax, dword [ebp - 0xc54]
mov cx, word [eax]
mov word [ebp - 0xf90], cx
mov edx, dword [ebp - 0xc54]
add edx, 2
mov dword [ebp - 0xc54], edx
mov ax, word [ebp - 0xf90]
mov word [ebp - 0x3c], ax
push esi
push ecx
add esp, 4
or esi, 0xbe0f
pop esi
push edx
call 0x4082b8
add byte [ecx + 0x3f], al
inc esi
dec edi
aas
inc ebp
xor eax, 0xc483344e
add al, 0x5a
push edi
push edi
add esp, 4
xor edi, 0x2185
or edi, 0x173d7
pop edi
invalid
invalid