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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x60
mov edi, dword [ebp + 8]
mov dword [esp + 0x10], 0x63c761cb
mov dword [esp + 0x14], 0x67b265fd
mov dword [esp + 0x18], 0x6bce6986
mov dword [esp + 0x1c], 0x6f6e6dce
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 0x17
ja 0x417275
mov ecx, dword [esp + 8]
mov eax, dword [esp + 8]
movzx eax, byte [esp + eax + 0x10]
lea edx, [ecx + 0x10]
and edx, eax
mov esi, 0xef
sub esi, ecx
or esi, eax
add esi, edx
sub eax, esi
add al, 0x8f
mov ecx, dword [esp + 8]
mov byte [esp + ecx + 0x10], al
mov eax, dword [esp + 8]
mov ecx, eax
and ecx, 1
xor eax, 1
lea eax, [eax + ecx*2]
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
cmp eax, 0x18
jb 0x417230
lea esi, [esp + 0x10]
push esi
push dword [ebp + 0xc]
push edi
call fcn.00414550
add esp, 0xc
mov ebx, eax
mov dword [esp + 0x10], 0x3b5f3953
mov dword [esp + 0x14], 0x3fa83da8
mov dword [esp + 0x18], 0x230e2165
mov dword [esp + 0x1c], 0x27462546
mov word [esp + 0x20], 0x2926
mov dword [esp + 0x22], 0
mov dword [esp + 0x26], 0
mov dword [esp + 0x2a], 0
mov dword [esp + 0x2e], 0
mov dword [esp + 0x32], 0
mov dword [esp + 0x36], 0
mov dword [esp + 0x3a], 0
mov byte [esp + 0x3e], 0
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 0x2e
ja 0x417325
nop
nop
nop
mov eax, dword [esp + 8]
mov ecx, dword [esp + 8]
add al, 0x27
xor al, byte [esp + ecx + 0x10]
add al, 0xef
mov ecx, dword [esp + 8]
mov byte [esp + ecx + 0x10], al
inc dword [esp + 8]
mov eax, dword [esp + 8]
cmp eax, 0x2f
jb 0x417300
push esi
push dword [ebp + 0xc]
push edi
call fcn.00414550
add esp, 0xc
mov byte [esp + 0xf], al
mov dword [esp + 0x10], 0xbb29b950
mov dword [esp + 0x14], 0xbf53bd28
mov dword [esp + 0x18], 0xa34ba156
mov dword [esp + 0x1c], 0xa730a537
mov dword [esp + 0x20], 0xab3aa937
mov dword [esp + 0x24], 0xaf82ad31
mov dword [esp + 0x28], 0x53c3513b
mov dword [esp + 0x2c], 0x57bf55be
mov dword [esp + 0x30], 0x5bbf59c2
mov word [esp + 0x34], 0x5d5a
mov dword [esp + 0x36], 0
mov dword [esp + 0x3a], 0
mov dword [esp + 0x3d], 0
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 0x30
ja 0x4173e8
nop
nop
mov ecx, dword [esp + 8]
mov eax, dword [esp + 8]
movzx edx, byte [esp + eax + 0x10]
lea eax, [ecx + edx]
add eax, 0x66e34b67
add ecx, 0x66e34b67
and ecx, edx
add ecx, ecx
sub eax, ecx
add al, 0x2f
mov ecx, dword [esp + 8]
mov byte [esp + ecx + 0x10], al
inc dword [esp + 8]
mov eax, dword [esp + 8]
cmp eax, 0x31
jb 0x4173b0
push esi
push dword [ebp + 0xc]
push edi
call fcn.00414550
add esp, 0xc
mov byte [esp + 0xe], al
mov dword [esp + 0x10], 0xb32db153
mov dword [esp + 0x14], 0xb72db52b
mov dword [esp + 0x18], 0xab4fa931
mov dword [esp + 0x1c], 0xaf70ad3f
mov dword [esp + 0x20], 0xa333a133
mov dword [esp + 0x24], 0xa73fa538
mov dword [esp + 0x28], 0x5bbf59cc
mov word [esp + 0x2c], 0x5d5c
mov dword [esp + 0x2e], 0
mov dword [esp + 0x32], 0
mov dword [esp + 0x36], 0
mov word [esp + 0x3a], 0
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 0x2b
ja 0x4174a7
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 8]
mov ecx, dword [esp + 8]
movzx ecx, byte [esp + ecx + 0x10]
lea edx, [eax - 0x4a1b2e98]
and edx, ecx
add eax, ecx
add eax, 0xb5e4d168
add edx, edx
sub eax, edx
add al, 0x28
mov ecx, dword [esp + 8]
mov byte [esp + ecx + 0x10], al
inc dword [esp + 8]
mov eax, dword [esp + 8]
cmp eax, 0x2c
jb 0x417470
push esi
push dword [ebp + 0xc]
push edi
call fcn.00414550
add esp, 0xc
mov bh, al
mov dword [esp + 0x10], 0x4bc555ca
mov dword [esp + 0x14], 0x4fd749d3
mov dword [esp + 0x18], 0x43d94ddc
mov dword [esp + 0x1c], 0x47de4190
mov dword [esp + 0x20], 0x7bd545d3
mov dword [esp + 0x24], 0x7f7879e8
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
mov word [esp + 0x30], 0
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 0x21
ja 0x417552
nop
nop
mov ecx, dword [esp + 8]
mov eax, dword [esp + 8]
movzx edx, byte [esp + eax + 0x10]
lea eax, [ecx + edx]
add eax, 0x9183dc8d
add ecx, 0x9183dc8d
and ecx, edx
add ecx, ecx
sub eax, ecx
mov ecx, eax
or ecx, 0x24
and eax, 0x24
add eax, ecx
inc al
mov ecx, dword [esp + 8]
mov byte [esp + ecx + 0x10], al
inc dword [esp + 8]
mov eax, dword [esp + 8]
cmp eax, 0x22
jb 0x417510
push esi
push dword [ebp + 0xc]
push edi
call fcn.00414550
add esp, 0xc
mov dword [esp + 0x10], 0x33803586
mov dword [esp + 0x14], 0xf8d318d
mov dword [esp + 0x18], 0xb810db5
mov dword [esp + 0x1c], 0x78509f8
mov dword [esp + 0x20], 0x3b00589
mov dword [esp + 0x24], 0x1f8c01b5
mov dword [esp + 0x28], 0x1b1c1da5
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0
mov byte [esp + 0x38], 0
mov dword [esp + 8], 0
mov ecx, dword [esp + 8]
cmp ecx, 0x28
ja 0x417618
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 8]
mov edx, dword [esp + 8]
movzx edx, byte [esp + edx + 0x10]
lea edi, [ecx + 0xd9]
and edi, edx
add ecx, edx
add edi, edi
sub ecx, edi
mov edx, 0xd17c4926
sub edx, ecx
add ecx, 0x2e83b7d9
and edx, 0xef
and ecx, 0x10
sub ecx, edx
mov edx, dword [esp + 8]
mov byte [esp + edx + 0x10], cl
inc dword [esp + 8]
mov ecx, dword [esp + 8]
cmp ecx, 0x29
jb 0x4175d0
or bl, byte [esp + 0xf]
movzx ecx, bl
movzx edx, byte [esp + 0xe]
mov edi, edx
xor edi, ecx
add edi, ecx
not edx
and edx, ecx
cmp edi, edx
setne cl
or bh, al
or bh, cl
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414550
add esp, 0xc
movzx eax, al
movzx ecx, bh
mov edx, eax
not edx
and edx, ecx
xor eax, ecx
add eax, ecx
cmp eax, edx
setne al
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret