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

Disassembly:
mov eax, 0x546117
call fcn.0054565c
sub esp, 0xc4
push ebx
push esi
push edi
mov edi, ecx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp eax, 0xb
ja 0x43925a
ficomp word [eax + esi*8]
jns 0x439021
jb 0x439093
xor ah, byte [eax + 0x71]
fdiv qword [edx + 0x1d]
add eax, 0x743a9203
movsb byte es:[edi], byte [esi]
sub al, byte [ecx + 0x33]
sub al, 0x84
mov dword [0x9f5139fe], eax
daa
movsb byte es:[edi], byte [esi]
lcall 0x937c, 0xf9bf2f65
fisttp dword [eax]
popal
call 0x2ab4aa97
xor ebp, dword [ecx]
or byte [edx + 0x31], dl
adc bl, ch
cmp edx, 0x1bea55e3
stosd dword es:[edi], eax
ret
jecxz 0x4390ea
ljmp 0xc9e:0x8fc3ab1b
xchg byte [edx], ch
inc edi
inc esi
test ebp, 0x879143e9
xor dh, dh
or ebx, dword [ecx - 0x6e069f44]
iretd
xor edx, edx
xor eax, eax
mov dword [ebp - 0x5c], 7
mov dword [ebp - 0x60], edx
mov word [ebp - 0x70], ax
lea eax, [edi + 0x5c]
lea ecx, [ebp - 0x70]
mov dword [ebp - 4], edx
cmp ecx, eax
je 0x439282
push 0xffffffffffffffff
push edx
push eax
call fcn.00402200
mov eax, dword [edi + 0x54]
mov ebx, dword [edi + 0x58]
cmp dword [eax - 0xc], 0
jne 0x4392a7
push 0x553ec8
call fcn.0041b53d
pop ecx
push eax
push 0x553ec8
lea ecx, [edi + 0x54]
call fcn.00402590
cmp dword [ebp - 0x60], 0
mov esi, dword [edi + 0x4c]
mov dword [ebp - 0x44], esi
jne 0x4392cc
push 0x5541b0
call fcn.0041b53d
pop ecx
push eax
push 0x5541b0
lea ecx, [ebp - 0x70]
call fcn.00402a1d
push 0
lea ecx, [ebp - 0x58]
call fcn.0046efbb
xor eax, eax
cmp byte [ebp + 8], al
lea ecx, [ebp - 0x20]
setne al
push eax
call fcn.0046f23a
lea eax, [ebp - 0x20]
push eax
push ecx
push str.stage
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 2
call fcn.0046dc01
pop ecx
mov ecx, eax
call int.0046ece4
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 1
call fcn.0046ef20
push esi
lea ecx, [ebp - 0x20]
call fcn.0046f23a
lea eax, [ebp - 0x20]
push eax
push ecx
push str.installType
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 3
call fcn.0046dc01
pop ecx
mov ecx, eax
call int.0046ece4
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 1
call fcn.0046ef20
xor eax, eax
cmp byte [edi + 0x121], al
lea ecx, [ebp - 0x20]
setne al
push eax
call fcn.0046f23a
lea eax, [ebp - 0x20]
push eax
push ecx
push str.is64bits
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 4
call fcn.0046dc01
pop ecx
mov ecx, eax
call int.0046ece4
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 1
call fcn.0046ef20
xor eax, eax
cmp byte [edi + 0x122], al
lea ecx, [ebp - 0x20]
setne al
push eax
call fcn.0046f23a
lea eax, [ebp - 0x20]
push eax
push ecx
push str.isAdmin
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 5
call fcn.0046dc01
pop ecx
mov ecx, eax
call int.0046ece4
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 1
call fcn.0046ef20
and dword [ebp - 0xa8], 0
xor eax, eax
push eax
push 0x553ec0
lea ecx, [ebp - 0xb8]
mov dword [ebp - 0xa4], 7
mov word [ebp - 0xb8], ax
call fcn.00402a1d
sub esp, 0x18
mov ecx, esp
push str.PRODUCTVERSION
mov byte [ebp - 4], 6
call fcn.004018f6
lea eax, [ebp - 0xb8]
lea esi, [edi + 0xf8]
push eax
mov ecx, esi
call fcn.004468d8
and dword [ebp - 0x90], 0
xor eax, eax
push eax
push 0x553ec0
lea ecx, [ebp - 0xa0]
mov dword [ebp - 0x8c], 7
mov word [ebp - 0xa0], 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 - 0xa0]
push eax
mov ecx, esi
call fcn.004468d8
call fcn.004ae8cf
lea eax, [ebp - 0xa0]
push eax
lea edx, [ebp - 0xb8]
lea ecx, [ebp - 0x88]
call fcn.00403738
pop ecx
mov edx, eax
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 8
call fcn.004ae369
mov byte [ebp - 4], 9
cmp dword [eax + 0x14], 0x10
jb 0x439496
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x20]
call fcn.0046f462
lea eax, [ebp - 0x20]
push eax
push ecx
push str.appVersion
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0xa
call fcn.0046dc01
pop ecx
mov ecx, eax
call int.0046ece4
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 9
call fcn.0046ef20
lea ecx, [ebp - 0x40]
call fcn.0040187f
push 0
push 1
lea ecx, [ebp - 0x88]
call fcn.004023ba
xor eax, eax
cmp byte [ebp + 0xc], al
lea ecx, [ebp - 0x20]
setne al
push eax
call fcn.0046f23a
lea eax, [ebp - 0x20]
push eax
push ecx
push str.restart
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0xb
call fcn.0046dc01
pop ecx
mov ecx, eax
call int.0046ece4
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 7
call fcn.0046ef20
sub esp, 0x18
lea eax, [edi + 0x124]
mov ecx, esp
push eax
call fcn.004017cf
lea eax, [ebp - 0xd0]
push eax
call fcn.00439f75
mov byte [ebp - 4], 0xc
cmp dword [ebp - 0xbc], 0x10
lea eax, [ebp - 0xd0]
cmovae eax, dword [ebp - 0xd0]
push eax
lea ecx, [ebp - 0x20]
call fcn.0046f462
lea eax, [ebp - 0x20]
push eax
push ecx
push str.osName
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0xd
call fcn.0046dc01
pop ecx
mov ecx, eax
call int.0046ece4
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0xc
call fcn.0046ef20
cmp byte [ebp + 8], 0
lea ecx, [ebp - 0x20]
jne 0x439631
push 0xffffffffffffffff
call fcn.0046f23a
lea eax, [ebp - 0x20]
push eax
push ecx
push str.status
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0xe
call fcn.0046dc01
pop ecx
mov ecx, eax
call int.0046ece4
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0xc
call fcn.0046ef20
push 0
lea ecx, [ebp - 0x20]
call fcn.0046f23a
lea eax, [ebp - 0x20]
push eax
push ecx
push str.error
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0xf
call fcn.0046dc01
pop ecx
mov ecx, eax
call int.0046ece4
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0xc
call fcn.0046ef20
push 0x554214
lea ecx, [ebp - 0x20]
call fcn.0046f462
lea eax, [ebp - 0x20]
push eax
push ecx
push 0x55420c
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x10
call fcn.0046dc01
pop ecx
mov ecx, eax
call int.0046ece4
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0xc
call fcn.0046ef20
jmp 0x4396fc
xor eax, eax
test ebx, ebx
setne al
push eax
call fcn.0046f23a
lea eax, [ebp - 0x20]
push eax
push ecx
push str.status
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x11
call fcn.0046dc01
pop ecx
mov ecx, eax
call int.0046ece4
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0xc
call fcn.0046ef20
push ebx
lea ecx, [ebp - 0x20]
call fcn.0046f23a
lea eax, [ebp - 0x20]
push eax
push ecx
push str.error
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x12
call fcn.0046dc01
pop ecx
mov ecx, eax
call int.0046ece4
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0xc
call fcn.0046ef20
call fcn.004ae8cf
lea edx, [ebp - 0x70]
lea ecx, [ebp - 0x88]
call fcn.004ae369
mov byte [ebp - 4], 0x13
cmp dword [eax + 0x14], 0x10
jb 0x4396ba
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x20]
call fcn.0046f462
lea eax, [ebp - 0x20]
push eax
push ecx
push 0x55420c
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x14
call fcn.0046dc01
pop ecx
mov ecx, eax
call int.0046ece4
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0x13
call fcn.0046ef20
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0xc
call fcn.0040187f
sub esp, 0x18
mov eax, ebx
cdq
mov ecx, esp
mov dword [ebp - 0x24], esp
push edx
push eax
call fcn.004011dc
sub esp, 0x10
mov ecx, esp
push str.error_code
mov byte [ebp - 4], 0x15
call fcn.004017f5
lea ecx, [edi + 0x7c]
mov byte [ebp - 4], 0xc
call fcn.0044764d
add esp, 0x18
lea eax, [ebp - 0x70]
mov ecx, esp
mov dword [ebp - 0x28], esp
push eax
call fcn.004018ce
sub esp, 0x18
mov ecx, esp
push str.errorFN
mov byte [ebp - 4], 0x16
call fcn.004018f6
lea ecx, [edi + 0x7c]
mov byte [ebp - 4], 0xc
call fcn.0044739a
add esp, 0x30
cmp byte [ebp + 8], 0
jne 0x439773
cmp byte [edi + 0x120], 0
jne 0x4397fc
lea eax, [ebp - 0x58]
push eax
push ecx
lea eax, [ebp - 0x88]
push eax
lea ecx, [edi + 0xbc]
call fcn.00462451
lea ecx, [ebp - 0x88]
call fcn.0040187f
cmp byte [ebp + 8], 0
jne 0x4397a4
cmp byte [edi + 0x120], 0
jne 0x4397fc
sub esp, 0x18
mov ecx, esp
push str.OLDINSTALLEVENT
call fcn.004018f6
lea ecx, [edi + 0xf8]
call fcn.00445912
push ecx
test al, al
mov ecx, esp
lea eax, [ebp - 0x70]
je 0x4397de
cmp dword [ebp - 0x5c], 8
cmovae eax, dword [ebp - 0x70]
push eax
call fcn.00401a3b
push dword [ebp - 0x44]
push ebx
push 0
jmp 0x4397f2
cmp dword [ebp - 0x5c], 8
cmovae eax, dword [ebp - 0x70]
push eax
call fcn.00401a3b
push dword [ebp - 0x44]
push ebx
push 1
push dword [ebp + 8]
mov ecx, edi
call int.00475964
cmp byte [ebp + 0x10], 0
je 0x439a70
push 0
lea ecx, [ebp - 0x20]
call fcn.0046efbb
lea eax, [ebp - 0x20]
push eax
mov ecx, edi
mov byte [ebp - 4], 0x17
call fcn.00439ac0
cmp byte [edi + 0x48], 0
lea ecx, [ebp - 0x38]
je 0x439881
push 0xf424c
call fcn.0046f23a
lea eax, [ebp - 0x38]
push eax
push ecx
push str.eventType
push ecx
mov esi, str.xtradata
push esi
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0x18
call fcn.0046dc01
pop ecx
mov ecx, eax
call fcn.0046dc01
pop ecx
mov ecx, eax
call int.0046ece4
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x17
call fcn.0046ef20
push 0x55426c
lea ecx, [ebp - 0x38]
call fcn.0046f462
mov byte [ebp - 4], 0x19
jmp 0x439931
cmp byte [ebp + 8], 0
je 0x4398dd
push 0xf424b
call fcn.0046f23a
lea eax, [ebp - 0x38]
push eax
push ecx
push str.eventType
push ecx
mov esi, str.xtradata
push esi
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0x1a
call fcn.0046dc01
pop ecx
mov ecx, eax
call fcn.0046dc01
pop ecx
mov ecx, eax
call int.0046ece4
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x17
call fcn.0046ef20
push str.end_install
lea ecx, [ebp - 0x38]
call fcn.0046f462
mov byte [ebp - 4], 0x1b
jmp 0x439931
push 0xf424a
call fcn.0046f23a
lea eax, [ebp - 0x38]
push eax
push ecx
push str.eventType
push ecx
mov esi, str.xtradata
push esi
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0x1c
call fcn.0046dc01
pop ecx
mov ecx, eax
call fcn.0046dc01
pop ecx
mov ecx, eax
call int.0046ece4
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x17
call fcn.0046ef20
push str.start_install
lea ecx, [ebp - 0x38]
call fcn.0046f462
mov byte [ebp - 4], 0x1d
lea eax, [ebp - 0x38]
push eax
push ecx
push str.eventName
push ecx
push esi
lea ecx, [ebp - 0x20]
call fcn.0046dc01
pop ecx
mov ecx, eax
call fcn.0046dc01
pop ecx
mov ecx, eax
call int.0046ece4
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x17
call fcn.0046ef20
cmp byte [ebp + 0xc], 0
mov ecx, str.restart0
mov eax, str.restart1
cmove eax, ecx
push eax
lea ecx, [ebp - 0x38]
call fcn.0046f462
lea eax, [ebp - 0x38]
push eax
push ecx
push str.details
push ecx
push esi
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0x1e
call fcn.0046dc01
pop ecx
mov ecx, eax
call fcn.0046dc01
pop ecx
mov ecx, eax
call int.0046ece4
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x17
call fcn.0046ef20
push ebx
lea ecx, [ebp - 0x38]
call fcn.0046f23a
lea eax, [ebp - 0x38]
push eax
push ecx
push str.crashId
push ecx
push esi
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0x1f
call fcn.0046dc01
pop ecx
mov ecx, eax
call fcn.0046dc01
pop ecx
mov ecx, eax
call int.0046ece4
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x17
call fcn.0046ef20
xor ebx, ebx
push ebx
push dword [ebp - 0x44]
lea ecx, [ebp - 0x88]
call fcn.004011dc
pop ecx
pop ecx
mov byte [ebp - 4], 0x20
cmp dword [eax + 0x14], 0x10
jb 0x439a0b
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x38]
call fcn.0046f462
lea eax, [ebp - 0x38]
push eax
push ecx
push str.exceptionCode
push ecx
push esi
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0x21
call fcn.0046dc01
pop ecx
mov ecx, eax
call fcn.0046dc01
pop ecx
mov ecx, eax
call int.0046ece4
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x20
call fcn.0046ef20
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0x17
call fcn.0040187f
lea eax, [ebp - 0x20]
push eax
mov ecx, edi
call fcn.00438e3b
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0xc
call fcn.0046ef20
jmp 0x439a72
xor ebx, ebx
lea ecx, [ebp - 0xd0]
call fcn.0040187f
push ebx
push 1
lea ecx, [ebp - 0xa0]
call fcn.004023ba
push ebx
push 1
lea ecx, [ebp - 0xb8]
call fcn.004023ba
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], bl
call fcn.0046ef20
push ebx
push 1
lea ecx, [ebp - 0x70]
call fcn.004023ba
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret 0xc