Function at 0x4b6590
Capabilities:
Contain obfuscated stackstrings

Disassembly:
sub esp, 0x54
mov eax, dword [0x502c60]
xor eax, esp
mov dword [esp + 0x50], eax
push ebx
mov ebx, dword [esp + 0x5c]
xor al, al
push ebp
push esi
xor esi, esi
movzx eax, al
test bl, 2
mov ecx, ebx
push edi
mov edi, 1
cmovne eax, edi
and ecx, edi
mov dword [esp + 0x18], ecx
jne 0x4b65ca
test al, al
je 0x4b67a2
lea eax, [esp + 0x20]
xorps xmm0, xmm0
push eax
movdqu xmmword [esp + 0x24], xmm0
call fcn.004b86e0
mov dword [esp + 0x14], eax
test eax, eax
jne 0x4b65ec
mov esi, edi
jmp 0x4b67a2
mov edi, eax
mov dword [esp + 0x30], esi
push 7
lea eax, [esp + 0x44]
mov dword [esp + 0x40], esi
push eax
xor ebp, ebp
mov dword [esp + 0x18], esi
mov dword [esp + 0x40], esi
mov dword [esp + 0x48], 0x767d677f
mov dword [esp + 0x4c], 0x32382435
mov dword [esp + 0x50], 0x6c610d6a
mov dword [esp + 0x54], 0x7b607044
mov dword [esp + 0x58], 0x56783b35
mov dword [esp + 0x5c], 0x71773821
mov dword [esp + 0x60], 0x180f6c7b
call fcn.004b7e30
lea eax, [esp + 0x38]
mov dword [esp + 0x38], esi
push eax
lea eax, [esp + 0x44]
push eax
call fcn.004b7000
mov dword [esp + 0x1c], eax
xorps xmm0, xmm0
lea eax, [esp + 0x30]
mov dword [esp + 0x38], esi
push eax
movdqu xmmword [esp + 0x44], xmm0
movdqu xmmword [esp + 0x54], xmm0
call fcn.004b8310
mov ecx, dword [esp + 0x30]
xor edx, edx
cmp eax, 1
cmovne ecx, edx
mov dword [esp + 0x30], ecx
call fcn.004b82a0
mov edx, eax
mov dword [esp + 0x34], edx
cmp dword [edi], 0
mov eax, 1
cmove ebp, eax
cmp dword [esp + 0x18], 0
je 0x4b66b9
push dword [esp + 0x1c]
push edi
call fcn.004b6500
mov edx, dword [esp + 0x34]
test eax, eax
je 0x4b66b9
or esi, eax
cmp dword [esp + 0x2c], 0
je 0x4b6721
cmp dword [esp + 0x30], 0
je 0x4b66e6
mov eax, dword [edi + 0x44]
cmp eax, edx
jne 0x4b66d7
mov eax, dword [edi + 0x48]
mov dword [esp + 0x3c], eax
jmp 0x4b66e6
mov ecx, dword [esp + 0x10]
cmp eax, dword [esp + 0x30]
cmove ecx, edi
mov dword [esp + 0x10], ecx
cmp dword [edi + 0x44], edx
jne 0x4b6721
test ebx, 0x100
je 0x4b6721
call fcn.004b82a0
cmp dword [edi + 4], 0
mov edx, eax
je 0x4b6721
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x4b6721
lea eax, [edi + 0xd8]
cmp dword [eax], edx
je 0x4b671b
or esi, 0x2000
add eax, 0x40
dec ecx
jne 0x4b6711
add edi, dword [edi]
mov edx, dword [esp + 0x34]
test ebp, ebp
je 0x4b6693
cmp dword [esp + 0x30], 0
je 0x4b678c
cmp dword [esp + 0x3c], 0
je 0x4b678c
mov ebp, dword [esp + 0x10]
test ebp, ebp
je 0x4b678c
mov ecx, dword [esp + 0x2c]
mov eax, dword [ebp + 0x24]
cmp eax, dword [ecx + 0x24]
ja 0x4b678c
jb 0x4b675b
mov eax, dword [ebp + 0x20]
cmp eax, dword [ecx + 0x20]
jae 0x4b678c
mov edi, dword [esp + 0x1c]
test edi, edi
je 0x4b678c
push dword [esp + 0x30]
call edi
test eax, eax
je 0x4b677a
mov eax, dword [esp + 0x3c]
cmp dword [esp + 0x30], eax
je 0x4b677a
or esi, 2
push edi
push ebp
call fcn.004b6500
test eax, eax
je 0x4b678c
or eax, 0x8000
or esi, eax
push dword [esp + 0x14]
mov dword [esp + 0x34], 0
call fcn.004bdcf0
mov edi, 1
xor al, al
mov ebp, ebx
and ebp, 4
movzx eax, al
mov ecx, ebx
cmovne eax, edi
and ecx, 8
mov dword [esp + 0x14], ecx
mov ecx, ebx
movzx eax, al
cmovne eax, edi
and ecx, 0x10
mov dword [esp + 0x18], ecx
jne 0x4b67d1
test al, al
je 0x4b68a1
call fcn.004bbf60
mov edi, eax
test edi, edi
je 0x4b68a1
mov dword [esp + 0x3c], 0
mov ecx, 1
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x30], ecx
test ebp, ebp
je 0x4b682a
lea eax, [esp + 0x3c]
push eax
push 4
lea eax, [esp + 0x3c]
push eax
push 7
push 0xffffffffffffffff
call edi
mov ecx, dword [esp + 0x34]
xor edx, edx
test eax, eax
cmovne ecx, edx
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x30]
cmp dword [esp + 0x14], 0
je 0x4b6856
lea eax, [esp + 0x3c]
push eax
push 4
lea eax, [esp + 0x40]
push eax
push 0x1e
push 0xffffffffffffffff
call edi
mov ecx, dword [esp + 0x38]
xor edx, edx
test eax, eax
cmovne ecx, edx
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x30]
cmp dword [esp + 0x18], 0
je 0x4b687d
lea eax, [esp + 0x3c]
push eax
push 4
lea eax, [esp + 0x38]
push eax
push 0x1f
push 0xffffffffffffffff
call edi
mov ecx, dword [esp + 0x30]
test eax, eax
mov eax, 1
cmovne ecx, eax
cmp dword [esp + 0x34], 0
je 0x4b688a
or esi, 0x100
cmp dword [esp + 0x38], 0
je 0x4b6897
or esi, 0x200
test ecx, ecx
jne 0x4b68a1
or esi, 0x400
test bl, 0x20
je 0x4b68bb
call fcn.004b7e90
test eax, eax
je 0x4b68bb
cmp byte [eax + 2], 0
je 0x4b68bb
or esi, 0x800
test bl, bl
jns 0x4b68db
call fcn.004b7e90
test eax, eax
je 0x4b68db
mov eax, dword [eax + 0x10]
test eax, eax
je 0x4b68db
cmp dword [eax + 0xc], 0
je 0x4b68db
or esi, 0x1000
test ebx, 0x200
je 0x4b68f2
call fcn.004bce10
test al, al
je 0x4b68f2
or esi, 0x40000
test ebx, 0x400
je 0x4b6902
push ebx
call fcn.004b6960
or esi, eax
test ebx, 0x1000
je 0x4b6919
call fcn.004bce10
test al, al
je 0x4b6919
or esi, 0x200000
test ebx, 0x2000
je 0x4b6942
call fcn.004b7ea0
test eax, eax
je 0x4b6942
cmp dword [eax + 0xf20], 0
jne 0x4b693c
cmp dword [eax + 0xf24], 0
je 0x4b6942
or esi, 0x400000
mov ecx, dword [esp + 0x60]
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004d17f4
add esp, 0x54
ret 4