Function at 0x100156e4
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x24
mov edi, dword [esp + 0x38]
lea ecx, [esp + 0x10]
lea eax, [esp + 0xf]
mov edx, 0x2f4a0eb0
mov dword [esp], ecx
mov ecx, 0x28d653e8
mov dword [eax - 0xb], 0x6c6b7d43
mov dword [eax - 7], 0x604c6e78
mov word [eax - 3], 0x7264
mov byte [eax - 1], 0x41
cmp edx, 0x28d653e8
je 0x1001573d
cmp edx, 0x2f4a0eb0
jne 0x1001571c
mov byte [eax], 0
inc eax
mov edx, 0x2f4a0eb0
cmp eax, dword [esp]
cmove edx, ecx
jmp 0x1001571c
xor ecx, ecx
mov esi, 0xd9685fd8
mov edx, 0xf7ba797a
cmp edx, 0xd9685fd8
je 0x10015774
cmp edx, 0x483da674
je 0x100157a9
cmp edx, 0xf7ba797a
jne 0x10015749
mov dword [esp], ecx
mov edx, dword [esp]
cmp edx, 0xb
mov edx, 0x483da674
cmovb edx, esi
jmp 0x10015749
mov edx, dword [esp]
mov al, 0xb8
mov bl, byte [esp + edx + 4]
mov ecx, ebx
and bl, 0x43
not cl
and cl, 0xbc
or bl, cl
mov ecx, dword [esp]
mov bh, bl
xor bl, 4
xor bh, 0xfb
sub al, cl
add cl, 0x47
and bl, cl
and al, bh
or al, bl
mov byte [esp + edx + 4], al
mov ecx, dword [esp]
inc ecx
jmp 0x10015744
lea esi, [esp + 4]
mov ecx, esi
mov byte [esi + 0xb], 0
call fcn.10015dcf
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, 0x82dd247a
mov ebp, 0x27c1e5d3
cmp eax, 0x9e121ab
jg 0x1001584b
cmp eax, 0xd649305d
jg 0x100158b9
cmp eax, 0x82dd247a
je 0x1001594c
cmp eax, 0xa5452025
jne 0x100157da
lea eax, [esp + 0x11]
mov ecx, 0xfe9c334
mov dword [esp + 4], 0x417a6a47
mov dword [esp + 8], 0x4c7e786d
mov dword [esp + 0xc], 0x6779657a
mov dword [esp], eax
lea eax, [esp + 0x10]
cmp ecx, 0x27c1e5d3
je 0x10015965
cmp ecx, 0xfe9c334
jne 0x10015826
mov byte [eax], 0
inc eax
mov ecx, 0xfe9c334
cmp eax, dword [esp]
cmove ecx, ebp
jmp 0x10015826
cmp eax, 0x48416081
jle 0x10015931
cmp eax, 0x48416082
je 0x100159cd
cmp eax, 0x66151841
jne 0x100157da
lea eax, [esp + 0x11]
mov ecx, 0xfe9c334
mov dword [esp + 4], 0x417a6a47
mov dword [esp + 8], 0x4c7e786d
mov dword [esp + 0xc], 0x6779657a
mov dword [esp], eax
lea eax, [esp + 0x10]
cmp ecx, 0x27c1e5d3
je 0x10015a1a
cmp ecx, 0xfe9c334
jne 0x10015894
mov byte [eax], 0
inc eax
mov ecx, 0xfe9c334
cmp eax, dword [esp]
cmove ecx, ebp
jmp 0x10015894
cmp eax, 0xd649305e
je 0x10015aa8
cmp eax, 0x24ef670
jne 0x100157da
lea eax, [esp + 0x20]
mov ecx, 0x2f4a0eb0
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x18]
lea eax, [esp + 0x10]
mov dword [esp + 4], 0x4b7a6a47
mov dword [esp + 8], 0x5a6f6765
mov word [esp + 0xc], 0x6d61
mov byte [esp + 0xe], 0x73
mov dword [esp], eax
lea eax, [esp + 0xf]
cmp ecx, 0x28d653e8
je 0x10015afe
cmp ecx, 0x2f4a0eb0
jne 0x10015907
mov byte [eax], 0
inc eax
mov ecx, 0x2f4a0eb0
mov edx, 0x28d653e8
cmp eax, dword [esp]
cmove ecx, edx
jmp 0x10015907
cmp eax, 0x1026c2c7
je 0x10015b6e
cmp eax, 0x9e121ac
jne 0x100157da
jmp 0x10015dc5
mov eax, dword [esp + 0x14]
mov ecx, 0x48416082
cmp eax, 0xffffffff
mov eax, 0x24ef670
cmove eax, ecx
jmp 0x100157da
xor eax, eax
mov ecx, 0xab8bb57f
cmp ecx, 0x64e5c8bc
je 0x10015a8e
cmp ecx, 0x582fd786
je 0x100159a0
cmp ecx, 0xab8bb57f
jne 0x1001596c
mov dword [esp], eax
mov edx, 0x582fd786
mov ecx, dword [esp]
cmp ecx, 0xc
mov ecx, 0x64e5c8bc
cmovb ecx, edx
jmp 0x1001596c
mov ecx, dword [esp]
mov dl, byte [esp + ecx + 4]
mov eax, edx
and dl, 0xb8
not al
and al, 0x47
or dl, al
mov eax, dword [esp]
mov dh, dl
not dh
add al, 0x47
and dh, al
not al
and al, dl
or al, dh
mov byte [esp + ecx + 4], al
mov eax, dword [esp]
inc eax
jmp 0x10015967
lea eax, [esp + 0x11]
mov ecx, 0xfe9c334
mov dword [esp + 4], 0x417a6a47
mov dword [esp + 8], 0x4c7e786d
mov dword [esp + 0xc], 0x6779657a
mov dword [esp], eax
lea eax, [esp + 0x10]
cmp ecx, 0x27c1e5d3
je 0x10015bb8
cmp ecx, 0xfe9c334
jne 0x100159f5
mov byte [eax], 0
inc eax
mov ecx, 0xfe9c334
cmp eax, dword [esp]
cmove ecx, ebp
jmp 0x100159f5
xor eax, eax
mov ecx, 0xab8bb57f
cmp ecx, 0x64e5c8bc
je 0x10015a8e
cmp ecx, 0x582fd786
je 0x10015a51
cmp ecx, 0xab8bb57f
jne 0x10015a21
mov dword [esp], eax
mov edx, 0x582fd786
mov ecx, dword [esp]
cmp ecx, 0xc
mov ecx, 0x64e5c8bc
cmovb ecx, edx
jmp 0x10015a21
mov eax, dword [esp]
mov dl, byte [esp + eax + 4]
mov ecx, edx
and dl, 0xb8
not cl
and cl, 0x47
or dl, cl
mov ecx, dword [esp]
mov dh, dl
and dl, 0x4d
not dh
and dh, 0xb2
add cl, 0x47
or dl, dh
mov dh, cl
and cl, 0x4d
not dh
and dh, 0xb2
or cl, dh
xor cl, dl
mov byte [esp + eax + 4], cl
mov eax, dword [esp]
inc eax
jmp 0x10015a1c
mov ecx, esi
mov byte [esp + 0x10], 0
call fcn.10015dcf
call eax
mov ebx, eax
mov eax, 0xd649305e
jmp 0x100157da
lea eax, [esp + 0x10]
mov ecx, 0x2f4a0eb0
mov dword [esp + 4], 0x7e616343
mov dword [esp + 8], 0x676b4369
mov word [esp + 0xc], 0x7b6c
mov byte [esp + 0xe], 0x73
mov dword [esp], eax
lea eax, [esp + 0xf]
cmp ecx, 0x28d653e8
je 0x10015c30
cmp ecx, 0x2f4a0eb0
jne 0x10015ad4
mov byte [eax], 0
inc eax
mov ecx, 0x2f4a0eb0
mov edx, 0x28d653e8
cmp eax, dword [esp]
cmove ecx, edx
jmp 0x10015ad4
xor eax, eax
mov ecx, 0xf7ba797a
cmp ecx, 0xd9685fd8
je 0x10015b39
cmp ecx, 0x483da674
je 0x10015ca9
cmp ecx, 0xf7ba797a
jne 0x10015b05
mov dword [esp], eax
mov edx, 0xd9685fd8
mov ecx, dword [esp]
cmp ecx, 0xb
mov ecx, 0x483da674
cmovb ecx, edx
jmp 0x10015b05
mov ecx, dword [esp]
mov dl, byte [esp + ecx + 4]
mov eax, edx
mov dh, dl
and dl, 0x42
not al
and dh, 0xb8
and al, 5
or dh, al
mov eax, dword [esp]
or dl, dh
add al, 0x47
mov dh, al
and al, 0xbd
not dh
and dh, 0x42
or al, dh
xor al, dl
mov byte [esp + ecx + 4], al
mov eax, dword [esp]
inc eax
jmp 0x10015b00
lea eax, [esp + 0xd]
mov ecx, 0xc4c7d1df
mov dword [esp + 4], 0x696f6a52
mov dword [esp + 8], 0x6c66624a
mov dword [esp], eax
lea eax, [esp + 0xc]
cmp ecx, 0xe2230c2f
je 0x10015cda
cmp ecx, 0xc4c7d1df
jne 0x10015b8e
mov byte [eax], 0
inc eax
mov ecx, 0xc4c7d1df
mov edx, 0xe2230c2f
cmp eax, dword [esp]
cmove ecx, edx
jmp 0x10015b8e
xor eax, eax
mov ecx, 0xab8bb57f
cmp ecx, 0x64e5c8bc
je 0x10015d52
cmp ecx, 0x582fd786
je 0x10015bf3
cmp ecx, 0xab8bb57f
jne 0x10015bbf
mov dword [esp], eax
mov edx, 0x582fd786
mov ecx, dword [esp]
cmp ecx, 0xc
mov ecx, 0x64e5c8bc
cmovb ecx, edx
jmp 0x10015bbf
mov eax, dword [esp]
mov dl, byte [esp + eax + 4]
mov ecx, edx
and dl, 0xb8
not cl
and cl, 0x47
or dl, cl
mov ecx, dword [esp]
mov dh, dl
and dl, 0x35
not dh
and dh, 0xca
add cl, 0x47
or dl, dh
mov dh, cl
and cl, 0x35
not dh
and dh, 0xca
or cl, dh
xor cl, dl
mov byte [esp + eax + 4], cl
mov eax, dword [esp]
inc eax
jmp 0x10015bba
xor eax, eax
mov ecx, 0xf7ba797a
cmp ecx, 0xd9685fd8
je 0x10015c6b
cmp ecx, 0x483da674
je 0x10015d6c
cmp ecx, 0xf7ba797a
jne 0x10015c37
mov dword [esp], eax
mov edx, 0xd9685fd8
mov ecx, dword [esp]
cmp ecx, 0xb
mov ecx, 0x483da674
cmovb ecx, edx
jmp 0x10015c37
mov eax, dword [esp]
mov dl, byte [esp + eax + 4]
mov ecx, edx
mov dh, dl
xor dl, 2
not cl
and dh, 0xe5
and dl, 0xa
and cl, 0x10
or dh, cl
mov ecx, dword [esp]
xor dh, 0xa0
or dl, dh
add cl, 0x47
mov dh, cl
and cl, 0xa
not dh
and dh, 0xf5
or cl, dh
xor cl, dl
mov byte [esp + eax + 4], cl
mov eax, dword [esp]
inc eax
jmp 0x10015c32
mov ecx, esi
mov byte [esp + 0xf], 0
call fcn.10015dcf
push 0
push dword [esp + 0x18]
call eax
mov dword [esp + 0x1c], eax
mov ecx, 0xa5452025
mov eax, dword [esp + 0x1c]
cmp eax, 0xffffffff
mov eax, 0x1026c2c7
cmove eax, ecx
jmp 0x100157da
xor eax, eax
mov ecx, 0xf1407a3d
cmp ecx, 0x9928faa2
je 0x10015d15
cmp ecx, 0xf95e4ebb
je 0x10015d8e
cmp ecx, 0xf1407a3d
jne 0x10015ce1
mov dword [esp], eax
mov edx, 0x9928faa2
mov ecx, dword [esp]
cmp ecx, 8
mov ecx, 0xf95e4ebb
cmovb ecx, edx
jmp 0x10015ce1
mov eax, dword [esp]
mov dl, byte [esp + eax + 4]
mov ecx, edx
and dl, 0xb8
not cl
and cl, 0x47
or dl, cl
mov ecx, dword [esp]
mov dh, dl
and dl, 0x8d
not dh
and dh, 0x72
add cl, 0x47
or dl, dh
mov dh, cl
and cl, 0x8d
not dh
and dh, 0x72
or cl, dh
xor cl, dl
mov byte [esp + eax + 4], cl
mov eax, dword [esp]
inc eax
jmp 0x10015cdc
mov ecx, esi
mov byte [esp + 0x10], 0
call fcn.10015dcf
call eax
mov edi, eax
mov eax, 0x9e121ac
jmp 0x100157da
mov ecx, esi
mov byte [esp + 0xf], 0
call fcn.10015dcf
push dword [esp + 0x14]
call eax
mov eax, dword [esp + 0x18]
mov eax, 0x9e121ac
mov edi, ebx
jmp 0x100157da
mov ecx, esi
mov byte [esp + 0xc], 0
call fcn.10015dcf
push 0
lea ecx, [esp + 0x24]
push ecx
push dword [esp + 0x24]
push dword [esp + 0x48]
push dword [esp + 0x24]
call eax
test eax, eax
mov eax, 0xd649305e
mov ecx, 0x66151841
cmove eax, ecx
xor ebx, ebx
jmp 0x100157da
mov eax, edi
add esp, 0x24
pop esi
pop edi
pop ebx
pop ebp
ret