Function at 0x100153d0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x2c
mov edi, dword [esp + 0x40]
lea ecx, [esp + 0x10]
lea eax, [esp + 0xf]
mov edx, 0xc064e803
mov dword [esp], ecx
mov ecx, 0x7dc2ff55
mov dword [eax - 0xb], 0x64677143
mov dword [eax - 7], 0x70406270
mov word [eax - 3], 0x7e74
mov byte [eax - 1], 0x4d
cmp edx, 0x7dc2ff55
je 0x10015429
cmp edx, 0xc064e803
jne 0x10015408
mov byte [eax], 0
inc eax
mov edx, 0xc064e803
cmp eax, dword [esp]
cmove edx, ecx
jmp 0x10015408
xor ecx, ecx
mov eax, 0xfe43dcde
mov edx, 0x88893efc
cmp edx, 0xfe43dcde
je 0x10015460
cmp edx, 0xd85c465d
je 0x1001548f
cmp edx, 0x88893efc
jne 0x10015435
mov dword [esp], ecx
mov edx, dword [esp]
cmp edx, 0xb
mov edx, 0xd85c465d
cmovb edx, eax
jmp 0x10015435
mov edx, dword [esp]
mov bl, byte [esp + edx + 4]
mov ecx, ebx
and bl, 0x76
not cl
and cl, 0x89
or bl, cl
mov ecx, dword [esp]
mov bh, bl
not bh
add cl, 0x89
and bh, cl
not cl
and cl, bl
or cl, bh
mov byte [esp + edx + 4], cl
mov ecx, dword [esp]
inc ecx
jmp 0x10015430
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
lea ebx, [esp + 0x10]
mov eax, 0x147a4c80
lea ebp, [esp + 0x28]
mov edi, 0xfe43dcde
cmp eax, 0xd210dfb4
jg 0x10015542
cmp eax, 0xd15daf39
jg 0x1001557c
cmp eax, 0xb3ec1ae5
je 0x100155ff
cmp eax, 0xba5bdfa4
jne 0x100154c8
lea eax, [esp + 0x10]
mov ecx, 0xc064e803
mov dword [esp + 4], 0x766d6f43
mov dword [esp + 8], 0x77674f61
mov word [esp + 0xc], 0x777c
mov byte [esp + 0xe], 0x7f
mov dword [esp], eax
lea eax, [esp + 0xf]
cmp ecx, 0x7dc2ff55
je 0x10015649
cmp ecx, 0xc064e803
jne 0x10015518
mov byte [eax], 0
inc eax
mov ecx, 0xc064e803
mov edx, 0x7dc2ff55
cmp eax, dword [esp]
cmove ecx, edx
jmp 0x10015518
cmp eax, 0x147a4c7f
jle 0x100155e4
cmp eax, 0x755dcc2a
je 0x100156ac
cmp eax, 0x147a4c80
jne 0x100154c8
mov eax, dword [esp + 0x14]
mov ecx, 0x755dcc2a
cmp eax, 0xffffffff
mov eax, 0xd15daf3a
cmove eax, ecx
jmp 0x100154c8
cmp eax, 0xd15daf3a
je 0x100156fc
cmp eax, 0xd1648ec9
jne 0x100154c8
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
lea eax, [esp + 0x10]
cmp ecx, 0xd5a58613
je 0x10015756
cmp ecx, 0xd18c1ab2
jne 0x100155ba
mov byte [eax], 0
inc eax
mov ecx, 0xd18c1ab2
mov edx, 0xd5a58613
cmp eax, dword [esp]
cmove ecx, edx
jmp 0x100155ba
cmp eax, 0xd210dfb5
je 0x100157be
cmp eax, 0xd489566a
jne 0x100154c8
jmp 0x10015ab8
lea eax, [esp + 0xd]
mov ecx, 0x9981b988
mov dword [esp + 4], 0x61636652
mov dword [esp + 8], 0x7c6a6e42
mov dword [esp], eax
lea eax, [esp + 0xc]
cmp ecx, 0xd57ef757
je 0x10015810
cmp ecx, 0x9981b988
jne 0x1001561f
mov byte [eax], 0
inc eax
mov ecx, 0x9981b988
mov edx, 0xd57ef757
cmp eax, dword [esp]
cmove ecx, edx
jmp 0x1001561f
xor eax, eax
mov ecx, 0x88893efc
cmp ecx, 0xfe43dcde
je 0x1001567f
cmp ecx, 0xd85c465d
je 0x10015888
cmp ecx, 0x88893efc
jne 0x10015650
mov dword [esp], eax
mov ecx, dword [esp]
cmp ecx, 0xb
mov ecx, 0xd85c465d
cmovb ecx, edi
jmp 0x10015650
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 0x1001564b
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, ebx
cmp ecx, 0xd5a58613
je 0x100158b0
cmp ecx, 0xd18c1ab2
jne 0x100156d2
mov byte [eax], 0
inc eax
mov ecx, 0xd18c1ab2
mov edx, 0xd5a58613
cmp eax, dword [esp]
cmove ecx, edx
jmp 0x100156d2
mov dword [esp + 0x20], ebp
mov ecx, 0xc064e803
mov eax, dword [esp + 0x20]
lea eax, [esp + 0xf]
mov dword [esp + 4], 0x43766647
mov dword [esp + 8], 0x4a636b6d
mov word [esp + 0xc], 0x6171
mov byte [esp + 0xe], 0x7f
mov dword [esp], ebx
cmp ecx, 0x7dc2ff55
je 0x10015928
cmp ecx, 0xc064e803
jne 0x1001572c
mov byte [eax], 0
inc eax
mov ecx, 0xc064e803
mov edx, 0x7dc2ff55
cmp eax, dword [esp]
cmove ecx, edx
jmp 0x1001572c
xor eax, eax
mov ecx, 0x8105d5fc
cmp ecx, 0xd66f2225
je 0x10015a16
cmp ecx, 0x9b5f4f67
je 0x10015791
cmp ecx, 0x8105d5fc
jne 0x1001575d
mov dword [esp], eax
mov edx, 0x9b5f4f67
mov ecx, dword [esp]
cmp ecx, 0xc
mov ecx, 0xd66f2225
cmovb ecx, edx
jmp 0x1001575d
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 0x10015758
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
lea eax, [esp + 0x10]
cmp ecx, 0xd5a58613
je 0x100159a2
cmp ecx, 0xd18c1ab2
jne 0x100157e6
mov byte [eax], 0
inc eax
mov ecx, 0xd18c1ab2
mov edx, 0xd5a58613
cmp eax, dword [esp]
cmove ecx, edx
jmp 0x100157e6
xor eax, eax
mov ecx, 0xea22ba90
cmp ecx, 0xbcc9f978
je 0x10015a32
cmp ecx, 0xfb56e341
je 0x1001584b
cmp ecx, 0xea22ba90
jne 0x10015817
mov dword [esp], eax
mov edx, 0xfb56e341
mov ecx, dword [esp]
cmp ecx, 8
mov ecx, 0xbcc9f978
cmovb ecx, edx
jmp 0x10015817
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, 0x50
not dh
and dh, 0xaf
or dl, dh
mov dh, 0x76
sub dh, cl
add cl, 0x89
and dh, 0xaf
and cl, 0x50
or cl, dh
xor cl, dl
mov byte [esp + eax + 4], cl
mov eax, dword [esp]
inc eax
jmp 0x10015812
mov ecx, esi
mov byte [esp + 0xf], 0
call fcn.10015ac4
push dword [esp + 0x14]
call eax
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
mov eax, 0xd489566a
mov dword [esp + 0x1c], ecx
jmp 0x100154c8
xor eax, eax
mov ecx, 0x8105d5fc
cmp ecx, 0xd66f2225
je 0x10015a6b
cmp ecx, 0x9b5f4f67
je 0x100158eb
cmp ecx, 0x8105d5fc
jne 0x100158b7
mov dword [esp], eax
mov edx, 0x9b5f4f67
mov ecx, dword [esp]
cmp ecx, 0xc
mov ecx, 0xd66f2225
cmovb ecx, edx
jmp 0x100158b7
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, 0xb0
not dh
and dh, 0x4f
add cl, 0x89
or dl, dh
mov dh, cl
and cl, 0xb0
not dh
and dh, 0x4f
or cl, dh
xor cl, dl
mov byte [esp + eax + 4], cl
mov eax, dword [esp]
inc eax
jmp 0x100158b2
xor eax, eax
mov ecx, 0x88893efc
cmp ecx, 0xfe43dcde
je 0x1001595e
cmp ecx, 0xd85c465d
je 0x10015a87
cmp ecx, 0x88893efc
jne 0x1001592f
mov dword [esp], eax
mov ecx, dword [esp]
cmp ecx, 0xb
mov ecx, 0xd85c465d
cmovb ecx, edi
jmp 0x1001592f
mov ecx, dword [esp]
mov edi, esi
mov esi, ebp
mov ebp, ebx
mov bl, 0x76
mov dl, byte [esp + ecx + 4]
mov eax, edx
and dl, 0x5b
not al
and al, 0xa4
or dl, al
mov eax, dword [esp]
mov dh, dl
xor dl, 0xd2
xor dh, 0x2d
sub bl, al
add al, 0x89
and dl, al
and bl, dh
or bl, dl
mov byte [esp + ecx + 4], bl
mov ebx, ebp
mov ebp, esi
mov esi, edi
mov edi, 0xfe43dcde
mov eax, dword [esp]
inc eax
jmp 0x1001592a
xor eax, eax
mov ecx, 0x8105d5fc
cmp ecx, 0xd66f2225
je 0x10015a16
cmp ecx, 0x9b5f4f67
je 0x100159d9
cmp ecx, 0x8105d5fc
jne 0x100159a9
mov dword [esp], eax
mov edx, 0x9b5f4f67
mov ecx, dword [esp]
cmp ecx, 0xc
mov ecx, 0xd66f2225
cmovb ecx, edx
jmp 0x100159a9
mov eax, dword [esp]
mov dl, byte [esp + eax + 4]
mov ecx, edx
and dl, 0x89
not cl
and cl, 0x76
or dl, cl
mov ecx, dword [esp]
mov dh, dl
and dl, 0x39
not dh
and dh, 0xc6
add cl, 0x89
or dh, dl
mov dl, cl
and cl, 0xc6
not dl
and dl, 0x39
or cl, dl
xor cl, dh
mov byte [esp + eax + 4], cl
mov eax, dword [esp]
inc eax
jmp 0x100159a4
mov ecx, esi
mov byte [esp + 0x10], 0
call fcn.10015ac4
call eax
mov dword [esp + 0x18], eax
mov eax, 0xba5bdfa4
jmp 0x100154c8
mov ecx, esi
mov byte [esp + 0xc], 0
call fcn.10015ac4
push 0
push ebp
push dword [esp + 0x2c]
push dword [esp + 0x50]
push dword [esp + 0x24]
call eax
test eax, eax
mov eax, 0xba5bdfa4
mov ecx, 0xd1648ec9
mov dword [esp + 0x18], 0
cmove eax, ecx
jmp 0x100154c8
mov ecx, esi
mov byte [esp + 0x10], 0
call fcn.10015ac4
call eax
mov dword [esp + 0x1c], eax
mov eax, 0xd489566a
jmp 0x100154c8
mov ecx, esi
mov byte [esp + 0xf], 0
call fcn.10015ac4
push 0
push dword [esp + 0x18]
call eax
mov dword [esp + 0x24], eax
mov ecx, 0xd210dfb5
mov eax, dword [esp + 0x24]
cmp eax, 0xffffffff
mov eax, 0xb3ec1ae5
cmove eax, ecx
jmp 0x100154c8
mov eax, dword [esp + 0x1c]
add esp, 0x2c
pop esi
pop edi
pop ebx
pop ebp
ret