Function at 0x417ec0
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 + 0xc]
mov ebx, dword [ebp + 8]
mov dword [esp + 0x10], 0x73176d03
mov dword [esp + 0x14], 0x77427109
mov dword [esp + 0x18], 0x7b1e7546
mov dword [esp + 0x1c], 0x7f7e791e
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
mov byte [esp + 0x28], 0
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 0x18
ja 0x417f63
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 8]
mov eax, dword [esp + 8]
movzx edx, byte [esp + eax + 0x10]
lea eax, [ecx + edx]
add eax, 0x6ed9a5ee
add ecx, 0x6ed9a5ee
and ecx, edx
add ecx, ecx
sub eax, ecx
mov ecx, eax
xor ecx, 0x7d
and eax, 0x7d
lea eax, [ecx + eax*2]
inc al
mov ecx, dword [esp + 8]
mov byte [esp + ecx + 0x10], al
inc dword [esp + 8]
mov eax, dword [esp + 8]
cmp eax, 0x19
jb 0x417f20
lea esi, [esp + 0x10]
push esi
push edi
push ebx
call fcn.00414740
add esp, 0xc
mov byte [esp + 0xf], al
mov dword [esp + 0x10], 0xcb77cd73
mov dword [esp + 0x14], 0xc74ac946
mov dword [esp + 0x18], 0xc3b0c58d
mov dword [esp + 0x1c], 0xdf60c17c
mov word [esp + 0x20], 0xdddc
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 dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 0x2d
ja 0x418027
nop
nop
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 + 0x69f02be2]
and edx, ecx
add eax, ecx
add eax, 0x69f02be2
add edx, edx
sub eax, edx
add al, 0xd2
mov ecx, dword [esp + 8]
mov byte [esp + ecx + 0x10], al
inc dword [esp + 8]
mov eax, dword [esp + 8]
cmp eax, 0x2e
jb 0x417ff0
push esi
push edi
push ebx
call fcn.00414740
add esp, 0xc
mov byte [esp + 0xe], al
mov dword [esp + 0x10], 0x2b55254c
mov dword [esp + 0x14], 0x2f5b295c
mov dword [esp + 0x18], 0x33432d46
mov dword [esp + 0x1c], 0x37443147
mov dword [esp + 0x20], 0x3b423547
mov dword [esp + 0x24], 0x3f0a3945
mov dword [esp + 0x28], 0x434b3d4b
mov dword [esp + 0x2c], 0x472f412e
mov dword [esp + 0x30], 0x4b2f4532
mov word [esp + 0x34], 0x494a
mov dword [esp + 0x36], 0
mov dword [esp + 0x3a], 0
mov dword [esp + 0x3e], 0
mov dword [esp + 0x42], 0
mov dword [esp + 0x45], 0
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 0x38
ja 0x4180f8
nop
nop
mov ecx, dword [esp + 8]
mov eax, dword [esp + 8]
movzx edx, byte [esp + eax + 0x10]
lea eax, [ecx + edx]
add eax, 0x804c225
add ecx, 0x804c225
and ecx, edx
add ecx, ecx
sub eax, ecx
add al, 0xfd
mov ecx, dword [esp + 8]
mov byte [esp + ecx + 0x10], al
inc dword [esp + 8]
mov eax, dword [esp + 8]
cmp eax, 0x39
jb 0x4180c0
push esi
push edi
mov edi, ebx
push ebx
call fcn.00414740
add esp, 0xc
mov bh, al
mov dword [esp + 0x10], 0x7b897983
mov dword [esp + 0x14], 0x7f817d8b
mov dword [esp + 0x18], 0x73977185
mov dword [esp + 0x1c], 0x774a7587
mov dword [esp + 0x20], 0xbfb0983
mov dword [esp + 0x24], 0xff70df6
mov dword [esp + 0x28], 0x3e701fa
mov word [esp + 0x2c], 0x502
mov dword [esp + 0x2e], 0
mov dword [esp + 0x32], 0
mov dword [esp + 0x35], 0
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 0x28
ja 0x4181a4
nop
mov eax, dword [esp + 8]
mov ecx, dword [esp + 8]
add al, 0x2f
xor al, byte [esp + ecx + 0x10]
add al, 0xb7
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, 0x29
jb 0x418170
push esi
push dword [ebp + 0xc]
push edi
call fcn.00414740
add esp, 0xc
mov byte [esp + 0xd], al
mov dword [esp + 0x10], 0x8b398d38
mov dword [esp + 0x14], 0x973f8923
mov dword [esp + 0x18], 0x932d9526
mov dword [esp + 0x1c], 0x9f289162
mov dword [esp + 0x20], 0x9b299d23
mov dword [esp + 0x24], 0x6766992a
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 0x27
ja 0x418258
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 8]
mov eax, dword [esp + 8]
movzx edx, byte [esp + eax + 0x10]
lea eax, [ecx + edx]
add eax, 0x1658cbea
add ecx, 0x1658cbea
and ecx, edx
add ecx, ecx
sub eax, ecx
add al, 0x9a
mov ecx, dword [esp + 8]
mov byte [esp + ecx + 0x10], al
inc dword [esp + 8]
mov eax, dword [esp + 8]
cmp eax, 0x28
jb 0x418220
push esi
push dword [ebp + 0xc]
push edi
call fcn.00414740
add esp, 0xc
mov bl, al
mov dword [esp + 0x10], 0xb320b526
mov dword [esp + 0x14], 0xaf2db12d
mov dword [esp + 0x18], 0xab21ad35
mov dword [esp + 0x1c], 0xa725a978
mov dword [esp + 0x20], 0xa330a529
mov dword [esp + 0x24], 0x5f2ca135
mov dword [esp + 0x28], 0x5b5c5dc5
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x3b], 0
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 0x2e
ja 0x418318
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 8]
mov eax, dword [esp + 8]
movzx edx, byte [esp + eax + 0x10]
lea eax, [ecx + edx]
add eax, 0x41383a69
add ecx, 0x41383a69
and ecx, edx
add ecx, ecx
sub eax, ecx
add al, 0x21
mov ecx, dword [esp + 8]
mov byte [esp + ecx + 0x10], al
inc dword [esp + 8]
mov eax, dword [esp + 8]
cmp eax, 0x2f
jb 0x4182e0
push esi
push dword [ebp + 0xc]
push edi
call fcn.00414740
add esp, 0xc
movzx ecx, byte [esp + 0xf]
or cl, byte [esp + 0xe]
or bh, byte [esp + 0xd]
or bh, cl
or bl, al
or bl, bh
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret