Function at 0x20590c01
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
push ebx
push esi
push edi
push 0x13
push 0
lea eax, [ebp - 0x20]
push eax
call fcn.2057149a
add esp, 0xc
jg 0x20590c1c
and ecx, 0xffffffff
js 0x20590c26
jno 0x20590c23
jns 0x20590c26
add esi, 0xc648e045
inc ebp
in eax, 0x65
mov byte [ebp - 0x20], 0x48
mov byte [ebp - 0x1b], 0x65
mov byte [ebp - 0x16], 0x6a
mov byte [ebp - 0x11], 0x6e
mov byte [ebp - 0x1f], 0x66
mov byte [ebp - 0x1a], 0x76
mov byte [ebp - 0x14], 0x66
mov byte [ebp - 0x10], 0x66
mov byte [ebp - 0x1e], 0x75
mov byte [ebp - 0x19], 0x6d
mov byte [ebp - 0x15], 0x6d
mov byte [ebp - 0xf], 0x58
mov byte [ebp - 0x1d], 0x4e
mov byte [ebp - 0x18], 0x66
mov byte [ebp - 0x13], 0x4f
mov byte [ebp - 0xe], 0
mov byte [ebp - 0x1c], 0x70
mov byte [ebp - 0x17], 0x47
mov byte [ebp - 0x12], 0x62
jle 0x20590c74
nop
and ebx, 0xffffffff
je 0x20590c91
pushf
add esi, 0x1541
sub esi, 0x1541
jnp 0x20590c8a
popf
mov esi, esi
jne 0x20590c91
sub eax, 0x80e04d8a
jmp 0xa6949b
mov cl, byte [ebp - 0x20]
sub cl, 1
mov byte [ebp - 0x20], cl
mov dl, byte [ebp - 0x1b]
sub dl, 1
mov byte [ebp - 0x1b], dl
mov al, byte [ebp - 0x16]
sub al, 1
mov byte [ebp - 0x16], al
mov cl, byte [ebp - 0x11]
sub cl, 1
mov byte [ebp - 0x11], cl
mov dl, byte [ebp - 0x1f]
sub dl, 1
mov byte [ebp - 0x1f], dl
mov al, byte [ebp - 0x1a]
sub al, 1
mov byte [ebp - 0x1a], al
mov cl, byte [ebp - 0x15]
sub cl, 1
mov byte [ebp - 0x15], cl
mov dl, byte [ebp - 0x10]
sub dl, 1
mov byte [ebp - 0x10], dl
mov al, byte [ebp - 0x1e]
sub al, 1
mov byte [ebp - 0x1e], al
mov cl, byte [ebp - 0x19]
sub cl, 1
mov byte [ebp - 0x19], cl
mov dl, byte [ebp - 0x14]
sub dl, 1
mov byte [ebp - 0x14], dl
mov al, byte [ebp - 0xf]
sub al, 1
mov byte [ebp - 0xf], al
mov cl, byte [ebp - 0x1d]
sub cl, 1
mov byte [ebp - 0x1d], cl
mov dl, byte [ebp - 0x18]
sub dl, 1
mov byte [ebp - 0x18], dl
mov al, byte [ebp - 0x13]
sub al, 1
mov byte [ebp - 0x13], al
mov cl, byte [ebp - 0x1c]
sub cl, 1
mov byte [ebp - 0x1c], cl
mov dl, byte [ebp - 0x17]
sub dl, 1
mov byte [ebp - 0x17], dl
mov al, byte [ebp - 0x12]
sub al, 1
mov byte [ebp - 0x12], al
test dword [esp + 4], ebx
ror edi, 0xf
ror edi, 0x11
jae 0x20590d39
jg 0x20590d43
xchg edx, ecx
xchg edx, ecx
jle 0x20590d43
mov ecx, 0x9dc1e8c1
invalid
call fcn.2057ab09
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x20590d58
xor eax, eax
jmp 0x20590ff8
stc
je 0x20590d6e
lea ecx, [ecx + 0x1f0c]
lea ecx, [ecx - 0x1f0c]
jb 0x20590d69
xchg esi, esi
jne 0x20590d6e
call 0x72395aff
lea ecx, [ebp - 0x20]
push ecx
mov edx, dword [ebp - 8]
push edx
call fcn.20583c1d
mov dword [ebp - 4], eax
push 0x13
push 0
lea eax, [ebp - 0x20]
push eax
call fcn.2057149a
add esp, 0xc
shl esp, 0
cmc
jno 0x20590daa
pushf
jo 0x20590d98
ror ecx, 6
rol ecx, 6
cld
popf
jle 0x20590da3
xchg edx, ebx
xchg edx, ebx
jo 0x20590daa
lcall 0x775, 0xfc7d83
cmp dword [ebp - 4], 0
jne 0x20590db7
xor eax, eax
jmp 0x20590ff8
mov esp, esp
lea esp, [esp]
jl 0x20590dbe
cmp esi, dword [esp + 4]
jp 0x20590dcc
xchg esp, esp
lea esp, [esp]
jnp 0x20590dcc
sub eax, 0x51fc4d8b
mov ecx, dword [ebp - 4]
push ecx
call fcn.2057935a
add esp, 4
push 0x13
push 0
lea edx, [ebp - 0x20]
push edx
call fcn.2057149a
add esp, 0xc
lea edi, [edi]
je 0x20590dec
je 0x20590e0c
pushf
dec eax
inc eax
call 0x20590df7
lea esp, [esp + 4]
test esp, 0x736e
popf
jo 0x20590e05
lea edi, [edi]
mov esp, esp
jne 0x20590e0c
jmp 0x693953d6
mov byte [ebp - 0x20], 0x48
mov byte [ebp - 0x1b], 0x65
mov byte [ebp - 0x16], 0x6a
mov byte [ebp - 0x11], 0x6e
mov byte [ebp - 0x1f], 0x66
mov byte [ebp - 0x1a], 0x76
mov byte [ebp - 0x14], 0x66
mov byte [ebp - 0x10], 0x66
mov byte [ebp - 0x1e], 0x75
mov byte [ebp - 0x19], 0x6d
mov byte [ebp - 0x15], 0x6d
mov byte [ebp - 0xf], 0x42
mov byte [ebp - 0x1d], 0x4e
mov byte [ebp - 0x18], 0x66
mov byte [ebp - 0x13], 0x4f
mov byte [ebp - 0xe], 0
mov byte [ebp - 0x1c], 0x70
mov byte [ebp - 0x17], 0x47
mov byte [ebp - 0x12], 0x62
dec esi
inc esi
rol esi, 0x18
rol esi, 8
neg ebx
neg ebx
test esp, 0x5324
jle 0x20590e7f
pushf
lea edx, [edx]
or eax, 0
popf
lea esp, [esp]
je 0x20590e7a
jl 0x20590e7c
jg 0x20590e7f
add eax, 0x2ce0458a
add dword [eax + 0x4d8ae045], ecx
in eax, 0x80
jmp 0x5a69691
mov al, byte [ebp - 0x20]
sub al, 1
mov byte [ebp - 0x20], al
mov cl, byte [ebp - 0x1b]
sub cl, 1
mov byte [ebp - 0x1b], cl
mov dl, byte [ebp - 0x16]
sub dl, 1
mov byte [ebp - 0x16], dl
mov al, byte [ebp - 0x11]
sub al, 1
mov byte [ebp - 0x11], al
mov cl, byte [ebp - 0x1f]
sub cl, 1
mov byte [ebp - 0x1f], cl
mov dl, byte [ebp - 0x1a]
sub dl, 1
mov byte [ebp - 0x1a], dl
mov al, byte [ebp - 0x15]
sub al, 1
mov byte [ebp - 0x15], al
mov cl, byte [ebp - 0x10]
sub cl, 1
mov byte [ebp - 0x10], cl
mov dl, byte [ebp - 0x1e]
sub dl, 1
mov byte [ebp - 0x1e], dl
mov al, byte [ebp - 0x19]
sub al, 1
mov byte [ebp - 0x19], al
mov cl, byte [ebp - 0x14]
sub cl, 1
mov byte [ebp - 0x14], cl
mov dl, byte [ebp - 0xf]
sub dl, 1
mov byte [ebp - 0xf], dl
mov al, byte [ebp - 0x1d]
sub al, 1
mov byte [ebp - 0x1d], al
mov cl, byte [ebp - 0x18]
sub cl, 1
mov byte [ebp - 0x18], cl
mov dl, byte [ebp - 0x13]
sub dl, 1
mov byte [ebp - 0x13], dl
mov al, byte [ebp - 0x1c]
sub al, 1
mov byte [ebp - 0x1c], al
mov cl, byte [ebp - 0x17]
sub cl, 1
mov byte [ebp - 0x17], cl
mov dl, byte [ebp - 0x12]
sub dl, 1
mov byte [ebp - 0x12], dl
mov esp, esp
test dword [esp + 0x10], ebx
xchg ebx, ecx
xchg ebx, ecx
jno 0x20590f47
pushf
rol esp, 0
nop
test dword [esp + 0xc], ecx
jle 0x20590f33
popf
lea esp, [esp]
lea eax, [eax + 0x530d]
lea eax, [eax - 0x530d]
jo 0x20590f47
mov edx, 0x52903d83
push esi
and byte [eax], al
cmp dword [0x20565290], 0
je 0x20590f77
dec ebx
inc ebx
jno 0x20590f64
pushf
std
cld
jo 0x20590f5a
stc
popf
jp 0x20590f5f
jl 0x20590f61
jo 0x20590f64
xor eax, 0x50e0458d
lea eax, [ebp - 0x20]
push eax
mov ecx, dword [0x20565290]
push ecx
call fcn.20583c1d
mov dword [ebp - 0xc], eax
cmp esp, 0x3e10
xor eax, 0
jne 0x20590f98
pushf
jp 0x20590f86
ror esp, 0
not eax
not eax
popf
xchg esp, esp
jp 0x20590f93
mov esp, esp
je 0x20590f98
call 0x20c32306
push 0x13
push 0
lea edx, [ebp - 0x20]
push edx
call fcn.2057149a
add esp, 0xc
sub esp, 0
jl 0x20590fb2
jno 0x20590faf
jge 0x20590fb2
mov ebp, 0xf47d83
cmp dword [ebp - 0xc], 0
je 0x20590fe0
stc
or edx, 0
jle 0x20590fbe
xor edi, dword [esp]
xor edi, dword [esp]
jns 0x20590fd4
pushf
shl ebx, 0
popf
xchg edi, edi
mov eax, eax
js 0x20590fd4
mov eax, 0x50f4458b
mov eax, dword [ebp - 0xc]
push eax
call fcn.2057935a
add esp, 4
cmp esi, eax
jnp 0x20590fe9
jne 0x20590fe6
jp 0x20590fe9
sub eax, 0x51104d8b
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 8]
push eax
call dword [ebp - 4]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc