Function at 0x4298b0
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x58cc6d
mov eax, dword fs:[0]
push eax
sub esp, 0xc
push esi
push edi
mov eax, dword [0x5f31c0]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 4], 0
push 1
mov dword [0x5f7b90], 0
call fcn.00429540
mov esi, eax
mov byte [ebp - 4], 2
call fcn.0042b4c7
mov ecx, eax
mov byte [ebp - 4], 1
test ecx, ecx
je 0x429bc5
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.00403ed0
test al, al
jne 0x42994a
test esi, esi
jne 0x42992c
xor ecx, ecx
jmp 0x429940
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x429931
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebp - 0x10]
call fcn.00409f30
mov eax, dword [ebp - 0x10]
mov edx, 0x59f2d0
mov ecx, eax
mov si, word [ecx]
cmp si, word [edx]
jne 0x42997a
test si, si
je 0x429976
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x42997a
add ecx, 4
add edx, 4
test si, si
jne 0x429954
xor edx, edx
jmp 0x42997f
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 [0x5f7b8c], ecx
mov eax, edi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4299aa
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea eax, [ebp + 8]
push 0x59f2d4
push eax
call fcn.00411810
add esp, 8
test al, al
je 0x4299c9
mov dword [0x5f7b94], 1
call fcn.00429f40
test al, al
je 0x429b82
cmp dword [0x5f7c20], 0
je 0x4299f4
push ecx
mov ecx, esp
push 0x59f2dc
call fcn.00401f10
call fcn.00429da0
add esp, 4
mov eax, dword [ebp + 0xc]
xor ecx, ecx
cmp dword [eax - 0xc], ecx
jle 0x429a3f
xor esi, esi
test ecx, ecx
js 0x429bd4
cmp ecx, dword [eax - 0xc]
jg 0x429bd4
xor edx, edx
cmp word [eax + ecx*2], 0x30
sete dl
cmp ecx, dword [0x5f7c04]
jge 0x429bcf
mov eax, dword [0x5f7c00]
inc ecx
mov dword [esi + eax + 0x14], edx
add esi, 0xb8
mov eax, dword [ebp + 0xc]
cmp ecx, dword [eax - 0xc]
jl 0x429a00
cmp dword [0x5f7c20], 0
je 0x429a99
push 0
call fcn.005729a3
mov ecx, eax
mov esi, edx
mov eax, dword [0x5f7c20]
add esp, 4
cdq
sub ecx, eax
sbb esi, edx
test esi, esi
jg 0x429b62
jl 0x429b62
cmp ecx, 0x2a2c4
ja 0x429b62
test esi, esi
jl 0x429b62
jg 0x429a8c
test ecx, ecx
jb 0x429b62
push str.__mb_Silent_Install_Builder_Demo_Package.
call fcn.00428fe0
add esp, 4
push 0
push 0
push 0x428e50
call fcn.00572b41
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 [0x5f7c20], 0
je 0x429b4c
cmp dword [0x5f7b98], 0
je 0x429b55
push 0x96
lea eax, [ebp - 0x14]
mov ecx, 0x5f7bb0
push eax
call fcn.0040ff80
push dword [eax]
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 5
call fcn.0040bc90
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 0x429b15
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 0x59f374
push eax
call fcn.0040cf50
add esp, 0xc
call fcn.004175c0
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 0x429b4c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp dword [0x5f7b98], 0
jne 0x429b7b
cmp dword [0x5f7b9c], 0
jne 0x429b7b
push 0
jmp 0x429b7d
push str.__mb_Demo_Package_is_expired
call fcn.00428fe0
add esp, 4
mov dword [0x5f7b98], 1
jmp 0x429b82
push 0xffffffffffffffff
call fcn.00429570
mov edx, dword [ebp + 8]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x429b9c
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 0x429bb4
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.00403c70
call fcn.0042a442
push 0x80070057
call fcn.00403c70
int3