Function at 0x10004906
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 [0x1009f2c0]
mov dword [esp + 0x28], ecx
lea ecx, [esp + 0x20]
lea eax, [esp + 0x1f]
mov edx, 0xb4ce0175
mov dword [esp + 8], ecx
mov ecx, 0x783a0463
movups xmmword [eax - 0x13], xmm0
mov word [eax - 3], 0x7078
mov byte [eax - 1], 0x6c
cmp edx, 0x783a0463
je 0x10004966
cmp edx, 0xb4ce0175
jne 0x10004944
mov byte [eax], 0
inc eax
mov edx, 0xb4ce0175
cmp eax, dword [esp + 8]
cmove edx, ecx
jmp 0x10004944
xor ecx, ecx
mov eax, 0x304144a3
mov edx, 0x6e6d2719
cmp edx, 0x21d72263
je 0x100049d1
cmp edx, 0x304144a3
je 0x1000499f
cmp edx, 0x6e6d2719
jne 0x10004972
mov dword [esp + 8], ecx
mov edx, dword [esp + 8]
cmp edx, 0x13
mov edx, 0x21d72263
cmovb edx, eax
jmp 0x10004972
mov edx, dword [esp + 8]
mov bl, byte [esp + edx + 0xc]
mov ecx, ebx
and bl, 0xb9
not cl
and cl, 0x46
or bl, cl
mov ecx, dword [esp + 8]
mov bh, bl
not bh
add cl, 0x46
and bh, cl
not cl
and cl, bl
or cl, bh
mov byte [esp + edx + 0xc], cl
mov ecx, dword [esp + 8]
inc ecx
jmp 0x1000496d
lea ecx, [esp + 0xc]
mov byte [ecx + 0x13], 0
call fcn.10003781
mov edx, dword [esp + 0x28]
xor esi, esi
mov dword [esp + 0x40], edx
add edx, 4
mov ecx, dword [esp + 0x40]
mov ecx, dword [ecx]
mov dword [esp + 0x44], edx
mov edx, dword [esp + 0x44]
push esi
push esi
push ecx
push dword [edx]
push esi
push dword [ebp + 8]
call eax
xor esi, esi
mov dword [esp + 0x48], eax
lea edi, [esp + 0x19]
mov eax, 0xf85eae1a
inc esi
cmp eax, 0x1dd49a63
jg 0x10004a5a
cmp eax, 0xf85eae19
jg 0x10004ad6
cmp eax, 0xc85eea80
jg 0x10004b4d
cmp eax, 0x9ffa6396
je 0x10004bfc
cmp eax, 0xbb45e200
jne 0x10004a14
mov dword [esp + 0x34], 0
mov eax, 0x1dd49a64
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x38], ecx
jmp 0x10004a14
cmp eax, 0x5a37ad0c
jle 0x10004b0d
cmp eax, 0x6873fe0c
jg 0x10004b75
cmp eax, 0x5a37ad0d
je 0x10004c0a
cmp eax, 0x6215e613
jne 0x10004a14
movaps xmm0, xmmword [0x1009f2c0]
lea eax, [esp + 0x20]
mov ecx, 0xb4ce0175
mov dword [esp + 8], eax
lea eax, [esp + 0x1f]
movups xmmword [esp + 0xc], xmm0
mov word [esp + 0x1c], 0x7078
mov byte [esp + 0x1e], 0x6c
cmp ecx, 0x783a0463
je 0x10004c1c
cmp ecx, 0xb4ce0175
jne 0x10004aab
mov byte [eax], 0
inc eax
mov ecx, 0xb4ce0175
mov edx, 0x783a0463
cmp eax, dword [esp + 8]
cmove ecx, edx
jmp 0x10004aab
cmp eax, 0xa60d4cc
jg 0x10004b9d
cmp eax, 0xf85eae1a
je 0x10004c8f
cmp eax, 0xff989912
jne 0x10004a14
mov ecx, dword [esp + 0x58]
mov eax, 0x1dd49a64
mov dword [esp + 0x34], esi
mov dword [esp + 0x38], ecx
jmp 0x10004a14
cmp eax, 0x41ee4263
jg 0x10004be1
cmp eax, 0x1dd49a64
je 0x10004ca6
cmp eax, 0x1e417478
jne 0x10004a14
lea ecx, [esp + 0x60]
call fcn.10003646
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x3c]
mov eax, 0x41ee4264
mov dword [esp + 0x2c], ecx
jmp 0x10004a14
cmp eax, 0xc85eea81
je 0x10004cc5
cmp eax, 0xceacec85
jne 0x10004a14
mov eax, 0x5a37ad0d
mov dword [esp + 0x20], 0
jmp 0x10004a14
cmp eax, 0x6873fe0d
je 0x10004d0b
cmp eax, 0x78e9a97e
jne 0x10004a14
mov eax, 0xa60d4cd
mov dword [esp + 0x30], 0
jmp 0x10004a14
cmp eax, 0xa60d4cd
je 0x10004d5b
cmp eax, 0x1abf81a4
jne 0x10004a14
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x28]
push dword [esp + 0x50]
push dword [eax]
call fcn.10003a12
mov dword [esp + 0x58], eax
mov eax, 0xff989912
mov ecx, 0xbb45e200
cmp dword [esp + 0x58], 0
cmove eax, ecx
jmp 0x10004a14
cmp eax, 0x4de6a105
je 0x10004d7a
cmp eax, 0x41ee4264
jne 0x10004a14
jmp 0x10004f36
mov eax, 0xa60d4cd
mov dword [esp + 0x30], esi
jmp 0x10004a14
mov ecx, dword [esp + 0x20]
mov eax, 0x1e417478
mov dword [esp + 0x3c], ecx
jmp 0x10004a14
xor eax, eax
mov ecx, 0x6e6d2719
cmp ecx, 0x21d72263
je 0x10004dca
cmp ecx, 0x304144a3
je 0x10004c59
cmp ecx, 0x6e6d2719
jne 0x10004c23
mov dword [esp + 8], eax
mov edx, 0x304144a3
mov ecx, dword [esp + 8]
cmp ecx, 0x13
mov ecx, 0x21d72263
cmovb ecx, edx
jmp 0x10004c23
mov ecx, dword [esp + 8]
mov bl, 0xb9
mov dl, byte [esp + ecx + 0xc]
mov eax, edx
and dl, 9
not al
and al, 0xf6
or dl, al
mov eax, dword [esp + 8]
mov dh, dl
xor dl, 0x4f
xor dh, 0xb0
sub bl, al
add al, 0x46
and dl, al
and bl, dh
or bl, dl
mov byte [esp + ecx + 0xc], bl
mov eax, dword [esp + 8]
inc eax
jmp 0x10004c1e
cmp dword [esp + 0x48], 0
mov eax, 0xc85eea81
mov ecx, 0x4de6a105
cmove eax, ecx
jmp 0x10004a14
mov edx, dword [esp + 0x38]
cmp dword [esp + 0x34], 0
mov eax, 0x5a37ad0d
mov ecx, 0xceacec85
cmove eax, ecx
mov dword [esp + 0x20], edx
jmp 0x10004a14
lea ecx, [esp + 0x60]
xorps xmm0, xmm0
mov dword [esp + 0x4c], ecx
mov eax, dword [esp + 0x4c]
movaps xmmword [esp + 0x60], xmm0
mov eax, dword [esp + 0x48]
add eax, eax
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x50]
add eax, 0x10
push eax
call fcn.100032a6
mov dword [esp + 0x24], eax
mov eax, 0x9ffa6396
mov ecx, 0x78e9a97e
cmp dword [esp + 0x24], 0
cmove eax, ecx
jmp 0x10004a14
mov ecx, 0x63abaae7
lea eax, [esp + 0x18]
mov dword [esp + 0xc], 0x437a6447
mov dword [esp + 0x10], 0x4e7e7e6d
mov dword [esp + 0x14], 0x65797b7a
mov dword [esp + 8], edi
cmp ecx, 0xd8a1d582
je 0x10004e20
cmp ecx, 0x63abaae7
jne 0x10004d30
mov byte [eax], 0
inc eax
mov ecx, 0x63abaae7
mov edx, 0xd8a1d582
cmp eax, dword [esp + 8]
cmove ecx, edx
jmp 0x10004d30
cmp dword [esp + 0x30], 0
mov edx, dword [esp + 0x24]
mov eax, 0x1e417478
mov ecx, 0x6215e613
cmove eax, ecx
mov dword [esp + 0x3c], edx
jmp 0x10004a14
mov ecx, 0x63abaae7
lea eax, [esp + 0x18]
mov dword [esp + 0xc], 0x437a6447
mov dword [esp + 0x10], 0x4e7e7e6d
mov dword [esp + 0x14], 0x65797b7a
mov dword [esp + 8], edi
cmp ecx, 0xd8a1d582
je 0x10004e91
cmp ecx, 0x63abaae7
jne 0x10004d9f
mov byte [eax], 0
inc eax
mov ecx, 0x63abaae7
mov edx, 0xd8a1d582
cmp eax, dword [esp + 8]
cmove ecx, edx
jmp 0x10004d9f
lea ecx, [esp + 0xc]
mov byte [esp + 0x1f], 0
call fcn.10003781
lea edx, [esp + 0x64]
mov dword [esp + 0x5c], eax
mov eax, esi
mov ecx, dword [esp + 0x60]
mov esi, edi
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0x40]
mov edi, dword [esp + 0x44]
push ecx
push dword [edx]
push dword [ebx]
push dword [edi]
mov edi, esi
mov esi, eax
push 0
push dword [ebp + 8]
call dword [esp + 0x74]
test eax, eax
mov eax, 0x1abf81a4
mov ecx, 0x6873fe0d
cmove eax, ecx
jmp 0x10004a14
xor eax, eax
mov ecx, 0xfa50a9dc
cmp ecx, 0xec07260b
je 0x10004efa
cmp ecx, 0x2c7a5af4
je 0x10004e5d
cmp ecx, 0xfa50a9dc
jne 0x10004e27
mov dword [esp + 8], eax
mov edx, 0x2c7a5af4
mov ecx, dword [esp + 8]
cmp ecx, 0xc
mov ecx, 0xec07260b
cmovb ecx, edx
jmp 0x10004e27
mov ecx, dword [esp + 8]
mov dl, byte [esp + ecx + 0xc]
mov eax, edx
and dl, 0x92
not al
and al, 0x6d
or dl, al
mov eax, dword [esp + 8]
mov dh, dl
xor dl, 0xd4
xor dh, 0x2b
add al, 0x46
and dl, al
not al
and al, dh
or al, dl
mov byte [esp + ecx + 0xc], al
mov eax, dword [esp + 8]
inc eax
jmp 0x10004e22
xor eax, eax
mov ecx, 0xfa50a9dc
cmp ecx, 0xec07260b
je 0x10004f18
cmp ecx, 0x2c7a5af4
je 0x10004eca
cmp ecx, 0xfa50a9dc
jne 0x10004e98
mov dword [esp + 8], eax
mov edx, 0x2c7a5af4
mov ecx, dword [esp + 8]
cmp ecx, 0xc
mov ecx, 0xec07260b
cmovb ecx, edx
jmp 0x10004e98
mov ecx, dword [esp + 8]
mov dl, byte [esp + ecx + 0xc]
mov eax, edx
and dl, 0xb9
not al
and al, 0x46
or dl, al
mov eax, dword [esp + 8]
mov dh, dl
not dh
add al, 0x46
and dh, al
not al
and al, dl
or al, dh
mov byte [esp + ecx + 0xc], al
mov eax, dword [esp + 8]
inc eax
jmp 0x10004e93
lea ecx, [esp + 0xc]
mov byte [esp + 0x18], 0
call fcn.10003781
call eax
mov dword [esp + 0x20], eax
mov eax, 0x5a37ad0d
jmp 0x10004a14
lea ecx, [esp + 0xc]
mov byte [esp + 0x18], 0
call fcn.10003781
call eax
mov dword [esp + 0x2c], eax
mov eax, 0x41ee4264
jmp 0x10004a14
mov eax, dword [esp + 0x2c]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 4