Function at 0x484835
Capabilities:
Create thread

Disassembly:
push 0x158
mov eax, 0x50964a
call fcn.004cea37
mov edi, ecx
mov esi, dword [ebp + 8]
lea eax, [edi + 0x254]
push eax
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x40], esi
call fcn.004071c5
xor ebx, ebx
mov dword [ebp - 4], ebx
mov eax, dword [ebp - 0x48]
cmp dword [eax - 0xc], ebx
je 0x4848b9
lea ecx, [ebp - 0x164]
call fcn.0046dda0
push ecx
push dword [ebp - 0x15c]
lea ecx, [ebp - 0x38]
push dword [ebp - 0x160]
push dword [ebp - 0x164]
call fcn.00469990
push ecx
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x24]
call fcn.00469a90
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0x38]
call fcn.00469a50
test eax, eax
js 0x4848b9
mov ecx, edi
call fcn.00484b8f
mov ebx, eax
jmp 0x484b79
lea ecx, [ebp - 0x44]
call fcn.00406bd2
mov byte [ebp - 4], 1
lea ecx, [edi + 0x218]
mov eax, dword [ecx]
cmp dword [eax - 0xc], 0
je 0x4848dc
push ecx
lea ecx, [ebp - 0x44]
call fcn.00446330
mov eax, dword [ebp - 0x44]
cmp dword [eax - 0xc], 0
je 0x4849a1
lea eax, [ebp - 0x44]
mov ecx, edi
push eax
lea eax, [edi + 0x90]
push eax
push esi
call fcn.00485e45
test al, al
je 0x48497d
mov ecx, dword [ebp - 0x44]
call fcn.004913e0
test al, al
jne 0x484985
lea ecx, [ebp - 0x3c]
call fcn.00406bd2
mov byte [ebp - 4], 2
lea eax, [ebp - 0x3c]
push dword [ebp - 0x44]
push 0xf7
push eax
call fcn.0048024f
add esp, 0xc
cmp byte [0x5736d4], 0
je 0x484967
lea ecx, [ebp - 0x40]
call fcn.00406bd2
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x40]
push dword [ebp - 0x3c]
call fcn.0048b7e8
push eax
mov ecx, 0x5736a4
call fcn.004955c1
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 4
call fcn.004068c3
mov byte [ebp - 4], 2
mov dl, 1
lea ecx, [ebp - 0x3c]
call fcn.0048008f
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 1
call fcn.004068c3
or ebx, 0xffffffff
jmp 0x484b6d
lea eax, [ebp - 0x44]
push eax
lea ecx, [edi + 0x1ec]
call fcn.00446330
push esi
mov ecx, edi
call fcn.004862ad
jmp 0x484b6a
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], ebx
push eax
push ecx
mov ecx, edi
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], ebx
call fcn.00484c9f
lea ecx, [ebp - 0x3c]
call fcn.00406bd2
push ebx
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 5
push ecx
lea ecx, [ebp - 0x3c]
push ecx
lea ecx, [edi + 0x30]
call fcn.00488010
lea ecx, [edi + 0x30]
mov ebx, eax
call fcn.00489f2d
test al, al
jne 0x484a2a
xor eax, eax
lea esi, [edi + 0x1d8]
push eax
push eax
push 1
push eax
call dword [sym.imp.KERNEL32.dll_CreateEventW]
push eax
mov ecx, esi
call fcn.004251af
lea eax, [ebp - 0x4c]
push eax
xor eax, eax
push eax
push edi
push 0x484df3
push eax
push eax
call dword [sym.imp.KERNEL32.dll_CreateThread]
push eax
lea ecx, [edi + 0x1d0]
call fcn.004251af
push 0xffffffffffffffff
push dword [esi]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov esi, dword [ebp - 0x40]
lea ecx, [edi + 0x174]
call fcn.0048b7a6
test ebx, ebx
je 0x484a7a
mov ecx, 0x5736ec
call fcn.004961f8
lea eax, [ebp - 0x40]
push eax
lea ecx, [edi + 0x30]
call fcn.00487f78
push eax
push ebx
mov ecx, edi
mov byte [ebp - 4], 6
call fcn.00486425
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 5
call fcn.004068c3
cmp byte [edi + 0x1c8], 0
jne 0x484ad7
and dword [edi + 0xc0], 0
jmp 0x484ad7
push 4
push 0
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x3c]
call fcn.00447ff5
push 0x524318
mov ecx, eax
mov byte [ebp - 4], 7
call fcn.0044808a
mov ebx, eax
mov byte [ebp - 4], 5
neg ebx
lea ecx, [ebp - 0x40]
sbb bl, bl
call fcn.004068c3
add bl, 1
je 0x484abd
push 4
push 0
lea ecx, [ebp - 0x3c]
call fcn.0046a360
lea eax, [ebp - 0x3c]
mov ecx, edi
push eax
lea eax, [edi + 0x90]
push eax
push esi
call fcn.00485e45
test al, al
jne 0x484ae8
or ebx, 0xffffffff
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 1
call fcn.004068c3
jmp 0x484b6d
lea eax, [ebp - 0x3c]
push eax
lea ecx, [edi + 0x1ec]
call fcn.00446330
push esi
mov ecx, edi
call fcn.004862ad
test eax, eax
jne 0x484b3e
mov eax, dword [edi + 0x14]
test eax, eax
je 0x484b18
cmp eax, 0x669
je 0x484b18
cmp eax, 0xbc2
jne 0x484b3e
mov eax, dword [edi + 0x1cc]
cmp dword [eax - 0xc], 0
je 0x484b51
push eax
call dword [sym.imp.msi.dll_MsiRecordGetStringA]
cmp eax, 5
setne al
test al, al
je 0x484b51
and dword [edi + 0xc0], 0
jmp 0x484b51
cmp byte [edi + 0x1c8], 0
jne 0x484b51
mov dword [edi + 0xc0], 4
cmp dword [edi + 0x14], 0x642
jne 0x484b5e
or dword [edi + 0x14], 0xffffffff
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 1
call fcn.004068c3
mov ebx, dword [edi + 0x14]
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0
call fcn.004068c3
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x48]
call fcn.004068c3
mov eax, ebx
call fcn.004ce9e1
ret 4