Function at 0x53e490
Capabilities:
Contain obfuscated stackstrings

Disassembly:
sub esp, 0x54
mov eax, dword [0x59b000]
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 0x53e4ca
test al, al
je 0x53e6a2
lea eax, [esp + 0x20]
xorps xmm0, xmm0
push eax
movdqu xmmword [esp + 0x24], xmm0
call fcn.0053f250
mov dword [esp + 0x14], eax
test eax, eax
jne 0x53e4ec
mov esi, edi
jmp 0x53e6a2
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.005428a0
lea eax, [esp + 0x38]
mov dword [esp + 0x38], esi
push eax
lea eax, [esp + 0x44]
push eax
call fcn.00541b80
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.0053ee80
mov ecx, dword [esp + 0x30]
xor edx, edx
cmp eax, 1
cmovne ecx, edx
mov dword [esp + 0x30], ecx
call fcn.0053ee10
mov edx, eax
mov dword [esp + 0x34], edx
cmp dword [edi], 0
mov eax, 1
cmove ebp, eax
cmp dword [esp + 0x18], 0
je 0x53e5b9
push dword [esp + 0x1c]
push edi
call fcn.0053e350
mov edx, dword [esp + 0x34]
test eax, eax
je 0x53e5b9
or esi, eax
cmp dword [esp + 0x2c], 0
je 0x53e621
cmp dword [esp + 0x30], 0
je 0x53e5e6
mov eax, dword [edi + 0x44]
cmp eax, edx
jne 0x53e5d7
mov eax, dword [edi + 0x48]
mov dword [esp + 0x3c], eax
jmp 0x53e5e6
mov ecx, dword [esp + 0x10]
cmp eax, dword [esp + 0x30]
cmove ecx, edi
mov dword [esp + 0x10], ecx
cmp dword [edi + 0x44], edx
jne 0x53e621
test ebx, 0x100
je 0x53e621
call fcn.0053ee10
cmp dword [edi + 4], 0
mov edx, eax
je 0x53e621
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x53e621
lea eax, [edi + 0xd8]
cmp dword [eax], edx
je 0x53e61b
or esi, 0x2000
add eax, 0x40
dec ecx
jne 0x53e611
add edi, dword [edi]
mov edx, dword [esp + 0x34]
test ebp, ebp
je 0x53e593
cmp dword [esp + 0x30], 0
je 0x53e68c
cmp dword [esp + 0x3c], 0
je 0x53e68c
mov ebp, dword [esp + 0x10]
test ebp, ebp
je 0x53e68c
mov ecx, dword [esp + 0x2c]
mov eax, dword [ebp + 0x24]
cmp eax, dword [ecx + 0x24]
ja 0x53e68c
jb 0x53e65b
mov eax, dword [ebp + 0x20]
cmp eax, dword [ecx + 0x20]
jae 0x53e68c
mov edi, dword [esp + 0x1c]
test edi, edi
je 0x53e68c
push dword [esp + 0x30]
call edi
test eax, eax
je 0x53e67a
mov eax, dword [esp + 0x3c]
cmp dword [esp + 0x30], eax
je 0x53e67a
or esi, 2
push edi
push ebp
call fcn.0053e350
test eax, eax
je 0x53e68c
or eax, 0x8000
or esi, eax
push dword [esp + 0x14]
mov dword [esp + 0x34], 0
call fcn.0053edf0
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 0x53e6d1
test al, al
je 0x53e7a1
call fcn.00543ad0
mov edi, eax
test edi, edi
je 0x53e7a1
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 0x53e72a
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 0x53e756
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 0x53e77d
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 0x53e78a
or esi, 0x100
cmp dword [esp + 0x38], 0
je 0x53e797
or esi, 0x200
test ecx, ecx
jne 0x53e7a1
or esi, 0x400
test bl, 0x20
je 0x53e7bb
call fcn.00542900
test eax, eax
je 0x53e7bb
cmp byte [eax + 2], 0
je 0x53e7bb
or esi, 0x800
test bl, bl
jns 0x53e7db
call fcn.00542900
test eax, eax
je 0x53e7db
mov eax, dword [eax + 0x10]
test eax, eax
je 0x53e7db
cmp dword [eax + 0xc], 0
je 0x53e7db
or esi, 0x1000
test ebx, 0x200
je 0x53e7f2
call fcn.005448e0
test al, al
je 0x53e7f2
or esi, 0x40000
test ebx, 0x400
je 0x53e802
push ebx
call fcn.0053e980
or esi, eax
test ebx, 0x1000
je 0x53e819
call fcn.005448e0
test al, al
je 0x53e819
or esi, 0x200000
test ebx, 0x2000
je 0x53e842
call fcn.005429c0
test eax, eax
je 0x53e842
cmp dword [eax + 0xf20], 0
jne 0x53e83c
cmp dword [eax + 0xf24], 0
je 0x53e842
or esi, 0x400000
test ebx, 0x10000
je 0x53e856
call fcn.0053e8d0
test al, al
je 0x53e856
or esi, 8
test ebx, 0x4000
je 0x53e86f
push 0
call fcn.0053e3e0
test al, al
je 0x53e86f
or esi, 0x800000
test ebx, 0x8000
je 0x53e8ae
call fcn.00543d90
test eax, eax
je 0x53e8ae
push 0
push 0
push 0
push 0
push 0
push 7
call eax
xor eax, 0x756e6971
cmp eax, 0xb56e6a25
je 0x53e8ae
cmp eax, 0xb56e6973
je 0x53e8ae
cmp eax, 0xb56e6953
je 0x53e8ae
or esi, 0x800000
mov ecx, dword [esp + 0x60]
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0054a992
add esp, 0x54
ret 4