Function at 0x439ac0
Capabilities:
Check for time delay via gettickcount

Disassembly:
mov eax, 0x54617f
call fcn.0054565c
sub esp, 0x9c
push ebx
push esi
push edi
mov esi, ecx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp eax, 0x5b
ja 0x439ce3
mov ecx, 0x599309bd
leave
inc ecx
dec edx
inc edx
push esp
pushfd
sti
sub esp, edx
push ebp
out 0x67, al
jne 0x439b01
ret
adc al, 0xd1
nop
push ds
add esp, esp
pop es
ljmp 0x3420
push 0x200
lea ecx, [ebp - 0x20]
call fcn.0046f23a
lea eax, [ebp - 0x20]
push eax
push ecx
mov ecx, dword [ebp + 8]
xor ebx, ebx
push str.sessioncode
mov dword [ebp - 4], ebx
call fcn.0046dc01
pop ecx
mov ecx, eax
call int.0046ece4
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x20]
call fcn.0046ef20
xor edi, edi
inc edi
push edi
lea ecx, [ebp - 0x20]
call fcn.0046f23a
lea eax, [ebp - 0x20]
push eax
push ecx
mov ecx, dword [ebp + 8]
push str.publisherid
mov dword [ebp - 4], edi
call fcn.0046dc01
pop ecx
mov ecx, eax
call int.0046ece4
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x20]
call fcn.0046ef20
push ebx
lea ecx, [ebp - 0x40]
call fcn.0046efbb
push 7
lea ecx, [ebp - 0x20]
mov dword [ebp - 4], 2
call fcn.0046efbb
lea eax, [ebp - 0x20]
push eax
push ecx
push str.context
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 3
call fcn.0046dc01
pop ecx
mov ecx, eax
call int.0046ece4
lea eax, [ebp - 0x20]
push eax
push ecx
push str.tracking
lea ecx, [ebp - 0x40]
call fcn.0046dc01
pop ecx
mov ecx, eax
call int.0046ece4
lea eax, [esi + 0x124]
cmp dword [eax + 0x14], 0x10
jb 0x439db0
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x30]
call fcn.0046f462
lea eax, [ebp - 0x30]
push eax
push ecx
push str.osname
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 4
call fcn.0046dc01
pop ecx
mov ecx, eax
call int.0046ece4
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 3
call fcn.0046ef20
push 0x553e58
lea ecx, [ebp - 0x30]
call fcn.0046f462
lea eax, [ebp - 0x30]
push eax
push ecx
push str.details
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 5
call fcn.0046dc01
pop ecx
mov ecx, eax
call int.0046ece4
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 3
call fcn.0046ef20
push ebx
xor eax, eax
mov edi, 0x553ec0
push edi
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x60], 7
mov dword [ebp - 0x64], ebx
mov word [ebp - 0x74], ax
call fcn.00402a1d
sub esp, 0x18
mov ecx, esp
push str.PRODUCTVERSION
mov byte [ebp - 4], 6
call fcn.004018f6
lea eax, [ebp - 0x74]
push eax
lea ecx, [esi + 0xf8]
call fcn.004468d8
push ebx
xor eax, eax
push edi
lea ecx, [ebp - 0x5c]
mov dword [ebp - 0x48], 7
mov dword [ebp - 0x4c], ebx
mov word [ebp - 0x5c], ax
call fcn.00402a1d
sub esp, 0x18
mov ecx, esp
push str.APPSCION_EVENT_MARKER
mov byte [ebp - 4], 7
call fcn.004018f6
lea eax, [ebp - 0x5c]
push eax
lea ecx, [esi + 0xf8]
call fcn.004468d8
call fcn.004ae8cf
lea eax, [ebp - 0x5c]
push eax
lea edx, [ebp - 0x74]
lea ecx, [ebp - 0xa4]
call fcn.00403738
pop ecx
mov byte [ebp - 4], 8
mov edx, eax
lea ecx, [ebp - 0x8c]
call fcn.004ae369
mov byte [ebp - 4], 9
cmp dword [eax + 0x14], 0x10
jb 0x439ecc
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x30]
call fcn.0046f462
lea eax, [ebp - 0x30]
push eax
push ecx
push str.installerVersion
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0xa
call fcn.0046dc01
pop ecx
mov ecx, eax
call int.0046ece4
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 9
call fcn.0046ef20
lea ecx, [ebp - 0x8c]
call fcn.0040187f
push ebx
push 1
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 7
call fcn.004023ba
lea eax, [ebp - 0x40]
push eax
push ecx
mov ecx, dword [ebp + 8]
push str.xtradata
call fcn.0046dc01
pop ecx
mov ecx, eax
call int.0046ece4
push ebx
push 1
lea ecx, [ebp - 0x5c]
call fcn.004023ba
push ebx
push 1
lea ecx, [ebp - 0x74]
call fcn.004023ba
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 2
call fcn.0046ef20
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x40]
call fcn.0046ef20
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret 4