Function at 0x75a73e63
Capabilities:
Create thread

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x438
mov eax, dword [0x75bc8d18]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0x10]
push ebx
push esi
push edi
mov edi, dword [ebp + 0xc]
xor ebx, ebx
mov dword [ebp - 0x428], eax
mov dword [ebp - 0x424], edi
mov dword [ebp - 0x430], ecx
mov esi, 0x759b7ff8
cmp dword [0x75bc8ca8], ebx
je 0x75a73ebe
push ebx
push ebx
push esi
push esi
push esi
push esi
push edi
push eax
push 0x75a742a8
push ebx
push ebx
push 9
call fcn.759c26bf
add esp, 0x30
cmp dword [ebp - 0x430], ebx
je 0x75a74291
cmp edi, 2
je 0x75a73edc
cmp edi, 1
je 0x75a73edc
cmp edi, ebx
jne 0x75a74291
push ebx
mov byte [ebp - 0x41d], bl
call dword [0x75bc847c]
cmp eax, ebx
jl 0x75a73f65
mov byte [ebp - 0x41d], 1
call fcn.75a218b0
mov edi, eax
cmp edi, ebx
je 0x75a7426a
mov eax, dword [edi]
push edi
call dword [eax + 0x70]
lea ecx, [ebp - 0x210]
push ecx
lea ecx, [ebp - 0x438]
push ecx
push dword [ebp - 0x424]
test al, al
push dword [ebp - 0x428]
mov eax, dword [edi]
push edi
setne byte [ebp - 0x429]
mov dword [ebp - 0x438], 1
call dword [eax + 0x58]
mov dword [ebp - 0x428], eax
cmp eax, ebx
je 0x75a73f76
mov eax, dword [edi]
push edi
call dword [eax + 8]
cmp byte [ebp - 0x41d], bl
je 0x75a73f5a
call dword [0x75bc8b6c]
mov eax, dword [ebp - 0x428]
jmp 0x75a74294
cmp eax, 0x80010106
je 0x75a73ef4
mov eax, 0x643
jmp 0x75a74294
push ebx
push dword [ebp - 0x438]
call sym.msi.dll_MsiSetInternalUI
cmp dword [ebp - 0x424], 2
jne 0x75a74032
mov ecx, dword [0x75bcde24]
cmp ecx, ebx
je 0x75a73fa0
push 1
call fcn.75a1d571
push 0x434
call fcn.759c6f57
pop ecx
cmp eax, ebx
je 0x75a73fb9
push ebx
mov ecx, eax
call fcn.75b14bff
jmp 0x75a73fbb
xor eax, eax
mov dword [0x75bcde24], eax
cmp eax, ebx
jne 0x75a73fdf
mov eax, dword [edi]
push edi
call dword [eax + 8]
cmp byte [ebp - 0x41d], bl
je 0x75a73fd8
call dword [0x75bc8b6c]
push 0xe
jmp 0x75a74293
push 0x208
call fcn.759c6f57
pop ecx
mov dword [ebp - 0x424], eax
cmp eax, ebx
je 0x75a73fc4
mov ecx, dword [edi]
lea edx, [ebp - 0x428]
push edx
lea edx, [ebp - 0x434]
push edx
push eax
push edi
call dword [ecx + 0x68]
push dword [ebp - 0x428]
mov ecx, dword [0x75bcde24]
push dword [ebp - 0x434]
push dword [ebp - 0x424]
call fcn.75b14d07
push dword [ebp - 0x424]
call fcn.759c6f79
pop ecx
lea eax, [ebp - 0x210]
push eax
push ebx
push 0x100000
call dword [sym.imp.KERNEL32.dll_OpenEventW]
mov dword [ebp - 0x434], eax
cmp eax, ebx
je 0x75a74246
push 0x759fd378
lea eax, [ebp - 0x210]
push eax
push 0x759fd600
lea eax, [ebp - 0x41c]
push 0x105
push eax
call fcn.759b4c31
add esp, 0x14
test eax, eax
jge 0x75a740b8
cmp dword [0x75bc8ca8], ebx
je 0x75a7409d
push ebx
push ebx
push esi
push esi
push esi
push esi
push esi
push esi
push 0x759fd568
push ebx
push ebx
push 9
call fcn.759c26bf
add esp, 0x30
mov eax, dword [edi]
push edi
call dword [eax + 8]
cmp byte [ebp - 0x41d], bl
je 0x75a740b1
call dword [0x75bc8b6c]
xor eax, eax
jmp 0x75a74294
lea eax, [ebp - 0x41c]
push eax
push ebx
push 0x100000
call dword [sym.imp.KERNEL32.dll_OpenEventW]
mov dword [0x75bceb30], eax
cmp eax, ebx
jne 0x75a740fb
cmp dword [0x75bc8ca8], ebx
je 0x75a740fb
push ebx
push ebx
push esi
push esi
push esi
push esi
push esi
lea eax, [ebp - 0x41c]
push eax
push 0x759fd528
push ebx
push ebx
push 9
call fcn.759c26bf
add esp, 0x30
push 0x759fd380
push 0x105
lea eax, [ebp - 0x210]
push eax
call fcn.759b3d8c
test eax, eax
jge 0x75a7412f
cmp dword [0x75bc8ca8], ebx
je 0x75a7409d
push ebx
push ebx
push esi
push esi
push esi
push esi
push esi
push esi
push 0x759fd4a8
jmp 0x75a74091
lea eax, [ebp - 0x210]
push eax
push ebx
cmp byte [ebp - 0x429], bl
je 0x75a74188
push 0x100002
call dword [sym.imp.KERNEL32.dll_OpenEventW]
mov dword [ebp - 0x424], eax
cmp eax, ebx
jne 0x75a74172
cmp dword [0x75bc8ca8], ebx
je 0x75a7409d
push ebx
push ebx
push esi
push esi
push esi
push esi
push esi
push esi
push 0x759fd3e8
jmp 0x75a74091
mov eax, dword [edi]
push edi
call dword [eax + 0x60]
push 0xffffffffffffffff
push dword [ebp - 0x424]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
jmp 0x75a7419a
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov dword [ebp - 0x424], eax
cmp eax, ebx
je 0x75a74154
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov dword [ebp - 0x428], eax
cmp eax, ebx
je 0x75a74154
call fcn.759c8759
test eax, eax
je 0x75a73fc4
mov eax, dword [ebp - 0x428]
mov ecx, dword [ebp - 0x430]
push 0xc
mov dword [ecx], eax
call fcn.759c6f57
pop ecx
mov dword [ebp - 0x430], eax
cmp eax, ebx
je 0x75a74210
mov ecx, dword [ebp - 0x434]
push ebx
push ebx
push eax
mov dword [eax], ecx
mov ecx, dword [ebp - 0x428]
push 0x75a73779
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x424]
push ebx
push ebx
mov dword [eax + 4], ecx
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [0x75bceb2c], eax
mov eax, dword [ebp - 0x430]
cmp dword [0x75bceb2c], ebx
jne 0x75a7409d
push eax
call fcn.759c6f79
pop ecx
call fcn.759c6f05
cmp dword [0x75bc8ca8], ebx
je 0x75a7409d
push ebx
push ebx
push esi
push esi
push esi
push esi
push esi
push esi
push 0x759fd428
jmp 0x75a74091
cmp dword [0x75bc8ca8], ebx
je 0x75a7409d
push ebx
push ebx
push esi
push esi
push esi
push esi
push esi
lea eax, [ebp - 0x210]
push eax
push 0x759fd528
jmp 0x75a74091
call fcn.75af5e81
movzx esi, al
neg esi
sbb esi, esi
and esi, 0x33
add esi, 0x641
cmp byte [ebp - 0x41d], bl
je 0x75a7428d
call dword [0x75bc8b6c]
mov eax, esi
jmp 0x75a74294
push 0x57
pop eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.759b1748
leave
ret 0xc