Function at 0x5582f8
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffb08
xor eax, eax
mov dword [ebp - 0x3f4], eax
mov dword [ebp - 0x3f8], eax
mov dword [ebp - 0x3f0], eax
mov dword [ebp - 0x3e8], eax
mov dword [ebp - 0x3ec], eax
xor eax, eax
push ebp
push 0x55867b
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x3ec]
mov edx, dword [0x59d57c]
mov ecx, 0
call fcn.00409d38
mov ecx, dword [ebp - 0x3ec]
lea eax, [ebp - 0x3e8]
mov edx, 0x558694
call fcn.00409de0
mov edx, dword [ebp - 0x3e8]
lea eax, [ebp - 0x3e4]
mov ecx, 0xff
call fcn.00409d64
mov eax, dword [0x59d484]
cmp byte [eax], 0
je 0x558479
mov eax, dword [0x59d484]
movzx eax, byte [eax]
mov edx, dword [0x59d484]
cmp byte [edx + eax], 0x23
jne 0x55841b
mov edx, dword [0x59d484]
movzx edx, byte [edx]
mov eax, dword [0x59d484]
mov ecx, 1
call fcn.00409c28
jmp 0x5583c9
mov edx, dword [0x59d484]
movzx edx, byte [edx]
mov eax, dword [0x59d484]
mov ecx, 1
call fcn.00409c28
mov eax, dword [0x59d484]
movzx eax, byte [eax]
mov edx, dword [0x59d484]
cmp byte [edx + eax], 0x20
je 0x5583b1
jmp 0x55841b
lea eax, [ebp - 0x3f0]
lea edx, [ebp - 0x3e4]
mov ecx, 0
call fcn.00409d38
lea eax, [ebp - 0x3f0]
mov edx, 0x5586a8
call fcn.00409d88
mov edx, dword [ebp - 0x3f0]
lea eax, [ebp - 0x3e4]
mov ecx, 0xff
call fcn.00409d64
cmp byte [ebp - 0x3e4], 0xd
jne 0x5583df
lea eax, [ebp - 0x3f4]
lea edx, [ebp - 0x3e4]
mov ecx, 0
call fcn.00409d38
lea eax, [ebp - 0x3f4]
push eax
lea eax, [ebp - 0x3f8]
mov edx, dword [0x59d484]
mov ecx, 0
call fcn.00409d38
mov edx, dword [ebp - 0x3f8]
pop eax
call fcn.00409d88
mov edx, dword [ebp - 0x3f4]
lea eax, [ebp - 0x3e4]
mov ecx, 0xff
call fcn.00409d64
mov eax, 0x5586ac
call fcn.0058588c
mov eax, dword [0x59d744]
mov byte [eax], 1
lea eax, [ebp - 0x3e4]
call fcn.0058588c
lea edx, [ebp - 0x4f8]
xor eax, eax
mov al, byte [ebp - 0x3e4]
call fcn.00583ecc
lea eax, [ebp - 0x4f8]
call fcn.0058588c
mov eax, dword [0x59d744]
mov byte [eax], 0
mov eax, 0x5586ac
call fcn.0058588c
mov eax, dword [0x59dadc]
cmp dword [eax], 0
jle 0x558528
mov eax, dword [0x59da40]
mov byte [eax], 1
mov eax, dword [0x59dadc]
mov eax, dword [eax]
test eax, eax
jle 0x558516
mov dword [ebp - 8], eax
mov dword [ebp - 4], 1
mov eax, dword [0x59d744]
mov byte [eax], 1
mov eax, dword [0x59d798]
mov edx, dword [ebp - 4]
mov eax, dword [eax + edx*4 - 4]
call fcn.0058588c
mov eax, dword [0x59d744]
mov byte [eax], 0
inc dword [ebp - 4]
dec dword [ebp - 8]
jne 0x5584ed
mov eax, dword [0x59da40]
mov byte [eax], 0
mov eax, 0x5586ac
call fcn.0058588c
mov eax, dword [0x59dc88]
cmp byte [eax], 0
je 0x55865d
xor ecx, ecx
mov edx, 0x5586bc
lea eax, [ebp - 0x2e4]
call fcn.0040510c
lea eax, [ebp - 0x2e4]
call fcn.00404d40
lea edx, [ebp - 0x3e4]
mov ecx, 0xff
lea eax, [ebp - 0x2e4]
call fcn.00405e28
lea eax, [ebp - 0x2e4]
call fcn.004061ac
mov byte [ebp - 0x3e3], 0x5a
mov byte [ebp - 0x3e2], 0x75
mov byte [ebp - 0x3e1], 0x73
mov byte [ebp - 0x3e0], 0x61
mov byte [ebp - 0x3df], 0x6d
mov byte [ebp - 0x3de], 0x6d
mov byte [ebp - 0x3dd], 0x65
mov byte [ebp - 0x3dc], 0x6e
mov byte [ebp - 0x3db], 0x73
mov byte [ebp - 0x3da], 0x74
mov byte [ebp - 0x3d9], 0x2e
lea eax, [ebp - 0x3e4]
call fcn.0058588c
lea eax, [ebp - 0x2e4]
call fcn.00405264
test al, al
jne 0x558647
lea edx, [ebp - 0x3e4]
mov ecx, 0xff
lea eax, [ebp - 0x2e4]
call fcn.00405e28
lea eax, [ebp - 0x2e4]
call fcn.004061ac
lea eax, [ebp - 0x3e4]
mov edx, 0x5586cc
xor ecx, ecx
mov cl, byte [eax]
inc ecx
call fcn.00409b1c
jne 0x55861b
mov eax, dword [0x59d744]
mov byte [eax], 1
lea eax, [ebp - 0x3e4]
call fcn.0058588c
mov eax, dword [0x59d744]
cmp byte [eax], 1
jne 0x558638
mov eax, dword [0x59d744]
mov byte [eax], 0
lea eax, [ebp - 0x2e4]
call fcn.00405264
test al, al
je 0x5585db
lea eax, [ebp - 0x2e4]
call fcn.0040520c
lea eax, [ebp - 0x2e4]
call fcn.00405290
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x558682
lea eax, [ebp - 0x3f8]
mov edx, 5
call fcn.00409558
ret