Function at 0x437020
Capabilities:
Check for time delay via gettickcount
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x470c90
push 0x408860
mov eax, dword fs:[0]
push eax
sub esp, 0x298
mov eax, dword [0x474534]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x1c], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0x10]
mov dword fs:[0], eax
xor edi, edi
push 0xfa
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
xor esi, esi
lea esp, [esp]
mov eax, 0xaaaaaaab
mul esi
shr edx, 1
lea ecx, [edx + edx*2]
mov edx, esi
sub edx, ecx
cmp edx, 1
jne 0x437089
and edi, esi
jmp 0x43709f
mov eax, 1
mov ebx, 2
mov ecx, 3
mov edx, 4
or edi, esi
add esi, 1
cmp esi, 0x29
jl 0x437070
xor esi, esi
lea esp, [esp]
mov eax, 0xaaaaaaab
mul esi
shr edx, 1
lea eax, [edx + edx*2]
mov ecx, esi
sub ecx, eax
cmp ecx, 1
jne 0x4370c9
and edi, esi
jmp 0x4370df
mov eax, 1
mov ebx, 2
mov ecx, 3
mov edx, 4
or edi, esi
add esi, 1
cmp esi, 0x1e
jl 0x4370b0
xor esi, esi
mov ebx, dword [sym.imp.KERNEL32.dll_GetTickCount]
nop
call ebx
mov ecx, eax
mov eax, 0xaaaaaaab
mul ecx
shr edx, 1
lea edx, [edx + edx*2]
sub ecx, edx
jne 0x437cf7
add edi, 0x1a
jmp 0x437110
mov eax, 0xcccccccd
mul ecx
shr edx, 2
lea edx, [edx + edx*4]
mov eax, ecx
sub eax, edx
cmp eax, 2
je 0x43712f
cmp eax, 3
je 0x43712f
xor edi, ecx
jmp 0x437134
mov eax, ecx
imul edi, eax
add ecx, 1
cmp ecx, 0x1f
jl 0x437110
lea ecx, [ebp - 0x270]
push ecx
push 0x460da0
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
xor esi, esi
call ebx
mov ecx, eax
mov eax, 0xaaaaaaab
mul ecx
shr edx, 1
lea edx, [edx + edx*2]
sub ecx, edx
jne 0x437cea
add edi, 0x14
xor esi, esi
lea ecx, [ecx]
call ebx
mov ecx, eax
mov eax, 0xaaaaaaab
mul ecx
shr edx, 1
lea eax, [edx + edx*2]
sub ecx, eax
jne 0x437cdd
add edi, 0x19
xor esi, esi
mov dword [ebp - 4], esi
mov dword [ebp - 0x298], esi
cmp esi, 0x10
jge 0x4371cd
mov eax, 0x55555556
imul esi
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*2]
mov edx, esi
sub edx, ecx
cmp edx, 1
jne 0x4371bf
mov eax, ebx
nop
mov ecx, edx
nop
add esi, edx
jmp 0x437190
add edi, 1
mov dword [ebp - 0x274], edi
add esi, 1
jmp 0x437190
mov dword [ebp - 4], 0xfffffffe
call fcn.004371ff
xor ecx, ecx
jmp 0x4371e0
mov eax, 0xcccccccd
mul ecx
shr edx, 2
lea edx, [edx + edx*4]
mov eax, ecx
sub eax, edx
cmp eax, 2
je 0x43720b
cmp eax, 3
je 0x43720b
xor esi, ecx
jmp 0x437210
mov eax, ecx
imul esi, eax
add ecx, 1
cmp ecx, 4
jl 0x4371e0
lea ecx, [ebp - 0x270]
push ecx
push 0x460da8
mov edi, dword [sym.imp.KERNEL32.dll_FindFirstFileW]
call edi
xor ecx, ecx
mov edi, edi
mov eax, 0xcccccccd
mul ecx
shr edx, 2
lea edx, [edx + edx*4]
mov eax, ecx
sub eax, edx
cmp eax, 2
je 0x43724f
cmp eax, 3
je 0x43724f
xor esi, ecx
jmp 0x437254
mov eax, ecx
imul esi, eax
add ecx, 1
cmp ecx, 4
jl 0x437230
lea ecx, [ebp - 0x270]
push ecx
push 0x460db0
call edi
mov esi, 0x11
nop
nop
nop
push 0xfa
lea edx, [ebp - 0x218]
push edx
mov edi, dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
call edi
xor ecx, ecx
jmp 0x437290
mov eax, 0xcccccccd
mul ecx
shr edx, 2
lea edx, [edx + edx*4]
mov eax, ecx
sub eax, edx
cmp eax, 1
je 0x4372af
cmp eax, 4
je 0x4372af
and esi, ecx
jmp 0x4372b1
sub esi, ecx
add ecx, 1
cmp ecx, 2
jl 0x437290
push 0xfa
lea eax, [ebp - 0x218]
push eax
call edi
mov dword [ebp - 0x274], 0
push 0xfa
lea ecx, [ebp - 0x218]
push ecx
call edi
xor esi, esi
push 0xfa
lea edx, [ebp - 0x218]
push edx
call edi
mov esi, 5
push 0x460db8
push 0x460dc0
call dword [sym.imp.USER32.dll_FindWindowW]
mov dword [ebp - 4], 1
xor ebx, ebx
mov dword [ebp - 0x2a4], ebx
cmp ebx, 8
jge 0x43734b
mov eax, 0x55555556
imul ebx
mov eax, edx
shr eax, 0x1f
add eax, edx
lea eax, [eax + eax*2]
mov ecx, ebx
sub ecx, eax
cmp ecx, 1
jne 0x43733d
mov eax, ebx
nop
mov ecx, edx
nop
add ebx, 1
jmp 0x43730d
add esi, 1
mov dword [ebp - 0x274], esi
add ebx, 1
jmp 0x43730d
mov dword [ebp - 4], 0xfffffffe
call fcn.00437379
xor esi, esi
lea esp, [esp]
mov eax, 0xaaaaaaab
mul esi
shr edx, 1
lea edx, [edx + edx*2]
mov eax, esi
sub eax, edx
cmp eax, 1
jne 0x437385
and edi, esi
jmp 0x43739b
mov eax, 1
mov ebx, 2
mov ecx, 3
mov edx, 4
or edi, esi
add esi, 1
cmp esi, 3
jl 0x437360
lea ecx, [ebp - 0x270]
push ecx
push 0x460dc8
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [ebp - 4], 2
xor esi, esi
mov dword [ebp - 0x280], esi
test esi, esi
jge 0x4373fb
mov eax, 0x55555556
imul esi
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax + eax*2]
mov eax, esi
sub eax, edx
cmp eax, 1
jne 0x4373ed
mov eax, ebx
nop
mov ecx, edx
nop
add esi, 1
jmp 0x4373be
add edi, 1
mov dword [ebp - 0x274], edi
add esi, 1
jmp 0x4373be
mov dword [ebp - 4], 0xfffffffe
call fcn.00437459
lea ecx, [ebp - 0x270]
push ecx
push 0x460dd0
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
xor esi, esi
mov ebx, dword [sym.imp.KERNEL32.dll_GetTickCount]
call ebx
mov ecx, eax
mov eax, 0xaaaaaaab
mul ecx
shr edx, 1
lea edx, [edx + edx*2]
sub ecx, edx
jne 0x437cd0
add edi, 5
xor esi, esi
mov edi, edi
mov eax, 0xaaaaaaab
mul esi
shr edx, 1
lea eax, [edx + edx*2]
mov ecx, esi
sub ecx, eax
cmp ecx, 1
jne 0x437465
and edi, esi
jmp 0x43747b
mov eax, 1
mov ebx, 2
mov ecx, 3
mov edx, 4
or edi, esi
add esi, 1
cmp esi, 4
jl 0x437440
lea edx, [ebp - 0x270]
push edx
push 0x460dd8
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [ebp - 4], 3
xor esi, esi
mov dword [ebp - 0x2a0], esi
cmp esi, 1
jge 0x4374dc
mov eax, 0x55555556
imul esi
mov eax, edx
shr eax, 0x1f
add eax, edx
lea eax, [eax + eax*2]
mov ecx, esi
sub ecx, eax
cmp ecx, 1
jne 0x4374ce
mov eax, ebx
nop
mov ecx, edx
nop
add esi, 1
jmp 0x43749e
add edi, 1
mov dword [ebp - 0x274], edi
add esi, 1
jmp 0x43749e
mov dword [ebp - 4], 0xfffffffe
call fcn.00437522
mov dword [ebp - 4], 4
xor esi, esi
lea edi, [esi + 1]
mov dword [ebp - 0x288], esi
cmp esi, 3
jge 0x437537
mov eax, 0x55555556
imul esi
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax + eax*2]
mov eax, esi
sub eax, edx
cmp eax, edi
jne 0x43752d
mov eax, ebx
nop
mov ecx, edx
nop
add esi, edi
jmp 0x4374f4
add dword [ebp - 0x274], edi
add esi, edi
jmp 0x4374f4
mov dword [ebp - 4], 0xfffffffe
call fcn.0043755e
xor esi, esi
mov eax, 0xaaaaaaab
mul esi
shr edx, 1
lea ecx, [edx + edx*2]
mov edx, esi
sub edx, ecx
cmp edx, 1
jne 0x43756a
and edi, esi
jmp 0x437580
mov eax, 1
mov ebx, 2
mov ecx, 3
mov edx, 4
or edi, esi
add esi, 1
cmp esi, 7
jl 0x437545
xor esi, esi
mov ebx, dword [sym.imp.KERNEL32.dll_GetTickCount]
call ebx
mov ecx, eax
mov eax, 0xaaaaaaab
mul ecx
shr edx, 1
lea eax, [edx + edx*2]
sub ecx, eax
jne 0x437cc3
add edi, 6
push 0x460de0
push 0x460de8
call dword [sym.imp.USER32.dll_FindWindowW]
xor esi, esi
lea ecx, [ecx]
mov eax, 0xaaaaaaab
mul esi
shr edx, 1
lea ecx, [edx + edx*2]
mov edx, esi
sub edx, ecx
cmp edx, 1
jne 0x4375d9
and edi, esi
jmp 0x4375f5
mov eax, 1
mov ebx, 2
mov ecx, 3
mov edx, 4
or edi, esi
mov ebx, dword [sym.imp.KERNEL32.dll_GetTickCount]
add esi, 1
cmp esi, 3
jl 0x4375c0
xor ecx, ecx
nop
mov eax, 0xcccccccd
mul ecx
shr edx, 2
lea edx, [edx + edx*4]
mov eax, ecx
sub eax, edx
cmp eax, 2
je 0x43761f
cmp eax, 3
je 0x43761f
xor edi, ecx
jmp 0x437624
mov eax, ecx
imul edi, eax
add ecx, 1
cmp ecx, 5
jl 0x437600
lea ecx, [ebp - 0x270]
push ecx
push 0x460df0
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
xor esi, esi
mov eax, 0xaaaaaaab
mul esi
shr edx, 1
lea edx, [edx + edx*2]
mov eax, esi
sub eax, edx
cmp eax, 1
jne 0x437659
and edi, esi
jmp 0x437675
mov eax, 1
mov ebx, 2
mov ecx, 3
mov edx, 4
or edi, esi
mov ebx, dword [sym.imp.KERNEL32.dll_GetTickCount]
add esi, 1
cmp esi, 6
jl 0x437640
xor esi, esi
nop
call ebx
mov ecx, eax
mov eax, 0xaaaaaaab
mul ecx
shr edx, 1
lea edx, [edx + edx*2]
sub ecx, edx
jne 0x437cb6
lea edi, [ecx + 0x11]
nop
nop
nop
xor esi, esi
call ebx
mov ecx, eax
mov eax, 0xaaaaaaab
mul ecx
shr edx, 1
lea eax, [edx + edx*2]
sub ecx, eax
jne 0x437ca9
add edi, 2
mov dword [ebp - 4], 5
xor esi, esi
mov dword [ebp - 0x278], esi
cmp esi, 4
jge 0x437701
mov eax, 0x55555556
imul esi
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*2]
mov edx, esi
sub edx, ecx
cmp edx, 1
jne 0x4376f3
mov eax, ebx
nop
mov ecx, edx
nop
add esi, edx
jmp 0x4376c4
add edi, 1
mov dword [ebp - 0x274], edi
add esi, 1
jmp 0x4376c4
mov dword [ebp - 4], 0xfffffffe
call fcn.00437755
xor esi, esi
nop
call ebx
mov ecx, eax
mov eax, 0xaaaaaaab
mul ecx
shr edx, 1
lea eax, [edx + edx*2]
sub ecx, eax
jne 0x437c9c
jmp 0x437730
mov eax, 0xcccccccd
mul ecx
shr edx, 2
lea edx, [edx + edx*4]
mov eax, ecx
sub eax, edx
cmp eax, 2
je 0x437761
cmp eax, 3
je 0x437761
xor edi, ecx
jmp 0x437766
mov eax, ecx
imul edi, eax
add ecx, 1
cmp ecx, 4
jl 0x437730
lea ecx, [ebp - 0x270]
push ecx
push 0x460df8
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [ebp - 4], 6
xor esi, esi
mov dword [ebp - 0x290], esi
cmp esi, 3
jge 0x4377c7
mov eax, 0x55555556
imul esi
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax + eax*2]
mov eax, esi
sub eax, edx
cmp eax, 1
jne 0x4377b9
mov eax, ebx
nop
mov ecx, edx
nop
add esi, 1
jmp 0x437789
add edi, 1
mov dword [ebp - 0x274], edi
add esi, 1
jmp 0x437789
mov dword [ebp - 4], 0xfffffffe
call fcn.00437815
xor esi, esi
call ebx
mov ecx, eax
mov eax, 0xaaaaaaab
mul ecx
shr edx, 1
lea edx, [edx + edx*2]
sub ecx, edx
jne 0x437c8f
add edi, 3
mov eax, 0xcccccccd
mul ecx
shr edx, 2
lea edx, [edx + edx*4]
mov eax, ecx
sub eax, edx
cmp eax, 2
je 0x437821
cmp eax, 3
je 0x437821
xor edi, ecx
jmp 0x437826
mov eax, ecx
imul edi, eax
add ecx, 1
cmp ecx, 2
jl 0x4377f0
lea ecx, [ebp - 0x270]
push ecx
push 0x460e00
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
xor esi, esi
mov eax, 0xaaaaaaab
mul esi
shr edx, 1
lea edx, [edx + edx*2]
mov eax, esi
sub eax, edx
cmp eax, 1
jne 0x43785b
and edi, esi
jmp 0x437877
mov eax, 1
mov ebx, 2
mov ecx, 3
mov edx, 4
or edi, esi
mov ebx, dword [sym.imp.KERNEL32.dll_GetTickCount]
add esi, 1
cmp esi, 3
jl 0x437842
xor esi, esi
call ebx
mov ecx, eax
mov eax, 0xaaaaaaab
mul ecx
shr edx, 1
lea edx, [edx + edx*2]
sub ecx, edx
jne 0x437c82
push 0x460e08
push 0x460e10
call dword [sym.imp.USER32.dll_FindWindowW]
mov edi, 0x11
nop
nop
nop
mov dword [ebp - 4], 7
xor esi, esi
mov dword [ebp - 0x27c], esi
cmp esi, 2
jge 0x4378f8
mov eax, 0x55555556
imul esi
mov eax, edx
shr eax, 0x1f
add eax, edx
lea eax, [eax + eax*2]
mov ecx, esi
sub ecx, eax
cmp ecx, 1
jne 0x4378ea
mov eax, ebx
nop
mov ecx, edx
nop
add esi, 1
jmp 0x4378ba
add edi, 1
mov dword [ebp - 0x274], edi
add esi, 1
jmp 0x4378ba
mov dword [ebp - 4], 0xfffffffe
call fcn.00437946
xor edi, edi
call ebx
mov ecx, eax
mov eax, 0xaaaaaaab
mul ecx
shr edx, 1
lea edx, [edx + edx*2]
sub ecx, edx
jne 0x437c75
add esi, 2
mov eax, 0xcccccccd
mul ecx
shr edx, 2
lea edx, [edx + edx*4]
mov eax, ecx
sub eax, edx
cmp eax, 2
je 0x437952
cmp eax, 3
je 0x437952
xor esi, ecx
jmp 0x437957
mov eax, ecx
imul esi, eax
add ecx, 1
cmp ecx, 2
jl 0x437921
lea ecx, [ebp - 0x270]
push ecx
push 0x460e18
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
add esi, 1
push 0x460e20
push 0x460e28
call dword [sym.imp.USER32.dll_FindWindowW]
xor edi, edi
call ebx
mov ecx, eax
mov eax, 0xaaaaaaab
mul ecx
shr edx, 1
lea edx, [edx + edx*2]
sub ecx, edx
jne 0x437c68
lea esi, [ecx + 0x11]
nop
nop
nop
mov eax, 0xcccccccd
mul ecx
shr edx, 2
lea edx, [edx + edx*4]
mov eax, ecx
sub eax, edx
cmp eax, 1
je 0x4379c3
cmp eax, 4
je 0x4379c3
and esi, ecx
jmp 0x4379c5
sub esi, ecx
add ecx, 1
cmp ecx, 2
jl 0x4379a4
push 0xfa
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
mov esi, 0x11
nop
nop
nop
xor edi, edi
lea esp, [esp]
call ebx
mov ecx, eax
mov eax, 0xaaaaaaab
mul ecx
shr edx, 1
lea edx, [edx + edx*2]
sub ecx, edx
jne 0x437c5b
add esi, 3
xor edi, edi
lea ecx, [ecx]
call ebx
mov ecx, eax
mov eax, 0xaaaaaaab
mul ecx
shr edx, 1
lea eax, [edx + edx*2]
sub ecx, eax
jne 0x437c4e
nop
nop
nop
lea edi, [ecx + 0x10]
push 0x460e30
push 0x460e38
call dword [sym.imp.USER32.dll_FindWindowW]
mov dword [ebp - 4], 8
xor esi, esi
mov dword [ebp - 0x284], esi
cmp esi, 3
jge 0x437a84
mov eax, 0x55555556
imul esi
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*2]
mov edx, esi
sub edx, ecx
cmp edx, 1
jne 0x437a76
mov eax, ebx
nop
mov ecx, edx
nop
add esi, edx
jmp 0x437a47
add edi, 1
mov dword [ebp - 0x274], edi
add esi, 1
jmp 0x437a47
mov dword [ebp - 4], 0xfffffffe
call fcn.00437b2e
xor edi, edi
call ebx
mov ecx, eax
mov eax, 0xaaaaaaab
mul ecx
shr edx, 1
lea eax, [edx + edx*2]
sub ecx, eax
jne 0x437c41
add esi, 1
xor edi, edi
nop
call ebx
mov ecx, eax
mov eax, 0xaaaaaaab
mul ecx
shr edx, 1
lea edx, [edx + edx*2]
sub ecx, edx
jne 0x437c34
add esi, 2
test esi, esi
jle 0x437ad2
lea esi, [esi + esi*4]
mov eax, 0x55555556
imul esi
mov eax, edx
shr eax, 0x1f
add eax, edx
lea eax, [eax + eax*2]
mov ecx, esi
sub ecx, eax
jne 0x437aec
lea esi, [ecx + 0x11]
nop
nop
nop
mov dword [ebp - 4], 9
xor edi, edi
lea ebx, [edi + 1]
mov dword [ebp - 0x28c], edi
test edi, edi
jge 0x437b46
mov eax, 0x55555556
imul edi
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax + eax*2]
mov eax, edi
sub eax, edx
cmp eax, ebx
jne 0x437b3a
mov eax, ebx
nop
mov ecx, edx
nop
add edi, ebx
jmp 0x437afb
add esi, ebx
mov dword [ebp - 0x274], esi
add edi, ebx
jmp 0x437afb
mov dword [ebp - 4], 0xfffffffe
call fcn.00437b8d
mov dword [ebp - 4], 0xa
xor esi, esi
mov dword [ebp - 0x294], esi
cmp esi, ebx
jge 0x437ba2
mov eax, 0x55555556
imul esi
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*2]
mov edx, esi
sub edx, ecx
cmp edx, ebx
jne 0x437b98
mov eax, ebx
nop
mov ecx, edx
nop
add esi, ebx
jmp 0x437b5b
add dword [ebp - 0x274], ebx
add esi, ebx
jmp 0x437b5b
mov dword [ebp - 4], 0xfffffffe
call fcn.00437be9
mov dword [ebp - 4], 0xb
xor esi, esi
mov dword [ebp - 0x29c], esi
cmp esi, ebx
jge 0x437bfe
mov eax, 0x55555556
imul esi
mov eax, edx
shr eax, 0x1f
add eax, edx
lea eax, [eax + eax*2]
mov ecx, esi
sub ecx, eax
cmp ecx, ebx
jne 0x437bf4
mov eax, ebx
nop
mov ecx, edx
nop
add esi, ebx
jmp 0x437bb7
add dword [ebp - 0x274], ebx
add esi, ebx
jmp 0x437bb7
mov dword [ebp - 4], 0xfffffffe
call fcn.00437c26
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x1c]
xor ecx, ebp
call fcn.0040470b
mov esp, ebp
pop ebp
ret
mov edx, edi
imul esi, edx
add edi, 1
jmp 0x437ab0
mov eax, edi
imul esi, eax
add edi, 1
jmp 0x437a92
mov ecx, edi
imul esi, ecx
add edi, 1
jmp 0x437a10
mov edx, edi
imul esi, edx
add edi, 1
jmp 0x4379f0
mov eax, edi
imul esi, eax
add edi, 1
jmp 0x437986
mov ecx, edi
imul esi, ecx
add edi, 1
jmp 0x437906
mov edx, esi
imul edi, edx
add esi, 1
jmp 0x437881
mov eax, esi
imul edi, eax
add esi, 1
jmp 0x4377d5
mov ecx, esi
imul edi, ecx
add esi, 1
jmp 0x437710
mov edx, esi
imul edi, edx
add esi, 1
jmp 0x4376a0
mov eax, esi
imul edi, eax
add esi, 1
jmp 0x437680
mov ecx, esi
imul edi, ecx
add esi, 1
jmp 0x437590
mov edx, esi
imul edi, edx
add esi, 1
jmp 0x437421
mov eax, esi
imul edi, eax
add esi, 1
jmp 0x437170
mov ecx, esi
imul edi, ecx
add esi, 1
jmp 0x437150
mov edx, esi
imul edi, edx
add esi, 1
jmp 0x4370f0