Function at 0x4295e0
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x59157d
mov eax, dword fs:[0]
push eax
sub esp, 0xc
push esi
push edi
mov eax, dword [0x5fb1a0]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 4], 0
push 1
mov dword [0x5ffc30], 0
call fcn.00429530
mov esi, eax
mov byte [ebp - 4], 2
call fcn.0042b730
mov ecx, eax
mov byte [ebp - 4], 1
test ecx, ecx
je 0x4298fd
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x10], eax
push esi
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 3
call fcn.00403f20
test al, al
jne 0x42967a
test esi, esi
jne 0x42965c
xor ecx, ecx
jmp 0x429670
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x429661
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebp - 0x10]
call fcn.00409f20
mov eax, dword [ebp - 0x10]
mov edx, 0x5a431c
mov ecx, eax
mov si, word [ecx]
cmp si, word [edx]
jne 0x4296aa
test si, si
je 0x4296a6
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x4296aa
add ecx, 4
add edx, 4
test si, si
jne 0x429684
xor edx, edx
jmp 0x4296af
sbb edx, edx
or edx, 1
xor ecx, ecx
mov byte [ebp - 4], 1
test edx, edx
lea edx, [eax - 0x10]
sete cl
or edi, 0xffffffff
mov dword [0x5ffc2c], ecx
mov eax, edi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4296da
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea eax, [ebp + 8]
push 0x5a4320
push eax
call fcn.00411770
mov ecx, dword [0x5ffc34]
add esp, 8
test al, al
mov edx, 1
cmovne ecx, edx
mov dword [0x5ffc34], ecx
call fcn.00429c80
test al, al
je 0x4298ba
cmp dword [0x5ffcec], 0
je 0x42972c
push ecx
mov ecx, esp
push 0x5a4328
call fcn.00401f40
call fcn.00429ae0
add esp, 4
mov eax, dword [ebp + 0xc]
xor ecx, ecx
cmp dword [eax - 0xc], ecx
jle 0x429777
xor esi, esi
test ecx, ecx
js 0x42990c
cmp ecx, dword [eax - 0xc]
jg 0x42990c
xor edx, edx
cmp word [eax + ecx*2], 0x30
sete dl
cmp ecx, dword [0x5ffcd0]
jge 0x429907
mov eax, dword [0x5ffccc]
inc ecx
mov dword [esi + eax + 0x14], edx
add esi, 0xb8
mov eax, dword [ebp + 0xc]
cmp ecx, dword [eax - 0xc]
jl 0x429738
cmp dword [0x5ffcec], 0
je 0x4297d1
push 0
call fcn.00574a6e
mov ecx, eax
mov esi, edx
mov eax, dword [0x5ffcec]
add esp, 4
cdq
sub ecx, eax
sbb esi, edx
test esi, esi
jg 0x42989a
jl 0x42989a
cmp ecx, 0x2a2c4
ja 0x42989a
test esi, esi
jl 0x42989a
jg 0x4297c4
test ecx, ecx
jb 0x42989a
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 esi, eax
push 0xffffffffffffffff
push esi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [0x5ffcec], 0
je 0x429884
cmp dword [0x5ffc38], 0
je 0x42988d
push 0x96
lea eax, [ebp - 0x14]
mov ecx, 0x5ffc50
push eax
call fcn.0040ff30
push dword [eax]
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 5
call fcn.0040bc80
mov edx, dword [ebp - 0x14]
mov eax, edi
mov byte [ebp - 4], 7
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x42984d
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, edi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x429884
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp dword [0x5ffc38], 0
jne 0x4298b3
cmp dword [0x5ffc3c], 0
jne 0x4298b3
push 0
jmp 0x4298b5
push str.__mb_Demo_Package_is_expired
call fcn.004290c0
add esp, 4
mov dword [0x5ffc38], 1
jmp 0x4298ba
push 0xffffffffffffffff
call fcn.00429560
mov edx, dword [ebp + 8]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4298d4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp + 0xc]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], edi
dec edi
test edi, edi
jg 0x4298ec
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
push 0x80004005
call fcn.00403cc0
call fcn.0042a6ab
push 0x80070057
call fcn.00403cc0
int3