Function at 0x100164f0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x18
mov edi, dword [esp + 0x2c]
lea eax, [esp + 0xf]
lea ebp, [esp + 0x10]
mov edx, 0xc064e803
mov ecx, 0x7dc2ff55
mov dword [eax - 0xb], 0x64677143
mov dword [eax - 7], 0x70406270
mov word [eax - 3], 0x7e74
mov byte [eax - 1], 0x4d
mov dword [esp], ebp
cmp edx, 0x7dc2ff55
je 0x10016549
cmp edx, 0xc064e803
jne 0x10016528
mov byte [eax], 0
inc eax
mov edx, 0xc064e803
cmp eax, dword [esp]
cmove edx, ecx
jmp 0x10016528
xor ecx, ecx
mov eax, 0xfe43dcde
mov edx, 0x88893efc
cmp edx, 0xfe43dcde
je 0x10016580
cmp edx, 0xd85c465d
je 0x100165af
cmp edx, 0x88893efc
jne 0x10016555
mov dword [esp], ecx
mov edx, dword [esp]
cmp edx, 0xb
mov edx, 0xd85c465d
cmovb edx, eax
jmp 0x10016555
mov edx, dword [esp]
mov bh, 0x76
mov bl, byte [esp + edx + 4]
mov ecx, ebx
and bl, 0x76
not cl
and cl, 0x89
or bl, cl
mov ecx, dword [esp]
sub bh, cl
add cl, 0x89
and bh, bl
not bl
and bl, cl
or bh, bl
mov byte [esp + edx + 4], bh
mov ecx, dword [esp]
inc ecx
jmp 0x10016550
lea esi, [esp + 4]
mov ecx, esi
mov byte [esi + 0xb], 0
call fcn.10015ac4
xor ecx, ecx
mov edx, 3
push ecx
push ecx
push edx
push ecx
push edx
push 0x80000000
push edi
call eax
mov dword [esp + 0x14], eax
mov eax, 0x728d192f
cmp eax, 0x65599fbb
jg 0x1001664f
cmp eax, 0xbaa4c11d
je 0x10016689
cmp eax, 0xc4afafd8
je 0x10016695
cmp eax, 0x1475719a
jne 0x100165db
lea eax, [esp + 0x11]
mov ecx, 0xd18c1ab2
mov dword [esp + 4], 0x49766647
mov dword [esp + 8], 0x5c727465
mov dword [esp + 0xc], 0x6f75696a
mov dword [esp], eax
mov eax, ebp
cmp ecx, 0xd5a58613
je 0x100166eb
cmp ecx, 0xd18c1ab2
jne 0x10016625
mov byte [eax], 0
inc eax
mov ecx, 0xd18c1ab2
mov edx, 0xd5a58613
cmp eax, dword [esp]
cmove ecx, edx
jmp 0x10016625
cmp eax, 0x65599fbc
je 0x10016753
cmp eax, 0x7b188155
je 0x100168fb
cmp eax, 0x728d192f
jne 0x100165db
mov eax, dword [esp + 0x14]
mov ecx, 0xbaa4c11d
cmp eax, 0xffffffff
mov eax, 0xc4afafd8
cmove eax, ecx
jmp 0x100165db
mov eax, 0x7b188155
xor edi, edi
jmp 0x100165db
lea eax, [esp + 0x10]
mov ecx, 0xc064e803
mov dword [esp + 4], 0x43766647
mov dword [esp + 8], 0x4a636b6d
mov word [esp + 0xc], 0x6171
mov byte [esp + 0xe], 0x7f
mov dword [esp], eax
lea eax, [esp + 0xf]
cmp ecx, 0x7dc2ff55
je 0x100167a5
cmp ecx, 0xc064e803
jne 0x100166c1
mov byte [eax], 0
inc eax
mov ecx, 0xc064e803
mov edx, 0x7dc2ff55
cmp eax, dword [esp]
cmove ecx, edx
jmp 0x100166c1
xor eax, eax
mov ecx, 0x8105d5fc
cmp ecx, 0xd66f2225
je 0x1001681d
cmp ecx, 0x9b5f4f67
je 0x10016726
cmp ecx, 0x8105d5fc
jne 0x100166f2
mov dword [esp], eax
mov edx, 0x9b5f4f67
mov ecx, dword [esp]
cmp ecx, 0xc
mov ecx, 0xd66f2225
cmovb ecx, edx
jmp 0x100166f2
mov ecx, dword [esp]
mov dh, 0x76
mov dl, byte [esp + ecx + 4]
mov eax, edx
and dl, 0x76
not al
and al, 0x89
or dl, al
mov eax, dword [esp]
sub dh, al
add al, 0x89
and dh, dl
not dl
and dl, al
or dh, dl
mov byte [esp + ecx + 4], dh
mov eax, dword [esp]
inc eax
jmp 0x100166ed
mov ecx, 0xc064e803
lea eax, [esp + 0xf]
mov dword [esp + 4], 0x766d6f43
mov dword [esp + 8], 0x77674f61
mov word [esp + 0xc], 0x777c
mov byte [esp + 0xe], 0x7f
mov dword [esp], ebp
cmp ecx, 0x7dc2ff55
je 0x10016837
cmp ecx, 0xc064e803
jne 0x1001677b
mov byte [eax], 0
inc eax
mov ecx, 0xc064e803
mov edx, 0x7dc2ff55
cmp eax, dword [esp]
cmove ecx, edx
jmp 0x1001677b
xor eax, eax
mov ecx, 0x88893efc
cmp ecx, 0xfe43dcde
je 0x100167e0
cmp ecx, 0xd85c465d
je 0x100168b2
cmp ecx, 0x88893efc
jne 0x100167ac
mov dword [esp], eax
mov edx, 0xfe43dcde
mov ecx, dword [esp]
cmp ecx, 0xb
mov ecx, 0xd85c465d
cmovb ecx, edx
jmp 0x100167ac
mov eax, dword [esp]
mov dl, byte [esp + eax + 4]
mov ecx, edx
and dl, 0x76
not cl
and cl, 0x89
or dl, cl
mov ecx, dword [esp]
mov dh, dl
and dl, 0x79
not dh
and dh, 0x86
add cl, 0x89
or dl, dh
mov dh, cl
and cl, 0x79
not dh
and dh, 0x86
or cl, dh
xor cl, dl
mov byte [esp + eax + 4], cl
mov eax, dword [esp]
inc eax
jmp 0x100167a7
mov ecx, esi
mov byte [esp + 0x10], 0
call fcn.10015ac4
call eax
mov eax, 0x65599fbc
xor ebx, ebx
jmp 0x100165db
xor eax, eax
mov ecx, 0x88893efc
cmp ecx, 0xfe43dcde
je 0x10016872
cmp ecx, 0xd85c465d
je 0x100168dd
cmp ecx, 0x88893efc
jne 0x1001683e
mov dword [esp], eax
mov edx, 0xfe43dcde
mov ecx, dword [esp]
cmp ecx, 0xb
mov ecx, 0xd85c465d
cmovb ecx, edx
jmp 0x1001683e
mov eax, dword [esp]
mov dl, byte [esp + eax + 4]
mov ecx, edx
and dl, 0xab
not cl
and cl, 0x54
or dl, cl
mov ecx, dword [esp]
mov dh, dl
xor dl, 0x22
not dh
and dl, 0x6f
and dh, 0x90
add cl, 0x89
or dh, dl
mov dl, cl
and cl, 0x90
not dl
and dl, 0x6f
or cl, dl
xor cl, dh
mov byte [esp + eax + 4], cl
mov eax, dword [esp]
inc eax
jmp 0x10016839
mov ecx, esi
mov byte [esp + 0xf], 0
call fcn.10015ac4
push 0
push dword [esp + 0x18]
call eax
mov ebx, eax
cmp eax, 0xffffffff
mov eax, 0x65599fbc
mov ecx, 0x1475719a
cmove eax, ecx
jmp 0x100165db
mov ecx, esi
mov byte [esp + 0xf], 0
call fcn.10015ac4
push dword [esp + 0x14]
call eax
mov eax, 0x7b188155
mov edi, ebx
jmp 0x100165db
mov eax, edi
add esp, 0x18
pop esi
pop edi
pop ebx
pop ebp
ret