Function at 0x531d80
Capabilities:
Create thread
Resume thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5b5c76
mov eax, dword fs:[0]
push eax
sub esp, 0x14
push ebx
push esi
push edi
mov eax, dword [0x63b404]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, edx
mov eax, ecx
mov dword [ebp - 0x18], eax
xor cl, cl
mov byte [ebp - 0xd], cl
test eax, eax
je 0x53201f
mov ecx, eax
call fcn.005315a0
mov dword [ebp - 0x14], eax
test eax, eax
je 0x53200a
mov ecx, eax
call fcn.005319d0
mov edi, eax
test edi, edi
je 0x531ec9
mov esi, dword [edi + 0x24]
test esi, esi
je 0x531e3a
mov eax, dword [esi + 4]
mov byte [esi + 9], 1
test eax, eax
jne 0x531e1a
push eax
push 4
push esi
push 0x550410
push eax
push eax
call dword [sym.imp.KERNEL32.dll_CreateThread]
push dword [esi + 0xc]
mov dword [esi + 4], eax
push eax
call dword [sym.imp.KERNEL32.dll_SetThreadPriority]
mov eax, dword [esi + 4]
test eax, eax
je 0x531ff1
push eax
call dword [sym.imp.KERNEL32.dll_ResumeThread]
call fcn.005313a0
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea esi, [edi + 8]
xor ebx, ebx
test esi, esi
je 0x531e94
mov ecx, esi
call fcn.005315a0
test eax, eax
je 0x531e94
mov ecx, eax
call fcn.005319d0
mov dword [ebp - 0x14], eax
test eax, eax
je 0x531e94
push 8
call fcn.0056f5ce
add esp, 4
mov dword [ebp - 0x18], eax
push 0x648cb4
mov ecx, eax
mov dword [ebp - 4], ebx
call fcn.00545740
mov ebx, eax
mov dword [ebp - 4], 0xffffffff
push 0x5c
mov ecx, ebx
call fcn.00546290
push dword [ebp - 0x14]
mov ecx, ebx
call fcn.00546600
push 1
push 1
push 0
mov edx, ebx
mov ecx, esi
call fcn.00521970
add esp, 0xc
mov dword [edi + 0x24], eax
mov dword [edi + 0x20], 1
call fcn.005313a0
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x28
call fcn.0056f5ce
mov esi, eax
add esp, 4
mov dword [ebp - 0x1c], esi
lea edi, [esi + 8]
mov ecx, esi
push dword [ebp - 0x14]
mov dword [esi], 0
mov dword [esi + 4], 0
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
mov dword [esi + 0x24], 0
mov dword [esi + 0x20], 0
call fcn.00546210
push dword [ebp - 0x18]
lea ecx, [ebp - 0x20]
call fcn.005456c0
lea eax, [ebp - 0x20]
mov dword [ebp - 4], 1
push eax
mov ecx, edi
call fcn.005457b0
lea ecx, [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
call fcn.00500b70
mov dword [esi + 0x18], 0
mov dword [esi + 0x1c], 0
test ebx, ebx
je 0x531f6d
cmp dword [ebx], 0
je 0x531f6d
cmp dword [ebx + 4], 0
jbe 0x531f6d
push ebx
lea ecx, [esi + 0x10]
call fcn.00546210
push 0
push esi
mov ecx, 0x648cac
call fcn.00545290
xor ebx, ebx
test edi, edi
je 0x531fd5
mov ecx, edi
call fcn.005315a0
test eax, eax
je 0x531fd5
mov ecx, eax
call fcn.005319d0
mov dword [ebp - 0x18], eax
test eax, eax
je 0x531fd5
push 8
call fcn.0056f5ce
add esp, 4
mov dword [ebp - 0x1c], eax
push 0x648cb4
mov ecx, eax
mov dword [ebp - 4], 2
call fcn.00545740
mov ebx, eax
mov dword [ebp - 4], 0xffffffff
push 0x5c
mov ecx, ebx
call fcn.00546290
push dword [ebp - 0x18]
mov ecx, ebx
call fcn.00546600
push 1
push 1
push 0
mov edx, ebx
mov ecx, edi
call fcn.00521970
mov dword [esi + 0x24], eax
add esp, 0xc
mov dword [esi + 0x20], 1
call fcn.005313a0
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov al, byte [ebp - 0xd]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov al, cl
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret