Function at 0x5d3d90
Capabilities:
Contain obfuscated stackstrings

Disassembly:
sub esp, 0x54
mov eax, dword [0x631220]
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 0x5d3dca
test al, al
je 0x5d3fa2
lea eax, [esp + 0x20]
xorps xmm0, xmm0
push eax
movdqu xmmword [esp + 0x24], xmm0
call fcn.005d4b30
mov dword [esp + 0x14], eax
test eax, eax
jne 0x5d3dec
mov esi, edi
jmp 0x5d3fa2
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.005d82f0
lea eax, [esp + 0x38]
mov dword [esp + 0x38], esi
push eax
lea eax, [esp + 0x44]
push eax
call fcn.005d75d0
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.005d4760
mov ecx, dword [esp + 0x30]
xor edx, edx
cmp eax, 1
cmovne ecx, edx
mov dword [esp + 0x30], ecx
call fcn.005d46f0
mov edx, eax
mov dword [esp + 0x34], edx
cmp dword [edi], 0
mov eax, 1
cmove ebp, eax
cmp dword [esp + 0x18], 0
je 0x5d3eb9
push dword [esp + 0x1c]
push edi
call fcn.005d3c50
mov edx, dword [esp + 0x34]
test eax, eax
je 0x5d3eb9
or esi, eax
cmp dword [esp + 0x2c], 0
je 0x5d3f21
cmp dword [esp + 0x30], 0
je 0x5d3ee6
mov eax, dword [edi + 0x44]
cmp eax, edx
jne 0x5d3ed7
mov eax, dword [edi + 0x48]
mov dword [esp + 0x3c], eax
jmp 0x5d3ee6
mov ecx, dword [esp + 0x10]
cmp eax, dword [esp + 0x30]
cmove ecx, edi
mov dword [esp + 0x10], ecx
cmp dword [edi + 0x44], edx
jne 0x5d3f21
test ebx, 0x100
je 0x5d3f21
call fcn.005d46f0
cmp dword [edi + 4], 0
mov edx, eax
je 0x5d3f21
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x5d3f21
lea eax, [edi + 0xd8]
cmp dword [eax], edx
je 0x5d3f1b
or esi, 0x2000
add eax, 0x40
dec ecx
jne 0x5d3f11
add edi, dword [edi]
mov edx, dword [esp + 0x34]
test ebp, ebp
je 0x5d3e93
cmp dword [esp + 0x30], 0
je 0x5d3f8c
cmp dword [esp + 0x3c], 0
je 0x5d3f8c
mov ebp, dword [esp + 0x10]
test ebp, ebp
je 0x5d3f8c
mov ecx, dword [esp + 0x2c]
mov eax, dword [ebp + 0x24]
cmp eax, dword [ecx + 0x24]
ja 0x5d3f8c
jb 0x5d3f5b
mov eax, dword [ebp + 0x20]
cmp eax, dword [ecx + 0x20]
jae 0x5d3f8c
mov edi, dword [esp + 0x1c]
test edi, edi
je 0x5d3f8c
push dword [esp + 0x30]
call edi
test eax, eax
je 0x5d3f7a
mov eax, dword [esp + 0x3c]
cmp dword [esp + 0x30], eax
je 0x5d3f7a
or esi, 2
push edi
push ebp
call fcn.005d3c50
test eax, eax
je 0x5d3f8c
or eax, 0x8000
or esi, eax
push dword [esp + 0x14]
mov dword [esp + 0x34], 0
call fcn.005da3c0
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 0x5d3fd1
test al, al
je 0x5d40a1
call fcn.005d9560
mov edi, eax
test edi, edi
je 0x5d40a1
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 0x5d402a
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 0x5d4056
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 0x5d407d
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 0x5d408a
or esi, 0x100
cmp dword [esp + 0x38], 0
je 0x5d4097
or esi, 0x200
test ecx, ecx
jne 0x5d40a1
or esi, 0x400
test bl, 0x20
je 0x5d40bb
call fcn.005d8350
test eax, eax
je 0x5d40bb
cmp byte [eax + 2], 0
je 0x5d40bb
or esi, 0x800
test bl, bl
jns 0x5d40db
call fcn.005d8350
test eax, eax
je 0x5d40db
mov eax, dword [eax + 0x10]
test eax, eax
je 0x5d40db
cmp dword [eax + 0xc], 0
je 0x5d40db
or esi, 0x1000
test ebx, 0x200
je 0x5d40f2
call fcn.005da390
test al, al
je 0x5d40f2
or esi, 0x40000
test ebx, 0x400
je 0x5d4102
push ebx
call fcn.005d4280
or esi, eax
test ebx, 0x1000
je 0x5d4119
call fcn.005da390
test al, al
je 0x5d4119
or esi, 0x200000
test ebx, 0x2000
je 0x5d4142
call fcn.005d8410
test eax, eax
je 0x5d4142
cmp dword [eax + 0xf20], 0
jne 0x5d413c
cmp dword [eax + 0xf24], 0
je 0x5d4142
or esi, 0x400000
test ebx, 0x10000
je 0x5d4156
call fcn.005d41d0
test al, al
je 0x5d4156
or esi, 8
test ebx, 0x4000
je 0x5d416f
push 0
call fcn.005d3ce0
test al, al
je 0x5d416f
or esi, 0x800000
test ebx, 0x8000
je 0x5d41ae
call fcn.005d9820
test eax, eax
je 0x5d41ae
push 0
push 0
push 0
push 0
push 0
push 7
call eax
xor eax, 0x756e6971
cmp eax, 0xb56e6a25
je 0x5d41ae
cmp eax, 0xb56e6973
je 0x5d41ae
cmp eax, 0xb56e6953
je 0x5d41ae
or esi, 0x800000
mov ecx, dword [esp + 0x60]
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.005e0482
add esp, 0x54
ret 4