Function at 0x100511e5
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
push ebx
push esi
push edi
push 0xf
push 0
lea eax, [ebp - 0x18]
push eax
call fcn.1002fb2f
add esp, 0xc
jno 0x10051200
js 0x10051213
pushf
ror edx, 0xc
ror edx, 0x14
jbe 0x1005120c
popf
jno 0x10051210
jns 0x10051213
mov edi, 0x50e845c6
mov byte [ebp - 0x18], 0x50
mov byte [ebp - 0x13], 0x44
mov byte [ebp - 0xe], 0x68
mov byte [ebp - 0x17], 0x71
mov byte [ebp - 0x12], 0x4e
mov byte [ebp - 0xd], 0x66
mov byte [ebp - 0x16], 0x66
mov byte [ebp - 0x11], 0x62
mov byte [ebp - 0xc], 0x73
mov byte [ebp - 0x15], 0x6f
mov byte [ebp - 0x10], 0x6f
mov byte [ebp - 0xb], 0x42
mov byte [ebp - 0x14], 0x54
mov byte [ebp - 0xf], 0x62
mov byte [ebp - 0xa], 0
dec esi
inc esi
test dword [esp + 8], esi
sub esi, 0
je 0x1005125a
jno 0x10051278
pushf
ror esi, 0
std
cld
popf
jbe 0x10051267
lea esi, [esi + 0x4c67]
lea esi, [esi - 0x4c67]
mov esp, esp
jo 0x10051278
mov esp, 0x80e84d8a
jmp 0xf8529a82
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 - 0xe]
sub al, 1
mov byte [ebp - 0xe], 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 al, byte [ebp - 0xd]
sub al, 1
mov byte [ebp - 0xd], 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 - 0xc]
sub al, 1
mov byte [ebp - 0xc], 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 - 0xb]
sub al, 1
mov byte [ebp - 0xb], 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
xor ecx, edx
xor ecx, edx
test dword [esp], esi
ror eax, 0x1b
ror eax, 5
jno 0x10051301
js 0x10051321
pushf
jne 0x10051307
add ecx, 0
popf
xchg ebx, edi
xchg ebx, edi
lea edx, [edx]
lea esi, [esi + 0x18ab]
lea esi, [esi - 0x18ab]
jns 0x10051321
mov eax, 0xfffc3fe8
dec dword [ecx + 0x7d83fc45]
cld
add byte [ebp + 7], dh
call fcn.10050f65
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jne 0x10051336
xor eax, eax
jmp 0x100515ab
std
cld
nop
ja 0x10051340
jmp 0x1005133d
jbe 0x10051340
mov eax, 0x50e8458d
lea eax, [ebp - 0x18]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.1004edc3
mov dword [ebp - 0x1c], eax
push 0xf
push 0
lea edx, [ebp - 0x18]
push edx
call fcn.1002fb2f
add esp, 0xc
lea ebx, [ebx + 0x333d]
sub ebx, 0x333d
jl 0x10051381
pushf
cmp edx, 0x270d
popf
jnp 0x1005137a
jge 0x1005137c
xchg esp, esp
jge 0x10051381
mov esp, 0xe47d83
cmp dword [ebp - 0x1c], 0
jne 0x1005138e
xor eax, eax
jmp 0x100515ab
test dword [esp + 0x10], edx
lea edi, [edi]
cld
add esp, 0
js 0x100513a1
mov esi, esi
mov esp, esp
jns 0x100513a1
jmp 0x60e95930
mov eax, dword [ebp - 0x1c]
push eax
call fcn.100389b2
add esp, 4
push 0xf
push 0
lea ecx, [ebp - 0x18]
push ecx
call fcn.1002fb2f
add esp, 0xc
cmp esp, 0x3c32
rol esi, 0x1b
ror esi, 0x1b
jp 0x100513ec
pushf
shr esi, 0
ja 0x100513d2
or esp, 0
popf
lea esi, [esi + 0x12c6]
lea esi, [esi - 0x12c6]
jge 0x100513e5
xchg edi, ecx
xchg edi, ecx
jnp 0x100513ec
ljmp 0x45c6:0x50e845c6
mov byte [ebp - 0x18], 0x50
mov byte [ebp - 0x13], 0x44
mov byte [ebp - 0xe], 0x68
mov byte [ebp - 0x17], 0x71
mov byte [ebp - 0x12], 0x4e
mov byte [ebp - 0xd], 0x66
mov byte [ebp - 0x16], 0x66
mov byte [ebp - 0x11], 0x62
mov byte [ebp - 0xc], 0x73
mov byte [ebp - 0x15], 0x6f
mov byte [ebp - 0x10], 0x6f
mov byte [ebp - 0xb], 0x58
mov byte [ebp - 0x14], 0x54
mov byte [ebp - 0xf], 0x62
mov byte [ebp - 0xa], 0
jg 0x1005142a
jo 0x1005143b
pushf
and esi, esi
popf
je 0x10051434
xchg ecx, edi
xchg ecx, edi
jno 0x1005143b
jmp 0x90ed69c9
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 - 0xe]
sub cl, 1
mov byte [ebp - 0xe], 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 - 0xd]
sub cl, 1
mov byte [ebp - 0xd], 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 - 0xc]
sub cl, 1
mov byte [ebp - 0xc], cl
mov dl, byte [ebp - 0x15]
sub dl, 1
mov byte [ebp - 0x15], dl
mov al, byte [ebp - 0x10]
sub al, 1
mov byte [ebp - 0x10], al
mov cl, byte [ebp - 0xb]
sub cl, 1
mov byte [ebp - 0xb], 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
std
cld
jns 0x100514b8
jne 0x100514ba
test edi, esi
js 0x100514d1
pushf
cmp esi, dword [esp + 0xc]
and ecx, 0xffffffff
shr esp, 0
popf
jbe 0x100514ce
jns 0x100514d1
mov ebp, 0xfc7d83
cmp dword [ebp - 4], 0
je 0x100514fd
nop
jnp 0x100514ed
lea esi, [esi + 0x660f]
lea esi, [esi - 0x660f]
xchg ecx, esi
xchg ecx, esi
jp 0x100514ed
mov ebx, 0x51e84d8d
lea ecx, [ebp - 0x18]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.1004edc3
mov dword [ebp - 8], eax
lea ecx, [ecx + 0xabe]
lea ecx, [ecx - 0xabe]
jo 0x10051511
jle 0x1005150d
jno 0x10051511
call 0x7a147f49
add byte [ebp - 0x17af17bb], cl
adc esi, esp
std
inc dword [ebx + 0x75fc0cc4]
add bh, dh
invalid
push 0xf
push 0
lea eax, [ebp - 0x18]
push eax
call fcn.1002fb2f
add esp, 0xc
cld
jne 0x10051524
test esp, 0x6dc3
je 0x1005154c
pushf
xchg ecx, eax
xchg ecx, eax
lea ebx, [ebx]
nop
xor esi, 0x2b2c
xor esi, 0x2b2c
popf
mov esp, esp
xchg edx, edi
xchg edx, edi
lea edx, [edx]
jne 0x1005154c
mov ecx, 0xf87d83
cmp dword [ebp - 8], 0
je 0x1005158d
lea edx, [edx + 0x13bf]
sub edx, 0x13bf
test dword [esp], edi
add ebx, dword [esp]
sub ebx, dword [esp]
ja 0x10051581
pushf
ror esi, 0
test esp, 0x59d0
jle 0x10051576
inc ecx
dec ecx
popf
jp 0x1005157c
jp 0x1005157e
jbe 0x10051581
mov esi, 0x51f84d8b
mov ecx, dword [ebp - 8]
push ecx
call fcn.100389b2
add esp, 4
neg edi
neg edi
jle 0x1005159c
xchg ebx, edx
xchg ebx, edx
nop
nop
jg 0x1005159c
ljmp 0x458b:0x5210558b
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
push ecx
call dword [ebp - 0x1c]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc