Function at 0x515b3c
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
push ebx
push esi
push edi
cmp dword [0x4ea8e0], 1
je 0x515b75
ror esi, 0x17
ror esi, 9
jb 0x515b6b
ja 0x515b58
mov ecx, ecx
lea ecx, [ecx + 0x2da]
lea ecx, [ecx - 0x2da]
jae 0x515b6b
mov ebp, 0xe0a11d65
test al, 0x4e
add byte [ecx + 0x2cebfc45], cl
mov eax, dword [0x4ea8e0]
mov dword [ebp - 4], eax
jmp 0x515ba1
add eax, dword [esp]
sub eax, dword [esp]
neg eax
neg eax
je 0x515b9a
pushf
jle 0x515b85
lea edx, [edx + 0x1d88]
lea edx, [edx - 0x1d88]
jp 0x515b93
popf
jp 0x515b97
jne 0x515b9a
add eax, 0xe0e9c033
add dword [eax], eax
add byte [edi + 0xecc1f6], al
xor eax, eax
jmp 0x515d81
xchg esi, esi
shr esp, 0
je 0x515bad
jge 0x515baa
jne 0x515bad
or dword [ebx - 0x17ae03b3], 0xffff6048
mov ecx, dword [ebp - 4]
push ecx
call fcn.0050bbfe
add esp, 4
push 0xd
push 0
lea edx, [ebp - 0x18]
push edx
call fcn.00512b9e
add esp, 0xc
push edx
pop edx
jbe 0x515bda
pushf
mov ebx, ebx
js 0x515bd3
popf
je 0x515bd7
ja 0x515bda
mov edi, 0x4de845c6
mov byte [ebp - 0x18], 0x4d
mov byte [ebp - 0x13], 0x6a
mov byte [ebp - 0xe], 0x7a
mov byte [ebp - 0x17], 0x70
mov byte [ebp - 0x12], 0x63
mov byte [ebp - 0x16], 0x62
mov byte [ebp - 0x11], 0x73
mov byte [ebp - 0x15], 0x65
mov byte [ebp - 0x10], 0x62
mov byte [ebp - 0x14], 0x4d
mov byte [ebp - 0xf], 0x73
mov byte [ebp - 0xd], 0x58
mov byte [ebp - 0xc], 0
cmp eax, ebx
rol ecx, 0xc
ror ecx, 0xc
jge 0x515c24
pushf
jae 0x515c1c
nop
popf
ja 0x515c21
jl 0x515c24
mov ebx, 0x2ce8458a
add dword [eax + 0x4d8ae845], ecx
in eax, dx
mov al, byte [ebp - 0x18]
sub al, 1
mov byte [ebp - 0x18], al
mov cl, byte [ebp - 0x13]
sub cl, 1
mov byte [ebp - 0x13], 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
mov cl, byte [ebp - 0x16]
sub cl, 1
mov byte [ebp - 0x16], cl
mov dl, byte [ebp - 0x11]
sub dl, 1
mov byte [ebp - 0x11], 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 - 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 - 0xd]
sub cl, 1
mov byte [ebp - 0xd], cl
mov dl, byte [ebp - 0xe]
sub dl, 1
mov byte [ebp - 0xe], dl
cmp esp, 0xbd9
dec edi
inc edi
cmp esp, 0x1794
shr esp, 0
ja 0x515ca6
mov esi, esi
nop
jbe 0x515ca6
lcall 0x4ea8, 0x383d83a7
add byte [eax], al
cmp dword [0x4ea838], 0
je 0x515cda
sub ecx, 0
lea edi, [edi + 0xd44]
lea edi, [edi - 0xd44]
jae 0x515cc0
jae 0x515cc7
jmp 0x515cc4
jb 0x515cc7
mov ecx, 0x50e8458d
lea eax, [ebp - 0x18]
push eax
mov ecx, dword [0x4ea838]
push ecx
call fcn.004f3a1e
mov dword [ebp - 8], eax
rol esi, 2
ror esi, 2
shr ecx, 0
cmp eax, ecx
xchg esp, esp
jns 0x515d0d
pushf
jbe 0x515ced
jo 0x515cef
push edx
add edx, 0x4977
ror edx, 5
pop edx
popf
xchg ecx, ecx
lea edx, [edx + 0x1557]
lea edx, [edx - 0x1557]
js 0x515d0d
mov ebx, 0x6a0d6a
push 0xd
push 0
lea edx, [ebp - 0x18]
push edx
call fcn.00512b9e
add esp, 0xc
or edi, 0
je 0x515d22
test dword [esp + 8], ebx
jle 0x515d3e
mov eax, eax
xchg esp, esp
lea ebx, [ebx + 0x3e72]
lea ebx, [ebx - 0x3e72]
jb 0x515d3a
jg 0x515d3e
xor dword [ebp - 0x7d], 0x7400f87d
sub byte [ebx - 0x133eff35], al
add byte [ebx + 0x1171ffe4], al
cmp dword [ebp - 8], 0
je 0x515d6c
or ebx, 0
shr esp, 0
and esp, 0xffffffff
jno 0x515d60
pushf
ror esi, 0
jbe 0x515d56
stc
popf
jns 0x515d5b
lea esi, [esi]
jo 0x515d60
lcall 0x95e8, 0x50f8458b
pop esi
invalid
mov eax, dword [ebp - 8]
push eax
call fcn.0050bbfe
add esp, 4
ror eax, 0
rol esp, 0
ja 0x515d7a
lea ebx, [ebx]
jbe 0x515d7a
mov eax, 0x84d8ba1
mov ecx, dword [ebp + 8]
push ecx
call dword [ebp - 4]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4