Function at 0x10005946
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x80
movaps xmm0, xmmword [0x10094280]
mov dword [esp + 0x2c], ecx
lea ecx, [esp + 0x24]
lea eax, [esp + 0x23]
mov edx, 0xcdffd3d
mov dword [esp + 0xc], ecx
mov ecx, 0xe40d66a6
movups xmmword [eax - 0x13], xmm0
mov word [eax - 3], 0x6769
mov byte [eax - 1], 0x77
cmp edx, 0xe40d66a6
je 0x100059a6
cmp edx, 0xcdffd3d
jne 0x10005984
mov byte [eax], 0
inc eax
mov edx, 0xcdffd3d
cmp eax, dword [esp + 0xc]
cmove edx, ecx
jmp 0x10005984
xor ecx, ecx
mov eax, 0x4da952e9
mov edx, 0xdbe07fe3
cmp edx, 0x6a883b34
je 0x10005a23
cmp edx, 0x4da952e9
je 0x100059df
cmp edx, 0xdbe07fe3
jne 0x100059b2
mov dword [esp + 0xc], ecx
mov edx, dword [esp + 0xc]
cmp edx, 0x13
mov edx, 0x6a883b34
cmovb edx, eax
jmp 0x100059b2
mov ecx, dword [esp + 0xc]
mov bl, byte [esp + ecx + 0x10]
mov edx, ebx
and bl, 0x60
not dl
and dl, 0x9f
or bl, dl
mov edx, dword [esp + 0xc]
mov bh, bl
xor bl, 0x49
xor bh, 0x14
and bl, 0xcb
and bh, 0x34
add dl, 9
or bh, bl
mov bl, dl
and dl, 0x34
not bl
and bl, 0xcb
or dl, bl
xor dl, bh
mov byte [esp + ecx + 0x10], dl
mov ecx, dword [esp + 0xc]
inc ecx
jmp 0x100059ad
lea ecx, [esp + 0x10]
mov byte [ecx + 0x13], 0
call fcn.10004e1f
mov esi, dword [esp + 0x2c]
mov dword [esp + 0x44], esi
mov ecx, dword [esp + 0x44]
mov ecx, dword [ecx]
mov edx, ecx
shr edx, 0x1f
add edx, ecx
lea ecx, [esi + 4]
xor esi, esi
mov dword [esp + 0x48], ecx
sar edx, 1
mov ecx, dword [esp + 0x48]
push esi
push esi
push esi
push esi
push edx
push dword [ecx]
push esi
push dword [ebp + 8]
call eax
mov dword [esp + 0x4c], eax
lea esi, [esp + 0x1d]
mov eax, 0xcbbeea65
mov edi, 0xea31bdf7
mov ebx, 0x28cbbb03
cmp eax, 0x33e81462
jg 0x10005ab7
cmp eax, 0xf4d175e2
jg 0x10005afe
cmp eax, 0xe7ac6c26
jg 0x10005bb3
cmp eax, 0xbda5fae6
je 0x10005c6f
cmp eax, 0xcbbeea65
jne 0x10005a78
cmp dword [esp + 0x4c], 0
mov eax, 0xe7ac6c27
mov ecx, 0x552de50a
cmove eax, ecx
jmp 0x10005a78
cmp eax, 0x457c7362
jle 0x10005b73
cmp eax, 0x552de509
jg 0x10005be8
cmp eax, 0x457c7363
je 0x10005cba
cmp eax, 0x4f62a1de
jne 0x10005a78
cmp dword [esp + 0x34], 0
mov edx, dword [esp + 0x28]
mov eax, 0xe810fb06
mov ecx, 0x56893e5
cmove eax, ecx
mov dword [esp + 0x40], edx
jmp 0x10005a78
cmp eax, 0x15f030b3
jg 0x10005c2c
cmp eax, 0xf4d175e3
je 0x10005cd4
cmp eax, 0x56893e5
jne 0x10005a78
movaps xmm0, xmmword [0x10094280]
lea eax, [esp + 0x24]
mov ecx, 0xcdffd3d
mov dword [esp + 0xc], eax
lea eax, [esp + 0x23]
movups xmmword [esp + 0x10], xmm0
mov word [esp + 0x20], 0x6769
mov byte [esp + 0x22], 0x77
cmp ecx, 0xe40d66a6
je 0x10005ce6
cmp ecx, 0xcdffd3d
jne 0x10005b48
mov byte [eax], 0
inc eax
mov ecx, 0xcdffd3d
mov edx, 0xe40d66a6
cmp eax, dword [esp + 0xc]
cmove ecx, edx
jmp 0x10005b48
cmp eax, 0x3f70d576
jg 0x10005c54
cmp eax, 0x33e81463
je 0x10005d64
cmp eax, 0x3e768399
jne 0x10005a78
mov edx, dword [esp + 0x3c]
cmp dword [esp + 0x38], 0
mov eax, 0x1643d5f3
mov ecx, 0x33e81463
cmove eax, ecx
mov dword [esp + 0x24], edx
jmp 0x10005a78
cmp eax, 0xe7ac6c27
je 0x10005d76
cmp eax, 0xe810fb06
jne 0x10005a78
lea ecx, [esp + 0x60]
call fcn.10004ce8
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x40]
mov eax, 0x3f7f0856
mov dword [esp + 0x30], ecx
jmp 0x10005a78
cmp eax, 0x552de50a
je 0x10005db2
cmp eax, 0x63bbdabe
jne 0x10005a78
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x2c]
push dword [esp + 0x58]
push dword [eax]
call fcn.100050aa
mov dword [esp + 0x5c], eax
mov eax, 0x15f030b4
mov ecx, 0x457c7363
cmp dword [esp + 0x5c], 0
cmove eax, ecx
jmp 0x10005a78
cmp eax, 0x15f030b4
je 0x10005dfd
cmp eax, 0x1643d5f3
jne 0x10005a78
mov ecx, dword [esp + 0x24]
mov eax, 0xe810fb06
mov dword [esp + 0x40], ecx
jmp 0x10005a78
cmp eax, 0x3f70d577
je 0x10005e16
cmp eax, 0x3f7f0856
jne 0x10005a78
jmp 0x10005f9c
mov ecx, 0x43c256e8
lea eax, [esp + 0x1c]
mov dword [esp + 0x10], 0x49766647
mov dword [esp + 0x14], 0x5c727465
mov dword [esp + 0x18], 0x6f75696a
mov dword [esp + 0xc], esi
cmp ecx, 0x28cbbb03
je 0x10005e27
cmp ecx, 0x43c256e8
jne 0x10005c94
mov byte [eax], 0
inc eax
mov ecx, 0x43c256e8
cmp eax, dword [esp + 0xc]
cmove ecx, ebx
jmp 0x10005c94
mov dword [esp + 0x38], 0
mov eax, 0x3e768399
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x3c], ecx
jmp 0x10005a78
mov eax, 0x4f62a1de
mov dword [esp + 0x34], 0
jmp 0x10005a78
xor eax, eax
mov ecx, 0xdbe07fe3
cmp ecx, 0x6a883b34
je 0x10005e93
cmp ecx, 0x4da952e9
je 0x10005d23
cmp ecx, 0xdbe07fe3
jne 0x10005ced
mov dword [esp + 0xc], eax
mov edx, 0x4da952e9
mov ecx, dword [esp + 0xc]
cmp ecx, 0x13
mov ecx, 0x6a883b34
cmovb ecx, edx
jmp 0x10005ced
mov eax, dword [esp + 0xc]
mov dl, byte [esp + eax + 0x10]
mov ecx, edx
mov dh, dl
xor dl, 0x40
not cl
and dh, 0x9a
and dl, 0x41
and cl, 0x24
or dh, cl
mov ecx, dword [esp + 0xc]
xor dh, 0x2c
or dl, dh
mov dh, 0xf6
sub dh, cl
add cl, 9
and dh, 0x41
and cl, 0xbe
or cl, dh
xor cl, dl
mov byte [esp + eax + 0x10], cl
mov eax, dword [esp + 0xc]
inc eax
jmp 0x10005ce8
mov eax, 0x1643d5f3
mov dword [esp + 0x24], 0
jmp 0x10005a78
lea ecx, [esp + 0x60]
xorps xmm0, xmm0
mov dword [esp + 0x50], ecx
mov eax, dword [esp + 0x50]
movaps xmmword [esp + 0x60], xmm0
mov eax, dword [esp + 0x4c]
add eax, 0x10
push eax
call fcn.10004962
mov dword [esp + 0x28], eax
mov eax, 0x3f70d577
mov ecx, 0xf4d175e3
cmp dword [esp + 0x28], 0
cmove eax, ecx
jmp 0x10005a78
mov ecx, 0x43c256e8
lea eax, [esp + 0x1c]
mov dword [esp + 0x10], 0x49766647
mov dword [esp + 0x14], 0x5c727465
mov dword [esp + 0x18], 0x6f75696a
mov dword [esp + 0xc], esi
cmp ecx, 0x28cbbb03
je 0x10005efc
cmp ecx, 0x43c256e8
jne 0x10005dd7
mov byte [eax], 0
inc eax
mov ecx, 0x43c256e8
cmp eax, dword [esp + 0xc]
cmove ecx, ebx
jmp 0x10005dd7
mov ecx, dword [esp + 0x5c]
mov eax, 0x3e768399
mov dword [esp + 0x3c], ecx
xor ecx, ecx
inc ecx
mov dword [esp + 0x38], ecx
jmp 0x10005a78
xor ecx, ecx
mov eax, 0x4f62a1de
inc ecx
mov dword [esp + 0x34], ecx
jmp 0x10005a78
xor eax, eax
mov ecx, 0xae791f34
cmp ecx, 0x27b58003
je 0x10005f60
cmp ecx, 0xea31bdf7
je 0x10005e5f
cmp ecx, 0xae791f34
jne 0x10005e2e
mov dword [esp + 0xc], eax
mov ecx, dword [esp + 0xc]
cmp ecx, 0xc
mov ecx, 0x27b58003
cmovb ecx, edi
jmp 0x10005e2e
mov ecx, dword [esp + 0xc]
mov dl, byte [esp + ecx + 0x10]
mov eax, edx
and dl, 0x4d
not al
and al, 0xb2
or dl, al
mov eax, dword [esp + 0xc]
mov dh, dl
xor dl, 0x44
xor dh, 0xbb
add al, 9
and dl, al
not al
and al, dh
or al, dl
mov byte [esp + ecx + 0x10], al
mov eax, dword [esp + 0xc]
inc eax
jmp 0x10005e29
lea ecx, [esp + 0x10]
mov byte [esp + 0x23], 0
call fcn.10004e1f
lea edx, [esp + 0x64]
mov ecx, dword [esp + 0x60]
xor esi, esi
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0x44]
mov edi, dword [ebx]
mov ebx, edi
shr ebx, 0x1f
add ebx, edi
mov edi, dword [esp + 0x48]
sar ebx, 1
push esi
push esi
push ecx
push dword [edx]
push ebx
mov ebx, 0x28cbbb03
push dword [edi]
mov edi, 0xea31bdf7
push esi
push dword [ebp + 8]
call eax
mov dword [esp + 0x58], eax
mov eax, 0x63bbdabe
mov ecx, 0xbda5fae6
cmp dword [esp + 0x58], esi
lea esi, [esp + 0x1d]
cmove eax, ecx
jmp 0x10005a78
xor eax, eax
mov ecx, 0xae791f34
cmp ecx, 0x27b58003
je 0x10005f7e
cmp ecx, 0xea31bdf7
je 0x10005f30
cmp ecx, 0xae791f34
jne 0x10005f03
mov dword [esp + 0xc], eax
mov ecx, dword [esp + 0xc]
cmp ecx, 0xc
mov ecx, 0x27b58003
cmovb ecx, edi
jmp 0x10005f03
mov ecx, dword [esp + 0xc]
mov dl, byte [esp + ecx + 0x10]
mov eax, edx
and dl, 0xf6
not al
and al, 9
or dl, al
mov eax, dword [esp + 0xc]
mov dh, dl
not dh
add al, 9
and dh, al
not al
and al, dl
or al, dh
mov byte [esp + ecx + 0x10], al
mov eax, dword [esp + 0xc]
inc eax
jmp 0x10005efe
lea ecx, [esp + 0x10]
mov byte [esp + 0x1c], 0
call fcn.10004e1f
call eax
mov dword [esp + 0x24], eax
mov eax, 0x1643d5f3
jmp 0x10005a78
lea ecx, [esp + 0x10]
mov byte [esp + 0x1c], 0
call fcn.10004e1f
call eax
mov dword [esp + 0x30], eax
mov eax, 0x3f7f0856
jmp 0x10005a78
mov eax, dword [esp + 0x30]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 4