Function at 0x429e40
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x591670
mov eax, dword fs:[0]
push eax
push ecx
push ebx
push esi
push edi
mov eax, dword [0x5fb1a0]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 0xc]
mov dword [0x60444c], eax
mov eax, dword [ebp + 0x14]
mov dword [0x604448], eax
mov eax, dword [ebp + 0x10]
push 0
mov dword [0x604444], eax
call fcn.00429530
mov esi, eax
mov dword [ebp - 4], 0
call fcn.0042b730
mov dword [ebp - 4], 0xffffffff
test eax, eax
je 0x42a1e7
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
lea ecx, [ebp + 0x14]
push esi
mov dword [ebp + 0x14], eax
call fcn.00403f20
test al, al
jne 0x429ee9
test esi, esi
jne 0x429ec4
xor ecx, ecx
jmp 0x429edf
mov ecx, esi
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x429ed0
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebp + 0x14]
call fcn.00409f20
push 0x17
call fcn.00429530
mov edx, eax
test edx, edx
jne 0x429efa
xor ecx, ecx
jmp 0x429f0f
mov ecx, edx
lea esi, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x429f00
sub ecx, esi
sar ecx, 1
push ecx
push edx
mov ecx, 0x5ffc54
call fcn.00409f20
push 1
mov dword [0x5ffc30], 0
call fcn.00429530
mov esi, eax
mov dword [ebp - 4], 1
call fcn.0042b730
mov dword [ebp - 4], 0xffffffff
test eax, eax
je 0x42a1e7
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
lea ecx, [ebp + 0xc]
push esi
mov dword [ebp + 0xc], eax
call fcn.00403f20
test al, al
jne 0x429f89
test esi, esi
jne 0x429f6b
xor ecx, ecx
jmp 0x429f7f
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x429f70
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebp + 0xc]
call fcn.00409f20
mov eax, dword [ebp + 0xc]
mov edx, 0x5a431c
mov ecx, eax
mov si, word [ecx]
cmp si, word [edx]
jne 0x429fb9
test si, si
je 0x429fb5
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x429fb9
add ecx, 4
add edx, 4
test si, si
jne 0x429f93
xor edx, edx
jmp 0x429fbe
sbb edx, edx
or edx, 1
xor ecx, ecx
mov dword [ebp - 4], 0xffffffff
test edx, edx
lea edx, [eax - 0x10]
sete cl
or ebx, 0xffffffff
mov dword [0x5ffc2c], ecx
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x429fec
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp + 8]
mov edx, 1
mov ecx, dword [0x5ffc34]
mov dword [0x5ffc28], eax
mov eax, dword [ebp + 0x18]
mov eax, dword [eax]
cmp dword [eax + 0x20], 0
cmovne ecx, edx
mov dword [0x5ffc34], ecx
call fcn.00429c80
mov esi, dword [ebp + 0x14]
test al, al
je 0x42a1c0
cmp dword [0x5ffcec], 0
je 0x42a03f
push ecx
mov ecx, esp
push 0x5a4328
call fcn.00401f40
call fcn.00429ae0
add esp, 4
mov eax, dword [esi - 0xc]
xor edx, edx
test eax, eax
jle 0x42a08d
xor edi, edi
nop word [eax + eax]
test edi, edi
js 0x42a1f6
cmp edx, eax
jg 0x42a1f6
cmp edx, dword [0x5ffcd0]
jge 0x42a1f1
mov eax, dword [0x5ffccc]
xor ecx, ecx
cmp word [esi + edx*2], 0x30
sete cl
inc edx
mov dword [edi + eax + 0x14], ecx
add edi, 0xb8
mov eax, dword [esi - 0xc]
cmp edx, eax
jl 0x42a050
cmp dword [0x5ffcec], 0
je 0x42a0e7
push 0
call fcn.00574a6e
mov ecx, eax
mov edi, edx
mov eax, dword [0x5ffcec]
add esp, 4
cdq
sub ecx, eax
sbb edi, edx
test edi, edi
jg 0x42a1a0
jl 0x42a1a0
cmp ecx, 0x2a2c4
ja 0x42a1a0
test edi, edi
jl 0x42a1a0
jg 0x42a0da
test ecx, ecx
jb 0x42a1a0
push str.__mb_Silent_Install_Builder_Demo_Package.
call fcn.004290c0
add esp, 4
push 0
push 0
push 0x428f30
call fcn.00574c34
add esp, 0xc
mov edi, eax
push 0xffffffffffffffff
push edi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [0x5ffcec], 0
je 0x42a18a
cmp dword [0x5ffc38], 0
je 0x42a193
push 0x96
lea eax, [ebp - 0x10]
mov ecx, 0x5ffc50
push eax
call fcn.0040ff30
lea ecx, [ebp + 0x10]
push dword [eax]
call fcn.0040bc80
mov edx, dword [ebp - 0x10]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x42a153
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push ecx
mov eax, esp
lea ecx, [ebp + 0x10]
push ecx
push 0x5a43bc
push eax
call fcn.0040cf30
add esp, 0xc
call fcn.00417480
mov edx, dword [ebp + 0x10]
add esp, 4
add edx, 0xfffffff0
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x42a18a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp dword [0x5ffc38], 0
jne 0x42a1b9
cmp dword [0x5ffc3c], 0
jne 0x42a1b9
push 0
jmp 0x42a1bb
push str.__mb_Demo_Package_is_expired
call fcn.004290c0
add esp, 4
mov dword [0x5ffc38], 1
jmp 0x42a1c0
push 0xffffffffffffffff
call fcn.00429560
add esi, 0xfffffff0
lock xadd dword [esi + 0xc], ebx
dec ebx
test ebx, ebx
jg 0x42a1d5
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
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 0x80004005
call fcn.00403cc0
call fcn.0042a6ab
push 0x80070057
call fcn.00403cc0
int3