Function at 0x5649c4
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
push ebx
push esi
push edi
jo 0x5649cf
sub esp, 0
xchg edx, edi
xchg edx, edi
jb 0x5649e5
pushf
xor eax, ebx
xor eax, ebx
popf
xchg ecx, ecx
jae 0x5649e5
mov ebp, 0x9bcc3d83
push ebx
add byte [ecx], al
cmp dword [0x539bcc], 1
jne 0x564b2e
push 0xc
push 0
lea eax, [ebp - 0x10]
push eax
call fcn.0054df2a
add esp, 0xc
mov byte [ebp - 0x10], 0x44
mov byte [ebp - 0xb], 0x66
mov byte [ebp - 6], 0x42
mov byte [ebp - 0xf], 0x73
mov byte [ebp - 0xa], 0x47
mov byte [ebp - 5], 0
mov byte [ebp - 0xe], 0x66
mov byte [ebp - 9], 0x6a
mov byte [ebp - 0xd], 0x62
mov byte [ebp - 8], 0x6d
mov byte [ebp - 0xc], 0x75
mov byte [ebp - 7], 0x66
mov ecx, ecx
jae 0x564a4d
xchg esp, esp
lea eax, [eax + 0x4b62]
lea eax, [eax - 0x4b62]
jg 0x564a46
jae 0x564a48
jb 0x564a4d
mov esp, 0x4d8aa96a
invalid
mov cl, byte [ebp - 0x10]
sub cl, 1
mov byte [ebp - 0x10], cl
mov dl, byte [ebp - 0xb]
sub dl, 1
mov byte [ebp - 0xb], dl
mov al, byte [ebp - 6]
sub al, 1
mov byte [ebp - 6], al
mov cl, byte [ebp - 0xf]
sub cl, 1
mov byte [ebp - 0xf], cl
mov dl, byte [ebp - 0xa]
sub dl, 1
mov byte [ebp - 0xa], dl
mov al, byte [ebp - 0xe]
sub al, 1
mov byte [ebp - 0xe], al
mov cl, byte [ebp - 9]
sub cl, 1
mov byte [ebp - 9], cl
mov dl, byte [ebp - 0xd]
sub dl, 1
mov byte [ebp - 0xd], dl
mov al, byte [ebp - 8]
sub al, 1
mov byte [ebp - 8], al
mov cl, byte [ebp - 0xc]
sub cl, 1
mov byte [ebp - 0xc], cl
mov dl, byte [ebp - 7]
sub dl, 1
mov byte [ebp - 7], dl
test edi, ecx
jnp 0x564ac8
pushf
jge 0x564ab5
and esp, 0xffffffff
jbe 0x564aba
shl esp, 0
popf
xchg edx, ecx
xchg edx, ecx
jne 0x564ac5
jp 0x564ac8
mov edi, 0x89503d83
push ebx
add byte [eax], al
cmp dword [0x538950], 0
jne 0x564ad9
or eax, 0xffffffff
jmp 0x564d47
lea eax, [ebp - 0x10]
push eax
mov ecx, dword [0x538950]
push ecx
call fcn.00543a96
mov dword [ebp - 4], eax
shl ecx, 0
js 0x564af1
add esi, dword [esp]
sub esi, dword [esp]
xor esp, 0
jae 0x564b04
lea eax, [eax]
lea esp, [esp]
jb 0x564b04
sub eax, 0x6a0c6a
push 0xc
push 0
lea edx, [ebp - 0x10]
push edx
call fcn.0054df2a
add esp, 0xc
cmp dword [ebp - 4], 0
je 0x564b24
mov eax, dword [ebp - 4]
mov dword [0x539bcc], eax
jmp 0x564b2c
or eax, 0xffffffff
jmp 0x564d47
jmp 0x564b37
mov ecx, dword [0x539bcc]
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 4]
mov dword [ebp - 0x14], edx
ror esi, 0
or ecx, ecx
ror ebx, 0
add ecx, 0x4331
sub ecx, 0x4331
je 0x564b59
mov esp, esp
jne 0x564b59
mov edi, 0xec458b0d
mov eax, dword [ebp - 0x14]
push eax
call fcn.0053e4cb
add esp, 4
push 0xc
push 0
lea ecx, [ebp - 0x10]
push ecx
call fcn.0054df2a
add esp, 0xc
mov byte [ebp - 0x10], 0x44
mov byte [ebp - 0xb], 0x66
mov byte [ebp - 6], 0x58
mov byte [ebp - 0xf], 0x73
mov byte [ebp - 0xa], 0x47
mov byte [ebp - 5], 0
mov byte [ebp - 0xe], 0x66
mov byte [ebp - 9], 0x6a
mov byte [ebp - 0xd], 0x62
mov byte [ebp - 8], 0x6d
mov byte [ebp - 0xc], 0x75
mov byte [ebp - 7], 0x66
nop
push edi
pop edi
jg 0x564bc2
pushf
and ecx, 0xffffffff
add edx, dword [esp]
sub edx, dword [esp]
and esi, esi
popf
lea ecx, [ecx]
xchg esp, esp
jns 0x564bbf
jle 0x564bc2
mov ebx, 0x80f0558a
ljmp 0x458a
mov dl, byte [ebp - 0x10]
sub dl, 1
mov byte [ebp - 0x10], dl
mov al, byte [ebp - 0xb]
sub al, 1
mov byte [ebp - 0xb], al
mov cl, byte [ebp - 6]
sub cl, 1
mov byte [ebp - 6], cl
mov dl, byte [ebp - 0xf]
sub dl, 1
mov byte [ebp - 0xf], dl
mov al, byte [ebp - 0xa]
sub al, 1
mov byte [ebp - 0xa], al
mov cl, byte [ebp - 0xe]
sub cl, 1
mov byte [ebp - 0xe], cl
mov dl, byte [ebp - 9]
sub dl, 1
mov byte [ebp - 9], dl
mov al, byte [ebp - 0xd]
sub al, 1
mov byte [ebp - 0xd], al
mov cl, byte [ebp - 8]
sub cl, 1
mov byte [ebp - 8], cl
mov dl, byte [ebp - 0xc]
sub dl, 1
mov byte [ebp - 0xc], dl
mov al, byte [ebp - 7]
sub al, 1
mov byte [ebp - 7], al
jne 0x564c23
push edi
add edi, 0x2f0
ror edi, 0x13
pop edi
shl esi, 0
jne 0x564c44
pushf
cmp edi, dword [esp + 0x10]
jb 0x564c3b
popf
mov edi, edi
jge 0x564c41
je 0x564c44
jmp 0x89a689cb
cmp dword [0x538950], 0
je 0x564c91
cmp eax, 0x538950
add byte [esp + eax*2 - 0x18], dh
add byte [eax], al
add byte [eax], al
call 0x564c52
lea esp, [esp + 4]
lea edx, [edx]
and edi, edi
test esi, 0x42a9
je 0x564c7e
lea eax, [eax + 0x70a7]
lea eax, [eax - 0x70a7]
lea ecx, [ecx + 0x702f]
lea ecx, [ecx - 0x702f]
jne 0x564c7e
add eax, 0xf04d8d5e
lea ecx, [ebp - 0x10]
push ecx
mov edx, dword [0x538950]
push edx
call fcn.00543a96
mov dword [ebp - 4], eax
xchg esi, esi
or eax, 0
not esi
not esi
ror edi, 1
ror edi, 0x1f
ja 0x564ca8
jae 0x564ca3
nop
jbe 0x564ca8
mov ebp, 0x6a0c6aa6
add byte [ebp - 0x17af0fbb], cl
jne 0x564c45
push 0xc
push 0
lea eax, [ebp - 0x10]
push eax
call fcn.0054df2a
add esp, 0xc
dec edi
inc edi
and esp, 0xffffffff
xchg ecx, edx
xchg ecx, edx
ja 0x564cc9
invalid
ja 0x564cc5
jbe 0x564cc9
xor eax, 0xfc7d83ac
add byte [edx + ebp - 9], dh
les esp, [edi + 0x7e]
add byte [eax], al
cmp dword [ebp - 4], 0
je 0x564cf9
test esp, 0x7e67
shl esp, 0
push ebx
pop ebx
cmp esp, 0x2907
jle 0x564ced
js 0x564ce4
xchg edi, eax
xchg edi, eax
jne 0x564ce8
ja 0x564cea
jg 0x564ced
mov eax, 0x51fc4d8b
mov ecx, dword [ebp - 4]
push ecx
call fcn.0053e4cb
add esp, 4
lea ebx, [ebx + 0x2628]
sub ebx, 0x2628
add ebx, dword [esp]
sub ebx, dword [esp]
jb 0x564d28
pushf
xor esi, 0
cmp ebx, 0x4f34
call 0x564d1d
add esp, 4
popf
lea esp, [esp]
jae 0x564d28
sub eax, 0x5220558b
mov edx, dword [ebp + 0x20]
push edx
mov eax, dword [ebp + 0x1c]
push eax
mov ecx, dword [ebp + 0x18]
push ecx
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
call dword [ebp - 0x14]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c