Function at 0x2fc8954
Capabilities:
Contain obfuscated stackstrings
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x5c
cmp dword [0x2fccf4c], 0
je 0x2fc8a64
cmp dword [0x2fcd6c4], 0xffffffff
je 0x2fc8a5b
mov byte [ebp - 0x5c], 0x55
xor ecx, ecx
mov byte [ebp - 0x5b], 0x4a
mov byte [ebp - 0x5a], 0x53
mov byte [ebp - 0x59], 0x23
mov byte [ebp - 0x58], 0x4c
mov byte [ebp - 0x57], 0x51
mov byte [ebp - 0x56], 0x4c
mov byte [ebp - 0x55], 0x57
mov byte [ebp - 0x54], 0x23
mov byte [ebp - 0x53], 0x44
mov byte [ebp - 0x52], 0x6f
mov byte [ebp - 0x51], 0x75
mov byte [ebp - 0x50], 0x68
mov byte [ebp - 0x4f], 0x64
mov byte [ebp - 0x4e], 0x67
mov byte [ebp - 0x4d], 0x7c
mov byte [ebp - 0x4c], 0x23
mov byte [ebp - 0x4b], 0x46
mov byte [ebp - 0x4a], 0x52
mov byte [ebp - 0x49], 0x50
mov byte [ebp - 0x48], 0x53
mov byte [ebp - 0x47], 0x4f
mov byte [ebp - 0x46], 0x48
mov byte [ebp - 0x45], 0x57
mov byte [ebp - 0x44], 0x48
mov byte [ebp - 0x43], 0x31
mov byte [ebp - 0x42], 0x23
mov byte [ebp - 0x41], 0x56
mov byte [ebp - 0x40], 0x4e
mov byte [ebp - 0x3f], 0x4c
mov byte [ebp - 0x3e], 0x53
mov byte [ebp - 0x3d], 0x24
mov byte [ebp - 0x3c], 0x24
mov byte [ebp - 0x3b], 0x24
mov byte [ebp - 0x3a], 0x23
mov byte [ebp - 0x39], 0x28
mov byte [ebp - 0x38], 0x67
mov byte [ebp - 0x37], 0x23
mov byte [ebp - 0x36], 0x28
mov byte [ebp - 0x35], 0x76
mov byte [ebp - 0x34], 0x23
mov byte [ebp - 0x33], 0x28
mov byte [ebp - 0x32], 0x76
mov byte [ebp - 0x31], 0
mov al, byte [ebp - 0x5c]
mov al, byte [ebp + ecx - 0x5c]
movsx eax, al
sub eax, 3
mov byte [ebp + ecx - 0x5c], al
inc ecx
cmp ecx, 0x2b
jb 0x2fc8a29
push 0x2fbe74c
push 0x2fbe740
push dword [ebp + 8]
lea eax, [ebp - 0x5c]
push eax
push 0x2fccf44
call fcn.02fc9804
add esp, 0x14
mov eax, 0xe0010001
mov esp, ebp
pop ebp
ret
mov eax, dword [0x2fccf64]
cmp eax, 0x1ff
jae 0x2fc8a7d
inc eax
mov dword [0x2fccf64], eax
mov byte [eax + 0x2fccf68], 0x14
push dword [ebp + 0xc]
call fcn.02fc8cb4
mov eax, dword [0x2fcd630]
mov dword [ebp - 0xc], eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 4]
mov dword [ebp - 0x10], 0xc
push eax
mov dword [ebp - 8], 0x17
call fcn.02fc0b6a
test eax, eax
jns 0x2fc8abd
push 0xe0191234
push 0x2fccf44
call fcn.02fca844
jmp 0x2fc8b2c
push 0
push 0
push dword [ebp - 4]
call fcn.02fc1c35
test eax, eax
jns 0x2fc8ade
push 0xe0191235
push 0x2fccf44
call fcn.02fca844
jmp 0x2fc8b2c
mov eax, dword [ebp - 4]
mov dword [0x2fcd634], eax
mov dword [0x2fcd56c], 0x2fc15fc
mov dword [0x2fcd570], 0x2fc18da
mov dword [0x2fcd574], 0x2fc1869
mov dword [0x2fcd578], 0x2fc1992
mov dword [0x2fcd57c], 0x2fc1773
mov dword [0x2fcd580], 0x2fc1939
mov dword [0x2fcd584], 0x2fc180f
dec dword [0x2fccf64]
cmp dword [0x2fcd6c4], 0xffffffff
je 0x2fc8ca5
mov dword [ebp - 0x30], 0x1a
mov eax, dword [ebp - 0x30]
xor eax, 0x52
mov byte [ebp - 0x2c], al
mov eax, dword [ebp - 0x30]
inc al
xor eax, 0x47
mov byte [ebp - 0x2b], al
mov eax, dword [ebp - 0x30]
add al, 2
xor eax, 0x50
mov byte [ebp - 0x2a], al
mov eax, dword [ebp - 0x30]
add al, 3
xor eax, 0x20
mov byte [ebp - 0x29], al
mov eax, dword [ebp - 0x30]
add al, 4
xor eax, 0x49
mov byte [ebp - 0x28], al
mov eax, dword [ebp - 0x30]
add al, 5
xor eax, 0x4e
mov byte [ebp - 0x27], al
mov eax, dword [ebp - 0x30]
add al, 6
xor eax, 0x49
mov byte [ebp - 0x26], al
mov eax, dword [ebp - 0x30]
add al, 7
xor eax, 0x54
mov byte [ebp - 0x25], al
mov eax, dword [ebp - 0x30]
add al, 8
xor eax, 0x20
mov byte [ebp - 0x24], al
mov eax, dword [ebp - 0x30]
add al, 9
xor eax, 0x43
mov byte [ebp - 0x23], al
mov eax, dword [ebp - 0x30]
add al, 0xa
xor eax, 0x4f
mov byte [ebp - 0x22], al
mov eax, dword [ebp - 0x30]
add al, 0xb
xor eax, 0x4d
mov byte [ebp - 0x21], al
mov eax, dword [ebp - 0x30]
add al, 0xc
xor eax, 0x50
mov byte [ebp - 0x20], al
mov eax, dword [ebp - 0x30]
add al, 0xd
xor eax, 0x4c
mov byte [ebp - 0x1f], al
mov eax, dword [ebp - 0x30]
add al, 0xe
xor eax, 0x45
mov byte [ebp - 0x1e], al
mov eax, dword [ebp - 0x30]
add al, 0xf
xor eax, 0x54
mov byte [ebp - 0x1d], al
mov eax, dword [ebp - 0x30]
add al, 0x10
xor eax, 0x45
mov byte [ebp - 0x1c], al
mov eax, dword [ebp - 0x30]
add al, 0x11
xor eax, 0x20
mov byte [ebp - 0x1b], al
mov eax, dword [ebp - 0x30]
add al, 0x12
xor eax, 0x25
mov byte [ebp - 0x1a], al
mov eax, dword [ebp - 0x30]
add al, 0x13
xor eax, 0x64
mov byte [ebp - 0x19], al
mov eax, dword [ebp - 0x30]
add al, 0x14
xor eax, 0x20
mov byte [ebp - 0x18], al
mov eax, dword [ebp - 0x30]
add al, 0x15
xor eax, 0x25
mov byte [ebp - 0x17], al
mov eax, dword [ebp - 0x30]
add al, 0x16
xor eax, 0x73
mov byte [ebp - 0x16], al
mov eax, dword [ebp - 0x30]
add al, 0x17
xor eax, 0x20
mov byte [ebp - 0x15], al
mov eax, dword [ebp - 0x30]
add al, 0x18
xor eax, 0x25
mov byte [ebp - 0x14], al
mov eax, dword [ebp - 0x30]
add al, 0x19
mov byte [ebp - 0x12], 0
xor eax, 0x73
xor edx, edx
mov byte [ebp - 0x13], al
mov al, byte [ebp - 0x2c]
mov al, byte [ebp + edx - 0x2c]
mov ecx, dword [ebp - 0x30]
add cl, dl
movsx eax, al
xor ecx, eax
mov byte [ebp + edx - 0x2c], cl
inc edx
cmp edx, 0x1a
jb 0x2fc8c6b
push 0x2fbe74c
push 0x2fbe740
push dword [ebp + 8]
lea eax, [ebp - 0x2c]
mov byte [ebp - 0x12], 0
push eax
push 0x2fccf44
call fcn.02fc9804
add esp, 0x14
xor eax, eax
mov esp, ebp
pop ebp
ret