Function at 0x580170
Capabilities:
Contain obfuscated stackstrings

Disassembly:
test dword [0x7eeab0], 0xfffffe00
jne 0x5801a8
test dword [0x7eeab0], 0xffffff80
jne 0x58036c
test dword [0x7eeab0], 0xffffffff
jne 0x580574
call fcn.006a7fbc
jmp fcn.00580170
push ebp
mov ebp, esp
and esp, 0xfffffff0
push edi
push esi
push ebx
push ecx
mov eax, 0x1070
call fcn.006977b0
mov ecx, dword [esp + 0x1070]
mov ebx, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x1064], eax
mov edi, dword [ebp + 0x10]
mov esi, dword [ebp + 0x14]
pxor xmm0, xmm0
movaps xmmword [esp + 0x1050], xmm0
mov byte [esp + 0x1060], 0
test ebx, ebx
je 0x58035a
test edi, edi
je 0x58035a
mov eax, esi
and eax, 7
jne 0x58035a
mov ecx, edi
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x58021e
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x580209
dec eax
mov dword [esp], eax
cmp eax, esi
jle 0x580236
xor eax, eax
add esp, 0x1074
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret 0x10
lea ecx, [esi + 1]
mov dword [esp + 0x1048], ecx
call fcn.004dc288
mov dword [esp + 0x104c], eax
mov eax, dword [esp + 0x1048]
push eax
push 0
mov edx, dword [esp + 0x1054]
push edx
call fcn.006a8128
mov eax, dword [esp + 0xc]
push eax
push edi
mov edx, dword [esp + 0x1060]
push edx
call fcn.006a8180
add esp, 0x18
movdqa xmm0, xmmword [0x6d3a00]
movdqa xmmword [esp + 0x1050], xmm0
mov byte [esp + 0x1060], 0
push 0x10
lea ecx, [esp + 4]
lea edx, [esp + 0x1054]
call fcn.005ef888
push esi
mov eax, dword [esp + 0x1050]
push eax
lea ecx, [esp + 8]
xor edx, edx
call fcn.005eee50
cmp eax, 0xffffffff
je 0x580342
pxor xmm0, xmm0
movaps xmmword [esp + 0x1050], xmm0
mov eax, dword [esp + 0x1064]
lea ecx, [esi + eax + 1]
mov dword [esp + 0x1048], ecx
call fcn.004dc288
mov edi, eax
mov eax, dword [esp + 0x1048]
push eax
push 0
push edi
call fcn.006a8128
push esi
mov eax, dword [esp + 0x105c]
push eax
push edi
call fcn.006a8180
lea edx, [esi + edi]
mov eax, dword [esp + 0x107c]
push eax
push ebx
push edx
call fcn.006a8180
add esp, 0x24
add esi, dword [esp + 0x1064]
mov byte [edi + esi], 0
mov ecx, dword [esp + 0x104c]
call fcn.004db958
mov eax, edi
add esp, 0x1074
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret 0x10
pxor xmm0, xmm0
movaps xmmword [esp + 0x1050], xmm0
mov ecx, dword [esp + 0x104c]
call fcn.004db958
xor eax, eax
add esp, 0x1074
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret 0x10
push ebp
mov ebp, esp
and esp, 0xfffffff0
push edi
push esi
push ebx
push ecx
mov eax, 0x1070
call fcn.006977b0
mov ecx, dword [esp + 0x1070]
mov ebx, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x1064], eax
mov edi, dword [ebp + 0x10]
mov esi, dword [ebp + 0x14]
xor edx, edx
mov dword [esp + 0x1050], edx
mov dword [esp + 0x1054], edx
mov dword [esp + 0x1058], edx
mov dword [esp + 0x105c], edx
mov byte [esp + 0x1060], dl
test ebx, ebx
je 0x580562
test edi, edi
je 0x580562
mov eax, esi
and eax, 7
jne 0x580562
mov ecx, edi
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x5803f3
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x5803de
dec eax
mov dword [esp], eax
cmp eax, esi
jle 0x58040b
xor eax, eax
add esp, 0x1074
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret 0x10
lea ecx, [esi + 1]
mov dword [esp + 0x1048], ecx
call fcn.004dc288
mov dword [esp + 0x104c], eax
mov eax, dword [esp + 0x1048]
push eax
push 0
mov edx, dword [esp + 0x1054]
push edx
call fcn.006a8128
mov eax, dword [esp + 0xc]
push eax
push edi
mov edx, dword [esp + 0x1060]
push edx
call fcn.006a8180
add esp, 0x18
movq mm0, qword [0x6d3a20]
movq qword [esp + 0x1050], mm0
movq mm1, qword [0x6d3a28]
movq qword [esp + 0x1058], mm1
emms
mov byte [esp + 0x1060], 0
push 0x10
lea ecx, [esp + 4]
lea edx, [esp + 0x1054]
call fcn.005ef888
push esi
mov eax, dword [esp + 0x1050]
push eax
lea ecx, [esp + 8]
xor edx, edx
call fcn.005eee50
cmp eax, 0xffffffff
je 0x580538
xor eax, eax
mov dword [esp + 0x1050], eax
mov dword [esp + 0x1054], eax
mov dword [esp + 0x1058], eax
mov dword [esp + 0x105c], eax
mov eax, dword [esp + 0x1064]
lea ecx, [esi + eax + 1]
mov dword [esp + 0x1048], ecx
call fcn.004dc288
mov edi, eax
mov eax, dword [esp + 0x1048]
push eax
push 0
push edi
call fcn.006a8128
push esi
mov eax, dword [esp + 0x105c]
push eax
push edi
call fcn.006a8180
lea edx, [esi + edi]
mov eax, dword [esp + 0x107c]
push eax
push ebx
push edx
call fcn.006a8180
add esp, 0x24
add esi, dword [esp + 0x1064]
mov byte [edi + esi], 0
mov ecx, dword [esp + 0x104c]
call fcn.004db958
mov eax, edi
add esp, 0x1074
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret 0x10
xor eax, eax
mov dword [esp + 0x1050], eax
mov dword [esp + 0x1054], eax
mov dword [esp + 0x1058], eax
mov dword [esp + 0x105c], eax
mov ecx, dword [esp + 0x104c]
call fcn.004db958
xor eax, eax
add esp, 0x1074
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret 0x10
push ebp
mov ebp, esp
and esp, 0xfffffff0
push edi
push esi
push ebx
push ecx
mov eax, 0x1070
call fcn.006977b0
mov ecx, dword [esp + 0x1070]
mov ebx, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x1064], eax
mov edi, dword [ebp + 0x10]
mov esi, dword [ebp + 0x14]
xor edx, edx
mov dword [esp + 0x1050], edx
mov dword [esp + 0x1054], edx
mov dword [esp + 0x1058], edx
mov dword [esp + 0x105c], edx
mov byte [esp + 0x1060], dl
test ebx, ebx
je 0x5807ca
test edi, edi
je 0x5807ca
mov eax, esi
and eax, 7
jne 0x5807ca
mov ecx, edi
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x5805fb
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x5805e6
dec eax
mov dword [esp], eax
cmp eax, esi
jle 0x580613
xor eax, eax
add esp, 0x1074
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret 0x10
lea ecx, [esi + 1]
mov dword [esp + 0x1048], ecx
call fcn.004dc288
mov dword [esp + 0x104c], eax
mov eax, dword [esp + 0x1048]
push eax
push 0
mov edx, dword [esp + 0x1054]
push edx
call fcn.006a8128
mov eax, dword [esp + 0xc]
push eax
push edi
mov edx, dword [esp + 0x1060]
push edx
call fcn.006a8180
add esp, 0x18
mov byte [esp + 0x1050], 0x54
mov byte [esp + 0x1051], 0x20
mov byte [esp + 0x1052], 0x87
mov byte [esp + 0x1053], 0x84
mov byte [esp + 0x1054], 0x22
mov byte [esp + 0x1055], 0x36
mov byte [esp + 0x1056], 2
mov byte [esp + 0x1057], 0x99
mov byte [esp + 0x1058], 0x55
mov byte [esp + 0x1059], 6
mov byte [esp + 0x105a], 9
mov byte [esp + 0x105b], 0x23
mov byte [esp + 0x105c], 0x53
mov byte [esp + 0x105d], 0x12
mov byte [esp + 0x105e], 0x51
mov byte [esp + 0x105f], 0x66
mov byte [esp + 0x1060], 0
push 0x10
lea ecx, [esp + 4]
lea edx, [esp + 0x1054]
call fcn.005ef888
push esi
mov eax, dword [esp + 0x1050]
push eax
lea ecx, [esp + 8]
xor edx, edx
call fcn.005eee50
cmp eax, 0xffffffff
je 0x5807a0
xor eax, eax
mov dword [esp + 0x1050], eax
mov dword [esp + 0x1054], eax
mov dword [esp + 0x1058], eax
mov dword [esp + 0x105c], eax
mov eax, dword [esp + 0x1064]
lea ecx, [esi + eax + 1]
mov dword [esp + 0x1048], ecx
call fcn.004dc288
mov edi, eax
mov eax, dword [esp + 0x1048]
push eax
push 0
push edi
call fcn.006a8128
push esi
mov eax, dword [esp + 0x105c]
push eax
push edi
call fcn.006a8180
lea edx, [esi + edi]
mov eax, dword [esp + 0x107c]
push eax
push ebx
push edx
call fcn.006a8180
add esp, 0x24
add esi, dword [esp + 0x1064]
mov byte [edi + esi], 0
mov ecx, dword [esp + 0x104c]
call fcn.004db958
mov eax, edi
add esp, 0x1074
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret 0x10
xor eax, eax
mov dword [esp + 0x1050], eax
mov dword [esp + 0x1054], eax
mov dword [esp + 0x1058], eax
mov dword [esp + 0x105c], eax
mov ecx, dword [esp + 0x104c]
call fcn.004db958
xor eax, eax
add esp, 0x1074
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret 0x10