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

Disassembly:
mov eax, 0x546190
call fcn.004c7c10
sub esp, 0x50
push ebx
push esi
push edi
mov edi, ecx
xor esi, esi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x1c], edi
mov dword [edi + 0x9c], esi
call fcn.0043a3bd
cmp eax, esi
jne 0x4390ab
mov ecx, edi
call fcn.00439e2a
jmp 0x4398c2
or ebx, 0xffffffff
cmp eax, ebx
jne 0x4390fa
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x4390e7
dec edx
je 0x4390d4
push esi
push 4
mov ecx, edi
call fcn.004281bc
jmp 0x43920d
push 9
push 0xe
push esi
push 4
mov ecx, edi
call fcn.0042f069
jmp 0x43920d
push esi
push 4
push 0x62
push 0x68
mov ecx, edi
call fcn.00438ec3
jmp 0x43920d
cmp eax, 0xfffffffe
je 0x439115
mov eax, dword [edi + 0x98]
cmp eax, esi
je 0x43913c
push eax
mov ecx, edi
call fcn.0042e83e
test eax, eax
je 0x43913c
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x439134
dec edx
je 0x43912c
push 0xa
jmp 0x4390c6
push 0x13
push 0xe
push 0xa
jmp 0x4390d9
push 0xa
push 4
push 0x6c
jmp 0x4390ec
push 0x6534f4
lea ecx, [ebp - 0x14]
call fcn.0052c9f3
push dword [edi + 0x90]
lea eax, [ebp - 0x18]
mov ecx, edi
mov dword [ebp - 4], esi
push str.SoftwareClassesCLSID_s
push eax
call fcn.0043a647
lea eax, [ebp - 0x14]
mov ecx, edi
push eax
mov byte [ebp - 4], 1
push dword [ebp - 0x18]
call fcn.0043a6a5
cmp eax, ebx
je 0x4391b9
cmp eax, 0xfffffffe
jne 0x4391a4
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x43919c
dec edx
je 0x439194
push 0xa
jmp 0x4391cd
push 0x13
push 0xe
push 0xa
jmp 0x4391dd
push 0xa
push 4
push 0x6c
jmp 0x4391ed
mov eax, dword [ebp - 0x14]
cmp dword [eax - 8], esi
je 0x4391b9
push eax
lea ecx, [edi + 0x70]
call fcn.00428fd3
test eax, eax
je 0x439214
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x4391e8
dec edx
je 0x4391d8
push esi
push 4
mov ecx, edi
call fcn.004281bc
jmp 0x4391f6
push 9
push 0xe
push esi
push 4
mov ecx, edi
call fcn.0042f069
jmp 0x4391f6
push esi
push 4
push 0x62
push 0x68
mov ecx, edi
call fcn.00438ec3
and byte [ebp - 4], 0
lea ecx, [ebp - 0x18]
call fcn.0052c97f
lea ecx, [ebp - 0x14]
mov dword [ebp - 4], ebx
call fcn.0052c97f
mov eax, ebx
jmp 0x4398c4
cmp word [edi + 0x78], 2
jne 0x4398a3
mov eax, edi
mov ecx, edi
cdq
mov ebx, eax
lea eax, [edi + 0x80]
push eax
lea eax, [edi + 0x7c]
push eax
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x50], edx
call fcn.0043a2f3
cmp eax, 0xffffffff
jne 0x439271
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x439266
dec edx
je 0x43925e
push 0xa
jmp 0x43928b
push 0x13
push 0xe
push 0xa
jmp 0x43929f
push 0xa
push 4
push 0x6c
jmp 0x4397a2
cmp eax, 0xfffffffe
jne 0x4392b8
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x4392ad
dec edx
je 0x439299
push 0x14
push 4
mov ecx, edi
call fcn.004281bc
jmp 0x4397ab
push 0x1d
push 0xe
push 0x14
push 4
mov ecx, edi
call fcn.0042f069
jmp 0x4397ab
push 0x14
push 4
push 0x76
jmp 0x4397a2
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
mov byte [ebp - 4], 2
call esi
push 5
xor edx, edx
pop ecx
div ecx
sub edx, 0
je 0x439692
dec edx
je 0x4395bc
dec edx
je 0x4394e7
dec edx
je 0x439410
dec edx
je 0x43933a
call esi
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x439319
dec edx
je 0x439308
push 0xa
push 4
mov ecx, edi
call fcn.004281bc
jmp 0x439328
push 0x13
push 0xe
push 0xa
push 4
mov ecx, edi
call fcn.0042f069
jmp 0x439328
push 0xa
push 4
push 0x6c
push 0x68
mov ecx, edi
call fcn.00438ec3
or dword [ebp - 0x20], 0xffffffff
lea eax, [ebp - 0x20]
push 0x570148
push eax
call fcn.004c857f
lea eax, [ebp - 0x54]
mov ecx, edi
push eax
call fcn.0043aa91
test eax, eax
je 0x439397
call esi
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x439376
dec edx
je 0x439365
push 0xa
push 4
mov ecx, edi
call fcn.004281bc
jmp 0x439385
push 0x13
push 0xe
push 0xa
push 4
mov ecx, edi
call fcn.0042f069
jmp 0x439385
push 0xa
push 4
push 0x6c
push 0x68
mov ecx, edi
call fcn.00438ec3
or dword [ebp - 0x24], 0xffffffff
lea eax, [ebp - 0x24]
push 0x570148
push eax
call fcn.004c857f
call esi
push 0xa
xor edx, edx
pop ecx
div ecx
push 4
pop ebx
cmp edx, ebx
jne 0x439761
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x50]
add eax, 2
adc ecx, 0
cmp eax, dword [ebp - 0x5c]
jne 0x4393c5
cmp ecx, dword [ebp - 0x58]
je 0x439761
call esi
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x4393f0
dec edx
je 0x4393e0
push 0xa
push ebx
mov ecx, edi
call fcn.004281bc
jmp 0x4393fe
push 0x13
push 0xe
push 0xa
push ebx
mov ecx, edi
call fcn.0042f069
jmp 0x4393fe
push 0xa
push ebx
push 0x6c
push 0x68
mov ecx, edi
call fcn.00438ec3
or dword [ebp - 0x28], 0xffffffff
lea eax, [ebp - 0x28]
push 0x570148
push eax
call fcn.004c857f
lea eax, [ebp - 0x54]
push eax
push edi
call fcn.00438add
pop ecx
test eax, eax
pop ecx
je 0x43946e
call esi
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x43944d
dec edx
je 0x43943c
push 0xa
push 4
mov ecx, edi
call fcn.004281bc
jmp 0x43945c
push 0x13
push 0xe
push 0xa
push 4
mov ecx, edi
call fcn.0042f069
jmp 0x43945c
push 0xa
push 4
push 0x6c
push 0x68
mov ecx, edi
call fcn.00438ec3
or dword [ebp - 0x2c], 0xffffffff
lea eax, [ebp - 0x2c]
push 0x570148
push eax
call fcn.004c857f
call esi
push 0xa
xor edx, edx
pop ecx
div ecx
cmp edx, 3
jne 0x43975e
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x50]
add eax, 2
adc ecx, 0
cmp eax, ebx
jne 0x439499
cmp ecx, dword [ebp - 0x58]
je 0x43975e
call esi
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x4394c6
dec edx
je 0x4394b5
push 0xa
push 4
mov ecx, edi
call fcn.004281bc
jmp 0x4394d5
push 0x13
push 0xe
push 0xa
push 4
mov ecx, edi
call fcn.0042f069
jmp 0x4394d5
push 0xa
push 4
push 0x6c
push 0x68
mov ecx, edi
call fcn.00438ec3
or dword [ebp - 0x30], 0xffffffff
lea eax, [ebp - 0x30]
push 0x570148
push eax
call fcn.004c857f
lea eax, [ebp - 0x54]
mov ecx, edi
push eax
call fcn.00439b27
test eax, eax
je 0x439544
call esi
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x439523
dec edx
je 0x439512
push 0xa
push 4
mov ecx, edi
call fcn.004281bc
jmp 0x439532
push 0x13
push 0xe
push 0xa
push 4
mov ecx, edi
call fcn.0042f069
jmp 0x439532
push 0xa
push 4
push 0x6c
push 0x68
mov ecx, edi
call fcn.00438ec3
or dword [ebp - 0x34], 0xffffffff
lea eax, [ebp - 0x34]
push 0x570148
push eax
call fcn.004c857f
call esi
push 0xa
xor edx, edx
pop ecx
div ecx
cmp edx, 2
jne 0x43975e
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x50]
add eax, edx
adc ecx, 0
cmp eax, ebx
jne 0x43956e
cmp ecx, dword [ebp - 0x58]
je 0x43975e
call esi
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x43959b
dec edx
je 0x43958a
push 0xa
push 4
mov ecx, edi
call fcn.004281bc
jmp 0x4395aa
push 0x13
push 0xe
push 0xa
push 4
mov ecx, edi
call fcn.0042f069
jmp 0x4395aa
push 0xa
push 4
push 0x6c
push 0x68
mov ecx, edi
call fcn.00438ec3
or dword [ebp - 0x38], 0xffffffff
lea eax, [ebp - 0x38]
push 0x570148
push eax
call fcn.004c857f
lea eax, [ebp - 0x54]
mov ecx, edi
push eax
call fcn.004398d3
test eax, eax
je 0x439619
call esi
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x4395f8
dec edx
je 0x4395e7
push 0xa
push 4
mov ecx, edi
call fcn.004281bc
jmp 0x439607
push 0x13
push 0xe
push 0xa
push 4
mov ecx, edi
call fcn.0042f069
jmp 0x439607
push 0xa
push 4
push 0x6c
push 0x68
mov ecx, edi
call fcn.00438ec3
or dword [ebp - 0x3c], 0xffffffff
lea eax, [ebp - 0x3c]
push 0x570148
push eax
call fcn.004c857f
call esi
push 0xa
xor edx, edx
pop ecx
div ecx
cmp edx, 1
jne 0x43975e
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x50]
add eax, 2
adc ecx, 0
cmp eax, ebx
jne 0x439644
cmp ecx, dword [ebp - 0x58]
je 0x43975e
call esi
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x439671
dec edx
je 0x439660
push 0xa
push 4
mov ecx, edi
call fcn.004281bc
jmp 0x439680
push 0x13
push 0xe
push 0xa
push 4
mov ecx, edi
call fcn.0042f069
jmp 0x439680
push 0xa
push 4
push 0x6c
push 0x68
mov ecx, edi
call fcn.00438ec3
or dword [ebp - 0x40], 0xffffffff
lea eax, [ebp - 0x40]
push 0x570148
push eax
call fcn.004c857f
lea eax, [ebp - 0x54]
mov ecx, edi
push eax
call fcn.0043aa91
test eax, eax
je 0x4396ef
call esi
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x4396ce
dec edx
je 0x4396bd
push 0xa
push 4
mov ecx, edi
call fcn.004281bc
jmp 0x4396dd
push 0x13
push 0xe
push 0xa
push 4
mov ecx, edi
call fcn.0042f069
jmp 0x4396dd
push 0xa
push 4
push 0x6c
push 0x68
mov ecx, edi
call fcn.00438ec3
or dword [ebp - 0x44], 0xffffffff
lea eax, [ebp - 0x44]
push 0x570148
push eax
call fcn.004c857f
call esi
push 0xa
xor edx, edx
pop ecx
div ecx
test edx, edx
jne 0x43975e
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x50]
add eax, 2
adc ecx, edx
cmp eax, ebx
jne 0x439710
cmp ecx, dword [ebp - 0x58]
je 0x43975e
call esi
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x43973d
dec edx
je 0x43972c
push 0xa
push 4
mov ecx, edi
call fcn.004281bc
jmp 0x43974c
push 0x13
push 0xe
push 0xa
push 4
mov ecx, edi
call fcn.0042f069
jmp 0x43974c
push 0xa
push 4
push 0x6c
push 0x68
mov ecx, edi
call fcn.00438ec3
or dword [ebp - 0x48], 0xffffffff
lea eax, [ebp - 0x48]
push 0x570148
push eax
call fcn.004c857f
push 4
pop ebx
test byte [edi + 0x2c], 0x10
mov dword [ebp - 4], 1
je 0x4397d2
mov ecx, edi
call fcn.00428ed0
cmp eax, 0xffffffff
jne 0x4397cd
call esi
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x43979d
dec edx
je 0x439791
push 0
push ebx
jmp 0x43928d
push 9
push 0xe
push 0
push ebx
jmp 0x4392a1
push 0
push ebx
push 0x62
push 0x68
mov ecx, edi
call fcn.00438ec3
or esi, 0xffffffff
and byte [ebp - 4], 0
lea ecx, [ebp - 0x18]
call fcn.0052c97f
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.0052c97f
mov eax, esi
jmp 0x4398c4
cmp eax, 0xfffffffe
je 0x4397fc
call esi
push 3
xor edx, edx
pop ecx
div ecx
test edx, edx
jne 0x4398a3
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x50]
add eax, 2
adc ecx, edx
cmp eax, dword [ebp - 0x5c]
jne 0x4397fc
cmp ecx, dword [ebp - 0x58]
je 0x4398a3
call esi
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x439827
dec edx
je 0x439817
push 0xa
push ebx
mov ecx, edi
call fcn.004281bc
jmp 0x439835
push 0x13
push 0xe
push 0xa
push ebx
mov ecx, edi
call fcn.0042f069
jmp 0x439835
push 0xa
push ebx
push 0x6c
push 0x68
mov ecx, edi
call fcn.00438ec3
and byte [ebp - 4], 0
lea ecx, [ebp - 0x18]
call fcn.0052c97f
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.0052c97f
or eax, 0xffffffff
jmp 0x4398c4
mov ecx, edi
call fcn.00439e2a
and byte [ebp - 4], 0
lea ecx, [ebp - 0x18]
call fcn.0052c97f
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.0052c97f
xor eax, eax
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret