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

Disassembly:
sub esp, 0x90
push ebx
push ebp
push esi
push edi
xor eax, eax
mov dword [esp + 0x44], edx
lea edi, [esp + 0x50]
mov ebp, ecx
stosd dword es:[edi], eax
mov esi, 0x800
push esi
mov dword [esp + 0x40], ebp
stosd dword es:[edi], eax
stosd dword es:[edi], eax
call fcn.0040570b
push esi
mov edi, eax
call fcn.0040570b
pop ecx
mov ebx, eax
xor esi, esi
mov dword [esp + 0x50], ebx
pop ecx
test edi, edi
je 0x4177be
test ebx, ebx
je 0x4177be
push 0x400
push edi
mov dword [esp + 0x48], esi
push esi
jmp 0x4177a6
push 0x5c
pop eax
push dword [esp + 0x44]
mov word [esp + 0x38], ax
xor eax, eax
push ebx
mov word [esp + 0x3e], ax
call fcn.00405dde
lea eax, [esp + 0x3c]
push eax
push ebx
call fcn.00405bcb
push edi
push ebx
call fcn.00405bcb
add esp, 0x18
lea eax, [esp + 0x30]
mov edx, 0x68407afb
push eax
push ebx
push 0x80000001
push 4
pop ecx
call fcn.00412ca7
call eax
test eax, eax
jne 0x417796
mov dword [esp + 0x10], 0x7f7d7973
mov eax, esi
mov dword [esp + 0x14], 0x7a0c0c09
mov dword [esp + 0x18], 0x7b797b7e
mov dword [esp + 0x1c], 0x792e7b7b
mov dword [esp + 0x20], 0xb727208
mov dword [esp + 0x24], 0x7a7b7a7a
mov dword [esp + 0x28], 0xb78087e
mov dword [esp + 0x2c], 0x7c7d7c7c
movq xmm1, qword [esp + eax + 0x10]
movq xmm0, qword [0x420fc0]
pxor xmm1, xmm0
xorps xmm0, xmm0
punpcklbw xmm1, xmm0
movups xmmword [esp + eax*2 + 0x5c], xmm1
add eax, 8
cmp eax, 0x20
jl 0x41769e
xor eax, eax
mov word [esp + 0x9c], ax
lea eax, [esp + 0x5c]
push eax
push edi
call fcn.00405af6
pop ecx
pop ecx
test eax, eax
jne 0x417841
push 0x200
call fcn.0040570b
mov ebp, eax
pop ecx
test ebp, ebp
je 0x41777f
push 0x100
push ebp
push esi
push dword [esp + 0x3c]
mov edx, 0x1bdd7fb
push 4
pop ecx
call fcn.00412ca7
call eax
test eax, eax
jne 0x417778
mov ebx, esi
lea eax, [esp + 0x38]
mov edx, 0x68407afb
push eax
push ebp
push dword [esp + 0x38]
push 4
pop ecx
call fcn.00412ca7
call eax
test eax, eax
jne 0x417755
mov ecx, dword [esp + 0x38]
lea edx, [esp + 0x50]
call fcn.00417851
push dword [esp + 0x38]
mov edx, 0x76485fc5
push 4
pop ecx
call fcn.00412ca7
call eax
push 0x100
push ebp
inc ebx
mov edx, 0x1bdd7fb
push ebx
push dword [esp + 0x3c]
push 4
pop ecx
call fcn.00412ca7
call eax
test eax, eax
je 0x417718
mov ebx, dword [esp + 0x4c]
push ebp
call fcn.004056f0
pop ecx
mov ebp, dword [esp + 0x3c]
push dword [esp + 0x30]
mov edx, 0x76485fc5
push 4
pop ecx
call fcn.00412ca7
call eax
mov eax, dword [esp + 0x40]
push 0x400
inc eax
push edi
mov dword [esp + 0x48], eax
push eax
push ebp
push 4
mov edx, 0x1bdd7fb
pop ecx
call fcn.00412ca7
call eax
test eax, eax
je 0x41760c
push ebx
call fcn.004056f0
push edi
call fcn.004056f0
pop ecx
pop ecx
mov ecx, dword [esp + 0x50]
test ecx, ecx
je 0x417836
mov dword [esp + 0x10], 0x120a16ee
mov dword [esp + 0x14], 0x1becd815
mov dword [esp + 0x18], 0x170e0d0e
mov dword [esp + 0x1c], 0x150a121d
mov dword [esp + 0x20], 0x211dd71c
mov byte [esp + 0x24], 0x1d
movzx eax, byte [esp + esi + 0x10]
mov edx, 0xff
add ax, 0x57
and ax, dx
mov word [esp + esi*2 + 0x5c], ax
inc esi
cmp esi, 0x15
jl 0x417801
mov edx, dword [esp + 0x58]
xor eax, eax
mov word [esp + 0x86], ax
lea eax, [esp + 0x5c]
push eax
call fcn.00418be5
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x90
ret
mov ecx, dword [esp + 0x30]
mov edx, ebx
call fcn.004175b2
jmp 0x417783