Function at 0x10173a80
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x50
mov edi, ecx
mov eax, dword [0x102b0014]
xor eax, ebp
mov dword [esp + 0x48], eax
cmp dword [ecx + 0x28], 0
mov esi, dword [ebp + 8]
mov dword [esp + 0x10], esi
jne 0x10173ab7
push esi
call fcn.101be910
add esp, 4
test al, al
je 0x10173c2d
cmp byte [esi + 0xb], 0
js 0x10173ad0
mov eax, dword [esi + 8]
mov dword [esp + 0x38], eax
movsd xmm0, qword [esi]
movsd qword [esp + 0x30], xmm0
jmp 0x10173ade
lea ecx, [esp + 0x30]
push dword [esi + 4]
push dword [esi]
call fcn.10140cd4
mov dword [esp + 0x3c], esi
mov eax, dword [edi + 0x14]
mov dword [esp + 8], eax
test eax, eax
mov dword [esp + 0xc], edi
je 0x10173c21
lea eax, [edi + 0x14]
mov dword [esp + 0x1c], eax
movzx eax, byte [esp + 0x3b]
test al, al
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], ecx
cmovs eax, ecx
mov dword [esp + 0x14], eax
lea eax, [esp + 0x30]
cmovs eax, dword [esp + 0x30]
mov dword [esp + 0x18], eax
jmp 0x10173b46
mov edi, dword [esp + 8]
mov eax, dword [edi]
test eax, eax
je 0x10173ce8
mov dword [esp + 0x1c], edi
mov dword [esp + 8], eax
mov edi, dword [esp + 8]
movzx ebx, byte [edi + 0x1b]
test bl, bl
mov eax, dword [edi + 0x14]
mov esi, ebx
mov dword [esp + 0x2c], eax
cmovs esi, eax
mov ecx, dword [esp + 0x20]
cmp esi, ecx
cmovb ecx, esi
mov edx, dword [esp + 0x24]
cmp esi, edx
mov eax, edx
cmovb eax, esi
test dl, dl
cmovs eax, ecx
lea edx, [edi + 0x10]
mov edi, dword [edi + 0x10]
test eax, eax
mov dword [esp + 0x28], edi
je 0x10173bb0
test bl, bl
mov ecx, edx
cmovs ecx, edi
push eax
push ecx
push dword [esp + 0x20]
mov edi, edx
call fcn.10216dd3
mov edx, edi
add esp, 0xc
test eax, eax
je 0x10173bb0
js 0x10173b30
jmp 0x10173bba
cmp dword [esp + 0x14], esi
jb 0x10173b30
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x2c]
cmp ecx, edi
cmovb edi, ecx
cmp ecx, ebx
mov eax, ebx
cmovb eax, ecx
test bl, bl
cmovs eax, edi
test eax, eax
je 0x10173c00
test bl, bl
cmovs edx, dword [esp + 0x28]
push eax
push dword [esp + 0x1c]
push edx
call fcn.10216dd3
add esp, 0xc
test eax, eax
je 0x10173c00
js 0x10173c0a
jmp 0x10173cee
cmp esi, dword [esp + 0x14]
jae 0x10173cee
mov eax, dword [esp + 8]
lea edi, [eax + 4]
mov eax, dword [eax + 4]
test eax, eax
jne 0x10173b3e
jmp 0x10173cf2
add edi, 0x14
mov dword [esp + 8], edi
jmp 0x10173cf2
mov ebx, dword [edi + 0x38]
test ebx, ebx
jne 0x10173cbe
mov dword [esp + 0x38], 0x9ff00ff
mov dword [esp + 0x30], 0x63736964
mov dword [esp + 0x34], 0x65647261
mov byte [esp + 0x38], 0x64
lea eax, [esp + 0x30]
lea ebx, [esp + 0x40]
mov ecx, edi
mov edx, ebx
push eax
call fcn.10173dc0
add esp, 4
push 0x48
call fcn.10216dd3
add esp, 4
mov esi, eax
mov ecx, eax
push ebx
push dword [edi + 0x28]
lea eax, [esp + 0x38]
push eax
call fcn.10172cf0
mov ebx, dword [edi + 0x38]
mov dword [esp + 0xc], edi
mov dword [edi + 0x38], esi
test ebx, ebx
je 0x10173ca4
mov ecx, ebx
call fcn.10172d60
push ebx
call fcn.10205096
add esp, 4
cmp byte [esp + 0x3b], 0
jns 0x10173cb7
push dword [esp + 0x30]
call fcn.10205096
add esp, 4
mov eax, dword [esp + 0xc]
mov ebx, dword [eax + 0x38]
lea eax, [ebp + 8]
mov dword [eax], 0
mov esi, dword [esp + 0x10]
test esi, esi
je 0x10173da6
mov ecx, esi
call fcn.10172d60
push esi
call fcn.10205096
add esp, 4
jmp 0x10173da6
mov edi, dword [esp + 8]
jmp 0x10173cf2
mov edi, dword [esp + 0x1c]
mov ebx, dword [edi]
test ebx, ebx
je 0x10173cfe
mov esi, dword [esp + 0x10]
jmp 0x10173d6b
push 0x20
call fcn.10216dd3
add esp, 4
mov ebx, eax
mov eax, dword [esp + 0x38]
mov dword [ebx + 0x18], eax
movsd xmm0, qword [esp + 0x30]
movsd qword [ebx + 0x10], xmm0
mov eax, dword [esp + 0x10]
mov dword [ebx + 0x1c], eax
xorps xmm0, xmm0
movaps xmmword [esp + 0x30], xmm0
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov eax, dword [esp + 8]
mov dword [ebx + 8], eax
mov dword [edi], ebx
mov esi, dword [esp + 0xc]
mov eax, dword [esi + 0x10]
mov eax, dword [eax]
test eax, eax
je 0x10173d55
mov dword [esi + 0x10], eax
mov eax, dword [edi]
jmp 0x10173d57
mov eax, ebx
push eax
push dword [esi + 0x14]
call fcn.100306aa
add esp, 8
add dword [esi + 0x18], 1
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x3c], 0
test esi, esi
je 0x10173d87
mov ecx, esi
call fcn.10172d60
push esi
call fcn.10205096
add esp, 4
cmp byte [esp + 0x3b], 0
jns 0x10173d9a
push dword [esp + 0x30]
call fcn.10205096
add esp, 4
mov ebx, dword [ebx + 0x1c]
lea eax, [ebp + 8]
mov dword [eax], 0
mov ecx, dword [esp + 0x48]
xor ecx, ebp
call fcn.10205d16
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret