Function at 0x2fc8cb4
Capabilities:
Access peb ldr_data
Contain obfuscated stackstrings
Encode data using xor
Get number of processors
Parse pe header

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x80
mov eax, dword fs:[0x30]
mov dword [0x2fccf44], 0x2fccf44
mov dword [0x2fccf50], 0x2fc8544
mov dword [0x2fccf54], 0x2fc9d54
mov dword [0x2fccf58], 0x2fc83d4
mov dword [0x2fcd6bc], 0
mov dword [0x2fcd6b0], 0
mov dword [0x2fcd6b4], 0
mov dword [0x2fcd6b8], 0
mov dword [0x2fcd6c0], 0x2fca584
mov eax, dword [eax + 0xc]
push ebx
push esi
push edi
mov eax, dword [eax + 0xc]
push 0
push 0xbbe11f17
mov esi, dword [eax + 0x18]
call fcn.02fc7fd4
push 0
push 0x60cf99af
mov dword [0x2fcd630], eax
call fcn.02fc7fd4
mov ebx, dword [ebp + 8]
mov edi, eax
push 0
push 0x4dd0a472
test ebx, ebx
mov dword [0x2fcd638], edi
push edi
cmove ebx, esi
mov esi, dword [0x2fcd630]
push 0x2fcd628
call fcn.02fc80a4
push 0
push 0xdae698d3
push edi
push 0x2fcd62c
call fcn.02fc80a4
push 1
push 0xdd71a6cc
push edi
push 0x2fcd5e4
call fcn.02fc80a4
push 1
push 0x934f10fa
push edi
push 0x2fcd5e8
call fcn.02fc80a4
push 1
push 0xe497b485
push edi
push 0x2fcd5ec
call fcn.02fc80a4
push 1
push 0x21a37b6c
push edi
push 0x2fcd684
call fcn.02fc80a4
call dword [0x2fcd684]
push 0x2fca584
push 1
mov dword [0x2fccf5c], eax
mov dword [0x2fccf60], 1
call dword [0x2fcd5e8]
push 1
push 0x9b30cc3f
push esi
push 0x2fcd590
mov dword [0x2fcd640], eax
call fcn.02fc80a4
push 1
push 0xd2e93957
push esi
push 0x2fcd594
call fcn.02fc80a4
push 1
push 0x3c1f3d90
push esi
push 0x2fcd598
call fcn.02fc80a4
push 1
push 0xf75ce257
push esi
push 0x2fcd59c
call fcn.02fc80a4
push 1
push 0xeb426147
push esi
push 0x2fcd5a0
call fcn.02fc80a4
push 1
push 0x72f8b38e
push esi
push 0x2fcd5a4
call fcn.02fc80a4
push 1
push 0xb78bdb16
push esi
push 0x2fcd5a8
call fcn.02fc80a4
push 1
push 0xd32e9d61
push esi
push 0x2fcd5ac
call fcn.02fc80a4
push 1
push 0x4748527b
push esi
push 0x2fcd5b0
call fcn.02fc80a4
push 1
push 0x5b8dd581
push esi
push 0x2fcd5b4
call fcn.02fc80a4
push 1
push 0x5dc29570
push esi
push 0x2fcd5b8
call fcn.02fc80a4
push 1
push 0x4e62601b
push esi
push 0x2fcd588
call fcn.02fc80a4
push 1
push 0x27154a05
push esi
push 0x2fcd58c
call fcn.02fc80a4
push 1
push 0x5e4bf6f0
push edi
push 0x2fcd5d8
call fcn.02fc80a4
push 1
push 0x5e4bf706
push edi
push 0x2fcd5dc
call fcn.02fc80a4
push 1
push 0x1552ae9b
push edi
push 0x2fcd5e0
call fcn.02fc80a4
push 1
push 0x376af5b2
push edi
push fcn.02fcd5bc
call fcn.02fc80a4
push 1
push 0x1552aeb1
push edi
push 0x2fcd5c0
call fcn.02fc80a4
push 1
push 0xd447896e
push edi
push 0x2fcd5c4
call fcn.02fc80a4
push 1
push 0xbed1215b
push edi
push fcn.02fcd5c8
call fcn.02fc80a4
push 1
push 0xd8f81d2f
push edi
push 0x2fcd5cc
call fcn.02fc80a4
push 1
push 0x4db82756
push edi
push 0x2fcd5d0
call fcn.02fc80a4
push 1
push 0x942467dc
push edi
push 0x2fcd5d4
call fcn.02fc80a4
push 1
push 0xe4b23a39
push edi
push 0x2fcd5f0
call fcn.02fc80a4
push 1
push 0x4df7d46e
push edi
push fcn.02fcd5f4
call fcn.02fc80a4
push 1
push 0x15ec9667
push edi
push fcn.02fcd5f8
call fcn.02fc80a4
push 1
push 0x8b05fb05
push edi
push 0x2fcd600
call fcn.02fc80a4
push 1
push 0xdf09dc26
push edi
push 0x2fcd5fc
call fcn.02fc80a4
push 1
push 0x228333bc
push edi
push 0x2fcd610
call fcn.02fc80a4
push 1
push 0x4abb6b25
push edi
push 0x2fcd614
call fcn.02fc80a4
push 1
push 0xac3a78a9
push edi
push 0x2fcd618
call fcn.02fc80a4
push 1
push 0x2066074a
push edi
push 0x2fcd61c
call fcn.02fc80a4
push 1
push 0x2b19b2ad
push edi
push 0x2fcd620
call fcn.02fc80a4
push 1
push 0x6bfaf860
push edi
push 0x2fcd624
call fcn.02fc80a4
push 1
push 0x1291cb13
push edi
push 0x2fcd664
call fcn.02fc80a4
push 1
push 0xab10ad07
push edi
push 0x2fcd67c
call fcn.02fc80a4
push 1
push 0x4b07dd7e
push edi
push 0x2fcd66c
call fcn.02fc80a4
push 1
push 0x96b79b23
push edi
push 0x2fcd678
call fcn.02fc80a4
push 1
push 0x4f75ef12
push edi
push 0x2fcd670
call fcn.02fc80a4
push 1
push 0xf44a4406
push edi
push 0x2fcd674
call fcn.02fc80a4
push 1
push 0xb25b6481
push edi
push 0x2fcd688
call fcn.02fc80a4
push 1
push 0xae980712
push edi
push fcn.02fcd694
call fcn.02fc80a4
push 1
push 0xf4a11ee3
push edi
push 0x2fcd698
call fcn.02fc80a4
push 1
push 0x830c3f86
push edi
push 0x2fcd6a0
call fcn.02fc80a4
push 1
push 0x885e90c
push edi
push 0x2fcd69c
call fcn.02fc80a4
push 1
push 0xb3ea952b
push edi
push 0x2fcd6a4
call fcn.02fc80a4
mov eax, dword [0x2fcd67c]
xor ecx, ecx
mov dword [0x2fccf3c], eax
mov byte [ebp - 0xb], 0x7c
mov byte [ebp - 0xa], 0x7a
mov byte [ebp - 9], 0x6c
mov byte [ebp - 8], 0x79
mov byte [ebp - 7], 0x3a
mov byte [ebp - 6], 0x39
mov byte [ebp - 5], 0x35
mov byte [ebp - 4], 0x6b
mov byte [ebp - 3], 0x73
mov byte [ebp - 2], 0x73
mov byte [ebp - 1], 0
mov al, byte [ebp - 0xb]
mov al, byte [ebp + ecx - 0xb]
movsx eax, al
sub eax, 7
mov byte [ebp + ecx - 0xb], al
inc ecx
cmp ecx, 0xa
jb 0x2fc9166
lea eax, [ebp - 0xb]
push eax
call dword [0x2fcd5d8]
push 1
mov esi, eax
push 0xbc022598
push esi
push 0x2fcd604
mov dword [0x2fcd63c], esi
call fcn.02fc80a4
push 1
push 0xcd6a1508
push esi
push 0x2fcd60c
call fcn.02fc80a4
push 1
push 0x81225c79
push esi
push 0x2fcd608
call fcn.02fc80a4
push 1
push 0xcd6a151e
push esi
push 0x2fcd6ac
call fcn.02fc80a4
push 1
push 0x81225c8f
push esi
push 0x2fcd6a8
call fcn.02fc80a4
push 1
push 0x1f2ae094
push esi
push fcn.02fcd68c
call fcn.02fc80a4
push 1
push 0xff9a9fe
push esi
push fcn.02fcd690
call fcn.02fc80a4
push ebx
call fcn.02fc9a34
add esp, 4
cmp dword [0x2fcd6c4], 0xffffffff
je 0x2fc940c
mov dword [ebp - 0x28], 0x2a
xor edx, edx
mov byte [ebp - 0x24], 0x69
mov byte [ebp - 0x23], 0x46
mov byte [ebp - 0x22], 0x45
mov byte [ebp - 0x21], 0x59
mov byte [ebp - 0x20], 0x4f
mov byte [ebp - 0x1f], 0x62
mov byte [ebp - 0x1e], 0x4b
mov byte [ebp - 0x1d], 0x44
mov byte [ebp - 0x1c], 0x4e
mov byte [ebp - 0x1b], 0x46
mov byte [ebp - 0x1a], 0x4f
mov al, byte [ebp - 0x24]
mov byte [ebp - 0x19], 0
nop dword [eax + eax]
mov al, byte [ebp + edx - 0x24]
movsx ecx, byte [ebp - 0x28]
movsx eax, al
xor eax, ecx
mov byte [ebp + edx - 0x24], al
inc edx
cmp edx, 0xb
jb 0x2fc9264
mov byte [ebp - 0x19], 0
xor edx, edx
mov dword [ebp - 0x18], 7
mov byte [ebp - 0x14], 0x6f
mov byte [ebp - 0x13], 0x62
mov byte [ebp - 0x12], 0x6b
mov byte [ebp - 0x11], 0x6b
mov byte [ebp - 0x10], 0x68
mov al, byte [ebp - 0x14]
mov byte [ebp - 0xf], 0
nop
mov al, byte [ebp + edx - 0x14]
movsx ecx, byte [ebp - 0x18]
movsx eax, al
xor eax, ecx
mov byte [ebp + edx - 0x14], al
inc edx
cmp edx, 5
jb 0x2fc92a4
mov byte [ebp - 0xf], 0
mov dword [ebp - 0x44], 0x70
mov eax, dword [ebp - 0x44]
xor eax, 0x62
mov byte [ebp - 0x40], al
mov eax, dword [ebp - 0x44]
inc al
xor eax, 0x69
mov byte [ebp - 0x3f], al
mov eax, dword [ebp - 0x44]
add al, 2
xor eax, 0x6e
mov byte [ebp - 0x3e], al
mov eax, dword [ebp - 0x44]
add al, 3
xor eax, 0x64
mov byte [ebp - 0x3d], al
mov eax, dword [ebp - 0x44]
add al, 4
xor eax, 0x20
mov byte [ebp - 0x3c], al
mov eax, dword [ebp - 0x44]
add al, 5
xor eax, 0x63
mov byte [ebp - 0x3b], al
mov eax, dword [ebp - 0x44]
add al, 6
xor eax, 0x6f
mov byte [ebp - 0x3a], al
mov eax, dword [ebp - 0x44]
add al, 7
xor eax, 0x6d
mov byte [ebp - 0x39], al
mov eax, dword [ebp - 0x44]
add al, 8
xor eax, 0x70
mov byte [ebp - 0x38], al
mov eax, dword [ebp - 0x44]
add al, 9
xor eax, 0x6c
mov byte [ebp - 0x37], al
mov eax, dword [ebp - 0x44]
add al, 0xa
xor eax, 0x65
mov byte [ebp - 0x36], al
mov eax, dword [ebp - 0x44]
add al, 0xb
xor eax, 0x74
mov byte [ebp - 0x35], al
mov eax, dword [ebp - 0x44]
add al, 0xc
xor eax, 0x65
mov byte [ebp - 0x34], al
mov eax, dword [ebp - 0x44]
add al, 0xd
xor eax, 0x20
mov byte [ebp - 0x33], al
mov eax, dword [ebp - 0x44]
add al, 0xe
xor eax, 0x25
mov byte [ebp - 0x32], al
mov eax, dword [ebp - 0x44]
add al, 0xf
xor eax, 0x70
mov byte [ebp - 0x31], al
mov eax, dword [ebp - 0x44]
add al, 0x10
xor eax, 0x2c
mov byte [ebp - 0x30], al
mov eax, dword [ebp - 0x44]
add al, 0x11
xor eax, 0x20
mov byte [ebp - 0x2f], al
mov eax, dword [ebp - 0x44]
add al, 0x12
xor eax, 0x25
mov byte [ebp - 0x2e], al
mov eax, dword [ebp - 0x44]
add al, 0x13
xor eax, 0x73
mov byte [ebp - 0x2d], al
mov eax, dword [ebp - 0x44]
add al, 0x14
xor eax, 0x20
mov byte [ebp - 0x2c], al
mov eax, dword [ebp - 0x44]
add al, 0x15
xor eax, 0x25
mov byte [ebp - 0x2b], al
mov eax, dword [ebp - 0x44]
add al, 0x16
mov byte [ebp - 0x29], 0
xor eax, 0x70
xor edx, edx
mov byte [ebp - 0x2a], al
mov al, byte [ebp - 0x40]
mov al, byte [ebp + edx - 0x40]
mov ecx, dword [ebp - 0x44]
add cl, dl
movsx eax, al
xor ecx, eax
mov byte [ebp + edx - 0x40], cl
inc edx
cmp edx, 0x17
jb 0x2fc93ca
lea eax, [ebp - 0x24]
mov byte [ebp - 0x29], 0
push eax
push edi
call dword [0x2fcd5e4]
push eax
lea eax, [ebp - 0x14]
push eax
push 0x2fccf44
lea eax, [ebp - 0x40]
push eax
push 0x2fccf44
call fcn.02fc9804
add esp, 0x14
mov ecx, dword [0x2fccf64]
xor edi, edi
cmp ecx, 0x1ff
jae 0x2fc9430
inc ecx
mov dword [0x2fccf64], ecx
mov byte [ecx + 0x2fccf68], 0x13
mov ecx, dword [0x2fccf64]
mov eax, 0x5a4d
cmp word [ebx], ax
jne 0x2fc949c
mov esi, dword [ebx + 0x3c]
add esi, ebx
cmp dword [esi], 0x4550
jne 0x2fc949c
mov eax, 0x10b
cmp word [esi + 0x18], ax
jne 0x2fc949c
movzx eax, word [esi + 0x14]
xor edx, edx
movzx edi, word [esi + 6]
add eax, 0x18
add eax, esi
test edi, edi
je 0x2fc9483
cmp dword [eax + 8], 0x1dfb4
jbe 0x2fc947b
mov esi, dword [eax + 0xc]
add esi, ebx
cmp dword [esi], 0x20170408
je 0x2fc9498
inc edx
add eax, 0x28
cmp edx, edi
jb 0x2fc9465
xor esi, esi
xor edi, edi
dec ecx
mov dword [0x2fccf64], ecx
test esi, esi
jne 0x2fc95f0
jmp 0x2fc94a5
mov edi, eax
jmp 0x2fc9487
xor esi, esi
dec ecx
mov dword [0x2fccf64], ecx
cmp dword [0x2fcd6c4], 0xffffffff
je 0x2fc95e1
mov dword [ebp - 0x60], 0x5e
mov eax, dword [ebp - 0x60]
xor eax, 0x63
mov byte [ebp - 0x5c], al
mov eax, dword [ebp - 0x60]
inc al
xor eax, 0x61
mov byte [ebp - 0x5b], al
mov eax, dword [ebp - 0x60]
add al, 2
xor eax, 0x6e
mov byte [ebp - 0x5a], al
mov eax, dword [ebp - 0x60]
add al, 3
xor eax, 0x27
mov byte [ebp - 0x59], al
mov eax, dword [ebp - 0x60]
add al, 4
xor eax, 0x74
mov byte [ebp - 0x58], al
mov eax, dword [ebp - 0x60]
add al, 5
xor eax, 0x20
mov byte [ebp - 0x57], al
mov eax, dword [ebp - 0x60]
add al, 6
xor eax, 0x66
mov byte [ebp - 0x56], al
mov eax, dword [ebp - 0x60]
add al, 7
xor eax, 0x69
mov byte [ebp - 0x55], al
mov eax, dword [ebp - 0x60]
add al, 8
xor eax, 0x6e
mov byte [ebp - 0x54], al
mov eax, dword [ebp - 0x60]
add al, 9
xor eax, 0x64
mov byte [ebp - 0x53], al
mov eax, dword [ebp - 0x60]
add al, 0xa
xor eax, 0x20
mov byte [ebp - 0x52], al
mov eax, dword [ebp - 0x60]
add al, 0xb
xor eax, 0x72
mov byte [ebp - 0x51], al
mov eax, dword [ebp - 0x60]
add al, 0xc
xor eax, 0x67
mov byte [ebp - 0x50], al
mov eax, dword [ebp - 0x60]
add al, 0xd
xor eax, 0x70
mov byte [ebp - 0x4f], al
mov eax, dword [ebp - 0x60]
add al, 0xe
xor eax, 0x20
mov byte [ebp - 0x4e], al
mov eax, dword [ebp - 0x60]
add al, 0xf
xor eax, 0x73
mov byte [ebp - 0x4d], al
mov eax, dword [ebp - 0x60]
add al, 0x10
xor eax, 0x65
mov byte [ebp - 0x4c], al
mov eax, dword [ebp - 0x60]
add al, 0x11
xor eax, 0x63
mov byte [ebp - 0x4b], al
mov eax, dword [ebp - 0x60]
add al, 0x12
xor eax, 0x74
mov byte [ebp - 0x4a], al
mov eax, dword [ebp - 0x60]
add al, 0x13
xor eax, 0x69
mov byte [ebp - 0x49], al
mov eax, dword [ebp - 0x60]
add al, 0x14
xor eax, 0x6f
mov byte [ebp - 0x48], al
mov eax, dword [ebp - 0x60]
add al, 0x15
mov byte [ebp - 0x46], 0
xor eax, 0x6e
xor edx, edx
mov byte [ebp - 0x47], al
mov al, byte [ebp - 0x5c]
nop
mov al, byte [ebp + edx - 0x5c]
mov ecx, dword [ebp - 0x60]
add cl, dl
movsx eax, al
xor ecx, eax
mov byte [ebp + edx - 0x5c], cl
inc edx
cmp edx, 0x16
jb 0x2fc95b4
lea eax, [ebp - 0x5c]
mov byte [ebp - 0x46], 0
push eax
push 0x2fccf44
call fcn.02fc9804
add esp, 8
push 0xe0410008
push 0x2fccf44
call fcn.02fca844
cmp dword [esi + 8], 0x1dfb4
je 0x2fc9780
cmp dword [0x2fcd6c4], 0xffffffff
je 0x2fc9771
mov dword [ebp - 0x80], 0x42
mov eax, dword [ebp - 0x80]
xor eax, 0x72
mov byte [ebp - 0x7c], al
mov eax, dword [ebp - 0x80]
inc al
xor eax, 0x67
mov byte [ebp - 0x7b], al
mov eax, dword [ebp - 0x80]
add al, 2
xor eax, 0x70
mov byte [ebp - 0x7a], al
mov eax, dword [ebp - 0x80]
add al, 3
xor eax, 0x20
mov byte [ebp - 0x79], al
mov eax, dword [ebp - 0x80]
add al, 4
xor eax, 0x73
mov byte [ebp - 0x78], al
mov eax, dword [ebp - 0x80]
add al, 5
xor eax, 0x65
mov byte [ebp - 0x77], al
mov eax, dword [ebp - 0x80]
add al, 6
xor eax, 0x63
mov byte [ebp - 0x76], al
mov eax, dword [ebp - 0x80]
add al, 7
xor eax, 0x74
mov byte [ebp - 0x75], al
mov eax, dword [ebp - 0x80]
add al, 8
xor eax, 0x69
mov byte [ebp - 0x74], al
mov eax, dword [ebp - 0x80]
add al, 9
xor eax, 0x6f
mov byte [ebp - 0x73], al
mov eax, dword [ebp - 0x80]
add al, 0xa
xor eax, 0x6e
mov byte [ebp - 0x72], al
mov eax, dword [ebp - 0x80]
add al, 0xb
xor eax, 0x20
mov byte [ebp - 0x71], al
mov eax, dword [ebp - 0x80]
add al, 0xc
xor eax, 0x73
mov byte [ebp - 0x70], al
mov eax, dword [ebp - 0x80]
add al, 0xd
xor eax, 0x69
mov byte [ebp - 0x6f], al
mov eax, dword [ebp - 0x80]
add al, 0xe
xor eax, 0x7a
mov byte [ebp - 0x6e], al
mov eax, dword [ebp - 0x80]
add al, 0xf
xor eax, 0x65
mov byte [ebp - 0x6d], al
mov eax, dword [ebp - 0x80]
add al, 0x10
xor eax, 0x20
mov byte [ebp - 0x6c], al
mov eax, dword [ebp - 0x80]
add al, 0x11
xor eax, 0x69
mov byte [ebp - 0x6b], al
mov eax, dword [ebp - 0x80]
add al, 0x12
xor eax, 0x73
mov byte [ebp - 0x6a], al
mov eax, dword [ebp - 0x80]
add al, 0x13
xor eax, 0x20
mov byte [ebp - 0x69], al
mov eax, dword [ebp - 0x80]
add al, 0x14
xor eax, 0x69
mov byte [ebp - 0x68], al
mov eax, dword [ebp - 0x80]
add al, 0x15
xor eax, 0x6e
mov byte [ebp - 0x67], al
mov eax, dword [ebp - 0x80]
add al, 0x16
xor eax, 0x76
mov byte [ebp - 0x66], al
mov eax, dword [ebp - 0x80]
add al, 0x17
xor eax, 0x61
mov byte [ebp - 0x65], al
mov eax, dword [ebp - 0x80]
add al, 0x18
xor eax, 0x6c
mov byte [ebp - 0x64], al
mov eax, dword [ebp - 0x80]
add al, 0x19
xor eax, 0x69
mov byte [ebp - 0x63], al
mov eax, dword [ebp - 0x80]
add al, 0x1a
mov byte [ebp - 0x61], 0
xor eax, 0x64
xor edx, edx
mov byte [ebp - 0x62], al
mov al, byte [ebp - 0x7c]
nop dword [eax]
mov al, byte [ebp + edx - 0x7c]
mov ecx, dword [ebp - 0x80]
add cl, dl
movsx eax, al
xor ecx, eax
mov byte [ebp + edx - 0x7c], cl
inc edx
cmp edx, 0x1b
jb 0x2fc9744
lea eax, [ebp - 0x7c]
mov byte [ebp - 0x61], 0
push eax
push 0x2fccf44
call fcn.02fc9804
add esp, 8
push 0xe0410009
push 0x2fccf44
call fcn.02fca844
xor ecx, ecx
mov eax, 0x2feb684
cmp eax, 0x2fcd6d0
sbb edx, edx
and edx, 0xfffe204c
add edx, 0x1dfb4
je 0x2fc97b2
nop dword [eax + eax]
mov al, byte [ecx + esi]
mov byte [ecx + 0x2fcd6d0], al
inc ecx
cmp ecx, edx
jb 0x2fc97a4
mov dword [0x2fcd6cc], esi
mov dword [0x2fcd644], ebx
mov dword [0x2fcd64c], 0x2fc8904
mov eax, dword [ebx + 0x3c]
mov eax, dword [eax + ebx + 0x50]
add eax, ebx
mov dword [0x2fcd650], edi
mov dword [0x2fcd648], eax
mov eax, dword [0x2fcd72c]
and eax, 0x8000
neg eax
pop edi
sbb eax, eax
and eax, 0x2fcabf4
pop esi
mov dword [0x2fcd680], eax
pop ebx
mov esp, ebp
pop ebp
ret 4