Function at 0x41f390
Capabilities:
Check for time delay via gettickcount
Check os version
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x47e660
push 0x408860
mov eax, dword fs:[0]
push eax
sub esp, 0x2a0
mov eax, dword [0x482534]
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 esi, esi
mov dword [ebp - 0x274], esi
xor eax, eax
add esi, eax
mov dword [ebp - 0x274], esi
add eax, 1
cmp eax, 0xa
jl 0x41f3d0
cmp esi, 0xffff
jle 0x41f3f9
lea eax, [esi*8]
sub eax, esi
mov esi, eax
mov dword [ebp - 0x274], esi
mov eax, 0x2e8ba2e9
imul esi
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
imul ecx, ecx, 0xb
mov edx, esi
sub edx, ecx
cmp edx, 7
jne 0x41f420
mov esi, 0xd
mov dword [ebp - 0x274], esi
mov ebx, dword [sym.imp.KERNEL32.dll_GetTickCount]
call ebx
xor edx, edx
mov ecx, 3
div ecx
cmp edx, 1
jne 0x41f440
call ebx
add esi, eax
mov dword [ebp - 0x274], esi
xor eax, eax
add esi, eax
mov dword [ebp - 0x274], esi
add eax, 1
cmp eax, 0x3d
jl 0x41f442
cmp esi, 0xffff
jle 0x41f46b
lea edx, [esi*8]
sub edx, esi
mov esi, edx
mov dword [ebp - 0x274], esi
mov eax, 0x2e8ba2e9
imul esi
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0xb
mov ecx, esi
sub ecx, eax
cmp ecx, 7
jne 0x41f492
mov esi, 0xd
mov dword [ebp - 0x274], esi
call ebx
xor edx, edx
mov ecx, 3
div ecx
cmp edx, 1
jne 0x41f4ac
call ebx
add esi, eax
mov dword [ebp - 0x274], esi
mov dword [ebp - 4], 0
xor edi, edi
mov dword [ebp - 0x290], edi
cmp edi, 0x37
jge 0x41f505
cmp esi, 0xffff0001
jge 0x41f4db
lea edx, [esi*8]
sub edx, esi
neg edx
mov esi, edx
mov dword [ebp - 0x274], esi
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 0x41f500
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov dword [ebp - 0x274], esi
add edi, 1
jmp 0x41f4b5
mov dword [ebp - 4], 0xfffffffe
call fcn.0041f576
mov dword [ebp - 4], 1
xor edi, edi
mov dword [ebp - 0x2ac], edi
cmp edi, 0xb
jge 0x41f583
cmp esi, 0xffff0001
jge 0x41f540
lea edx, [esi*8]
sub edx, esi
neg edx
mov esi, edx
mov dword [ebp - 0x274], esi
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 0x41f565
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov dword [ebp - 0x274], esi
add edi, 1
jmp 0x41f51a
mov dword [ebp - 4], 0xfffffffe
call fcn.0041f5bc
xor ecx, ecx
mov eax, 0xcccccccd
mul ecx
shr edx, 2
lea edx, [edx + edx*4]
mov eax, ecx
sub eax, edx
cmp eax, 2
je 0x41f5c9
cmp eax, 3
je 0x41f5c9
xor esi, ecx
jmp 0x41f5ce
mov eax, ecx
imul esi, eax
mov dword [ebp - 0x274], esi
add ecx, 1
cmp ecx, 8
jl 0x41f591
lea ecx, [ebp - 0x270]
push ecx
push 0x47c668
mov edi, dword [sym.imp.KERNEL32.dll_FindFirstFileW]
call edi
xor ecx, ecx
mov eax, 0xcccccccd
mul ecx
shr edx, 2
lea edx, [edx + edx*4]
mov eax, ecx
sub eax, edx
cmp eax, 2
je 0x41f611
cmp eax, 3
je 0x41f611
xor esi, ecx
jmp 0x41f616
mov eax, ecx
imul esi, eax
mov dword [ebp - 0x274], esi
add ecx, 1
cmp ecx, 5
jl 0x41f5f2
lea ecx, [ebp - 0x270]
push ecx
push 0x47c670
call edi
mov dword [ebp - 0x274], esi
cmp esi, 0xffff
jle 0x41f651
lea edx, [esi*8]
sub edx, esi
mov esi, edx
mov dword [ebp - 0x274], esi
mov eax, 0x2e8ba2e9
imul esi
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0xb
mov ecx, esi
sub ecx, eax
cmp ecx, 7
jne 0x41f678
mov esi, 0xd
mov dword [ebp - 0x274], esi
call ebx
xor edx, edx
mov ecx, 3
div ecx
cmp edx, 1
jne 0x41f692
call ebx
add esi, eax
mov dword [ebp - 0x274], esi
xor eax, eax
and esi, eax
mov dword [ebp - 0x274], esi
add eax, 1
cmp eax, 3
jl 0x41f694
test esi, esi
jge 0x41f6ba
mov edx, esi
neg edx
add edx, edx
add edx, edx
sub edx, esi
mov esi, edx
mov dword [ebp - 0x274], esi
mov eax, 0x4ec4ec4f
imul esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0xd
mov ecx, esi
sub ecx, eax
jne 0x41f6e2
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov esi, eax
mov dword [ebp - 0x274], esi
xor eax, eax
and esi, eax
mov dword [ebp - 0x274], esi
add eax, 1
cmp eax, 6
jl 0x41f6e4
test esi, esi
jge 0x41f70a
mov edx, esi
neg edx
add edx, edx
add edx, edx
sub edx, esi
mov esi, edx
mov dword [ebp - 0x274], esi
mov eax, 0x4ec4ec4f
imul esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0xd
mov ecx, esi
sub ecx, eax
jne 0x41f732
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov esi, eax
mov dword [ebp - 0x274], esi
xor ecx, ecx
mov eax, 0xcccccccd
mul ecx
shr edx, 2
lea edx, [edx + edx*4]
mov eax, ecx
sub eax, edx
cmp eax, 2
je 0x41f753
cmp eax, 3
je 0x41f753
xor esi, ecx
jmp 0x41f758
mov eax, ecx
imul esi, eax
mov dword [ebp - 0x274], esi
add ecx, 1
cmp ecx, 3
jl 0x41f734
lea ecx, [ebp - 0x270]
push ecx
push 0x47c678
call edi
mov dword [ebp - 4], 2
xor edi, edi
mov dword [ebp - 0x280], edi
cmp edi, 1
jge 0x41f7cd
cmp esi, 0xffff0001
jge 0x41f7a3
lea edx, [esi*8]
sub edx, esi
neg edx
mov esi, edx
mov dword [ebp - 0x274], esi
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 0x41f7c8
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov dword [ebp - 0x274], esi
add edi, 1
jmp 0x41f77d
mov dword [ebp - 4], 0xfffffffe
call fcn.0041f8a0
mov dword [ebp - 0x274], esi
cmp esi, 0xffff
jle 0x41f7f8
lea edx, [esi*8]
sub edx, esi
mov esi, edx
mov dword [ebp - 0x274], esi
mov eax, 0x2e8ba2e9
imul esi
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0xb
mov ecx, esi
sub ecx, eax
cmp ecx, 7
jne 0x41f81f
mov esi, 0xd
mov dword [ebp - 0x274], esi
call ebx
xor edx, edx
mov ecx, 3
div ecx
cmp edx, 1
jne 0x41f839
call ebx
add esi, eax
mov dword [ebp - 0x274], esi
mov dword [ebp - 4], 3
xor edi, edi
mov ebx, dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x298], edi
cmp edi, 4
jge 0x41f8ad
cmp esi, 0xffff0001
jge 0x41f86e
lea edx, [esi*8]
sub edx, esi
neg edx
mov esi, edx
mov dword [ebp - 0x274], esi
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 0x41f88f
call ebx
mov esi, eax
mov dword [ebp - 0x274], esi
add edi, 1
jmp 0x41f848
mov dword [ebp - 4], 0xfffffffe
call fcn.0041f91a
mov dword [ebp - 4], 4
xor edi, edi
mov dword [ebp - 0x288], edi
cmp edi, 4
jge 0x41f927
cmp esi, 0xffff0001
jge 0x41f8e8
lea edx, [esi*8]
sub edx, esi
neg edx
mov esi, edx
mov dword [ebp - 0x274], esi
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 0x41f909
call ebx
mov esi, eax
mov dword [ebp - 0x274], esi
add edi, 1
jmp 0x41f8c2
mov dword [ebp - 4], 0xfffffffe
call fcn.0041f9f6
xor eax, eax
and esi, eax
mov dword [ebp - 0x274], esi
add eax, 1
cmp eax, 3
jl 0x41f935
test esi, esi
jge 0x41f95b
mov edx, esi
neg edx
add edx, edx
add edx, edx
sub edx, esi
mov esi, edx
mov dword [ebp - 0x274], esi
mov eax, 0x4ec4ec4f
imul esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0xd
mov ecx, esi
sub ecx, eax
jne 0x41f983
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov esi, eax
mov dword [ebp - 0x274], esi
xor ecx, ecx
xor esi, ecx
mov dword [ebp - 0x274], esi
jge 0x41f997
neg esi
mov dword [ebp - 0x274], esi
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax*8]
sub edx, eax
mov eax, esi
sub eax, edx
jne 0x41f9c1
xor esi, esi
mov dword [ebp - 0x274], esi
add ecx, 1
cmp ecx, 2
jl 0x41f985
xor edi, edi
mov ebx, dword [sym.imp.KERNEL32.dll_GetVersion]
mov eax, 0xcccccccd
mul edi
shr edx, 2
lea ecx, [edx + edx*4]
mov eax, edi
sub eax, ecx
cmp eax, 1
je 0x41fa03
cmp eax, 4
je 0x41fa03
and esi, edi
jmp 0x41fa05
sub esi, edi
mov dword [ebp - 0x274], esi
call ebx
add edi, 1
cmp edi, 5
jl 0x41f9d1
xor ecx, ecx
jmp 0x41fa20
xor esi, ecx
mov dword [ebp - 0x274], esi
jge 0x41fa32
neg esi
mov dword [ebp - 0x274], esi
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax*8]
sub edx, eax
mov eax, esi
sub eax, edx
jne 0x41fa5c
xor esi, esi
mov dword [ebp - 0x274], esi
add ecx, 1
cmp ecx, 5
jl 0x41fa20
xor eax, eax
jmp 0x41fa70
and esi, eax
mov dword [ebp - 0x274], esi
add eax, 1
cmp eax, 3
jl 0x41fa70
test esi, esi
jge 0x41fa96
mov ecx, esi
neg ecx
add ecx, ecx
add ecx, ecx
sub ecx, esi
mov esi, ecx
mov dword [ebp - 0x274], esi
mov eax, 0x4ec4ec4f
imul esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0xd
mov ecx, esi
sub ecx, eax
jne 0x41fabe
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov esi, eax
mov dword [ebp - 0x274], esi
xor eax, eax
add esi, eax
mov dword [ebp - 0x274], esi
add eax, 1
cmp eax, 7
jl 0x41fac0
cmp esi, 0xffff
jle 0x41fae9
lea edx, [esi*8]
sub edx, esi
mov esi, edx
mov dword [ebp - 0x274], esi
mov eax, 0x2e8ba2e9
imul esi
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0xb
mov ecx, esi
sub ecx, eax
cmp ecx, 7
jne 0x41fb10
mov esi, 0xd
mov dword [ebp - 0x274], esi
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call edi
xor edx, edx
mov ecx, 3
div ecx
cmp edx, 1
jne 0x41fb30
call edi
add esi, eax
mov dword [ebp - 0x274], esi
xor esi, esi
mov dword [ebp - 0x274], esi
jge 0x41fb4c
mov edx, esi
neg edx
add edx, edx
add edx, edx
sub edx, esi
mov esi, edx
mov dword [ebp - 0x274], esi
mov eax, 0x4ec4ec4f
imul esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0xd
mov ecx, esi
sub ecx, eax
jne 0x41fb74
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov esi, eax
mov dword [ebp - 0x274], esi
xor eax, eax
jmp 0x41fb80
add esi, eax
mov dword [ebp - 0x274], esi
add eax, 1
cmp eax, 2
jl 0x41fb80
cmp esi, 0xffff
jle 0x41fba9
lea edx, [esi*8]
sub edx, esi
mov esi, edx
mov dword [ebp - 0x274], esi
mov eax, 0x2e8ba2e9
imul esi
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0xb
mov ecx, esi
sub ecx, eax
cmp ecx, 7
jne 0x41fbd0
mov esi, 0xd
mov dword [ebp - 0x274], esi
call edi
xor edx, edx
mov ecx, 3
div ecx
cmp edx, 1
jne 0x41fbea
call edi
add esi, eax
mov dword [ebp - 0x274], esi
xor eax, eax
lea esp, [esp]
and esi, eax
mov dword [ebp - 0x274], esi
add eax, 1
cmp eax, 2
jl 0x41fbf0
test esi, esi
jge 0x41fc16
mov edx, esi
neg edx
add edx, edx
add edx, edx
sub edx, esi
mov esi, edx
mov dword [ebp - 0x274], esi
mov eax, 0x4ec4ec4f
imul esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0xd
mov ecx, esi
sub ecx, eax
jne 0x41fc3e
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov esi, eax
mov dword [ebp - 0x274], esi
xor edi, edi
mov eax, 0xcccccccd
mul edi
shr edx, 2
lea edx, [edx + edx*4]
mov eax, edi
sub eax, edx
cmp eax, 1
je 0x41fc5f
cmp eax, 4
je 0x41fc5f
and esi, edi
jmp 0x41fc61
sub esi, edi
mov dword [ebp - 0x274], esi
call ebx
add edi, 1
cmp edi, 7
jl 0x41fc40
xor eax, eax
and esi, eax
mov dword [ebp - 0x274], esi
add eax, 1
cmp eax, 8
jl 0x41fc73
test esi, esi
jge 0x41fc99
mov eax, esi
neg eax
add eax, eax
add eax, eax
sub eax, esi
mov esi, eax
mov dword [ebp - 0x274], esi
mov eax, 0x4ec4ec4f
imul esi
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
imul ecx, ecx, 0xd
mov edx, esi
sub edx, ecx
jne 0x41fcc1
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov esi, eax
mov dword [ebp - 0x274], esi
xor eax, eax
and esi, eax
mov dword [ebp - 0x274], esi
add eax, 1
cmp eax, 4
jl 0x41fcc3
test esi, esi
jge 0x41fce9
mov eax, esi
neg eax
add eax, eax
add eax, eax
sub eax, esi
mov esi, eax
mov dword [ebp - 0x274], esi
mov eax, 0x4ec4ec4f
imul esi
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
imul ecx, ecx, 0xd
mov edx, esi
sub edx, ecx
jne 0x41fd11
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov esi, eax
mov dword [ebp - 0x274], esi
xor edi, edi
mov eax, 0xcccccccd
mul edi
shr edx, 2
lea ecx, [edx + edx*4]
mov eax, edi
sub eax, ecx
cmp eax, 1
je 0x41fd32
cmp eax, 4
je 0x41fd32
and esi, edi
jmp 0x41fd34
sub esi, edi
mov dword [ebp - 0x274], esi
call ebx
add edi, 1
cmp edi, 8
jl 0x41fd13
mov dword [ebp - 4], 5
xor edi, edi
mov dword [ebp - 0x2a8], edi
cmp edi, 6
jge 0x41fd9d
cmp esi, 0xffff0001
jge 0x41fd73
lea edx, [esi*8]
sub edx, esi
neg edx
mov esi, edx
mov dword [ebp - 0x274], esi
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 0x41fd98
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov dword [ebp - 0x274], esi
add edi, 1
jmp 0x41fd4d
mov dword [ebp - 4], 0xfffffffe
call fcn.0041fdd6
xor edi, edi
mov eax, 0xcccccccd
mul edi
shr edx, 2
lea edx, [edx + edx*4]
mov eax, edi
sub eax, edx
cmp eax, 1
je 0x41fde3
cmp eax, 4
je 0x41fde3
and esi, edi
jmp 0x41fde5
sub esi, edi
mov dword [ebp - 0x274], esi
call ebx
add edi, 1
cmp edi, 8
jl 0x41fdab
xor eax, eax
jmp 0x41fe00
add esi, eax
mov dword [ebp - 0x274], esi
add eax, 1
cmp eax, 3
jl 0x41fe00
cmp esi, 0xffff
jle 0x41fe29
lea eax, [esi*8]
sub eax, esi
mov esi, eax
mov dword [ebp - 0x274], esi
mov eax, 0x2e8ba2e9
imul esi
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
imul ecx, ecx, 0xb
mov edx, esi
sub edx, ecx
cmp edx, 7
jne 0x41fe50
mov esi, 0xd
mov dword [ebp - 0x274], esi
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call edi
xor edx, edx
mov ecx, 3
div ecx
cmp edx, 1
jne 0x41fe70
call edi
add esi, eax
mov dword [ebp - 0x274], esi
xor eax, eax
and esi, eax
mov dword [ebp - 0x274], esi
add eax, 1
cmp eax, 5
jl 0x41fe72
test esi, esi
jge 0x41fe98
mov edx, esi
neg edx
add edx, edx
add edx, edx
sub edx, esi
mov esi, edx
mov dword [ebp - 0x274], esi
mov eax, 0x4ec4ec4f
imul esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0xd
mov ecx, esi
sub ecx, eax
jne 0x41fec0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov esi, eax
mov dword [ebp - 0x274], esi
mov dword [ebp - 4], 6
xor edi, edi
mov dword [ebp - 0x278], edi
cmp edi, 7
jge 0x41ff19
cmp esi, 0xffff0001
jge 0x41feef
lea edx, [esi*8]
sub edx, esi
neg edx
mov esi, edx
mov dword [ebp - 0x274], esi
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 0x41ff14
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov dword [ebp - 0x274], esi
add edi, 1
jmp 0x41fec9
mov dword [ebp - 4], 0xfffffffe
call fcn.0041ff5b
xor ecx, ecx
jmp 0x41ff30
mov eax, 0xcccccccd
mul ecx
shr edx, 2
lea edx, [edx + edx*4]
mov eax, ecx
sub eax, edx
cmp eax, 2
je 0x41ff68
cmp eax, 3
je 0x41ff68
xor esi, ecx
jmp 0x41ff6d
mov eax, ecx
imul esi, eax
mov dword [ebp - 0x274], esi
add ecx, 1
cmp ecx, 4
jl 0x41ff30
lea ecx, [ebp - 0x270]
push ecx
push 0x47c680
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
xor eax, eax
nop
xor esi, eax
mov dword [ebp - 0x274], esi
add eax, 1
cmp eax, 7
jl 0x41ff90
test esi, esi
jge 0x41ffac
neg esi
mov dword [ebp - 0x274], esi
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax*8]
sub edx, eax
mov eax, esi
sub eax, edx
jne 0x41ffdc
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov dword [ebp - 0x274], esi
xor eax, eax
mov edi, edi
add esi, eax
mov dword [ebp - 0x274], esi
add eax, 1
cmp eax, 7
jl 0x41ffe0
cmp esi, 0xffff
jle 0x420009
lea ecx, [esi*8]
sub ecx, esi
mov esi, ecx
mov dword [ebp - 0x274], esi
mov eax, 0x2e8ba2e9
imul esi
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0xb
mov ecx, esi
sub ecx, eax
cmp ecx, 7
jne 0x420030
mov esi, 0xd
mov dword [ebp - 0x274], esi
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call edi
xor edx, edx
mov ecx, 3
div ecx
cmp edx, 1
jne 0x420050
call edi
add esi, eax
mov dword [ebp - 0x274], esi
xor edi, edi
mov eax, 0xcccccccd
mul edi
shr edx, 2
lea edx, [edx + edx*4]
mov eax, edi
sub eax, edx
cmp eax, 1
je 0x420071
cmp eax, 4
je 0x420071
and esi, edi
jmp 0x420073
sub esi, edi
mov dword [ebp - 0x274], esi
call ebx
add edi, 1
cmp edi, 6
jl 0x420052
test esi, esi
jge 0x420099
mov eax, esi
neg eax
add eax, eax
add eax, eax
sub eax, esi
mov esi, eax
mov dword [ebp - 0x274], esi
mov eax, 0x4ec4ec4f
imul esi
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
imul ecx, ecx, 0xd
mov edx, esi
sub edx, ecx
jne 0x4200c1
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov esi, eax
mov dword [ebp - 0x274], esi
mov dword [ebp - 0x274], esi
test esi, esi
jge 0x4200d3
neg esi
mov dword [ebp - 0x274], esi
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax*8]
sub ecx, eax
mov edx, esi
sub edx, ecx
jne 0x4200fd
xor esi, esi
mov dword [ebp - 0x274], esi
lea eax, [ebp - 0x270]
push eax
push 0x47c688
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [ebp - 4], 7
xor edi, edi
mov dword [ebp - 0x2a0], edi
cmp edi, 1
jge 0x420168
cmp esi, 0xffff0001
jge 0x42013e
lea ecx, [esi*8]
sub ecx, esi
neg ecx
mov esi, ecx
mov dword [ebp - 0x274], esi
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
jne 0x420163
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov dword [ebp - 0x274], esi
add edi, 1
jmp 0x420118
mov dword [ebp - 4], 0xfffffffe
call fcn.004201a1
xor ecx, ecx
mov eax, 0xcccccccd
mul ecx
shr edx, 2
lea edx, [edx + edx*4]
mov eax, ecx
sub eax, edx
cmp eax, 2
je 0x4201ae
cmp eax, 3
je 0x4201ae
xor esi, ecx
jmp 0x4201b3
mov eax, ecx
imul esi, eax
mov dword [ebp - 0x274], esi
add ecx, 1
cmp ecx, 3
jl 0x420176
lea ecx, [ebp - 0x270]
push ecx
push 0x47c690
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
xor eax, eax
add esi, eax
mov dword [ebp - 0x274], esi
add eax, 1
cmp eax, 4
jl 0x4201d5
cmp esi, 0xffff
jle 0x4201fe
lea edx, [esi*8]
sub edx, esi
mov esi, edx
mov dword [ebp - 0x274], esi
mov eax, 0x2e8ba2e9
imul esi
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0xb
mov ecx, esi
sub ecx, eax
cmp ecx, 7
jne 0x420225
mov esi, 0xd
mov dword [ebp - 0x274], esi
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call edi
xor edx, edx
mov ecx, 3
div ecx
cmp edx, 1
jne 0x420245
call edi
add esi, eax
mov dword [ebp - 0x274], esi
lea edx, [ebp - 0x270]
push edx
push 0x47c698
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
xor eax, eax
lea esp, [esp]
xor esi, eax
mov dword [ebp - 0x274], esi
add eax, 1
cmp eax, 2
jl 0x420260
test esi, esi
jge 0x42027c
neg esi
mov dword [ebp - 0x274], esi
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax*8]
sub ecx, eax
mov edx, esi
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
sub edx, ecx
jne 0x4202ae
call edi
mov esi, eax
mov dword [ebp - 0x274], esi
mov dword [ebp - 0x274], esi
test esi, esi
jge 0x4202c0
neg esi
mov dword [ebp - 0x274], esi
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax*8]
sub ecx, eax
mov edx, esi
sub edx, ecx
jne 0x4202ec
call edi
mov esi, eax
mov dword [ebp - 0x274], esi
xor eax, eax
mov edi, edi
xor esi, eax
mov dword [ebp - 0x274], esi
add eax, 1
cmp eax, 3
jl 0x4202f0
test esi, esi
jge 0x42030c
neg esi
mov dword [ebp - 0x274], esi
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax*8]
sub ecx, eax
mov edx, esi
sub edx, ecx
jne 0x420338
call edi
mov esi, eax
mov dword [ebp - 0x274], esi
lea eax, [ebp - 0x270]
push eax
push 0x47c6a0
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [ebp - 4], 8
xor edi, edi
mov dword [ebp - 0x27c], edi
cmp edi, 1
jge 0x4203a3
cmp esi, 0xffff0001
jge 0x420379
lea ecx, [esi*8]
sub ecx, esi
neg ecx
mov esi, ecx
mov dword [ebp - 0x274], esi
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
jne 0x42039e
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov dword [ebp - 0x274], esi
add edi, 1
jmp 0x420353
mov dword [ebp - 4], 0xfffffffe
call fcn.0042055e
test esi, esi
jge 0x4203c5
mov ecx, esi
neg ecx
add ecx, ecx
add ecx, ecx
sub ecx, esi
mov esi, ecx
mov dword [ebp - 0x274], esi
mov eax, 0x4ec4ec4f
imul esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0xd
mov ecx, esi
sub ecx, eax
jne 0x4203ed
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov esi, eax
mov dword [ebp - 0x274], esi
mov dword [ebp - 0x274], esi
cmp esi, 0xffff
jle 0x42040c
lea edx, [esi*8]
sub edx, esi
mov esi, edx
mov dword [ebp - 0x274], esi
mov eax, 0x2e8ba2e9
imul esi
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0xb
mov ecx, esi
sub ecx, eax
cmp ecx, 7
jne 0x420433
mov esi, 0xd
mov dword [ebp - 0x274], esi
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call edi
xor edx, edx
mov ecx, 3
div ecx
cmp edx, 1
jne 0x420453
call edi
add esi, eax
mov dword [ebp - 0x274], esi
xor eax, eax
add esi, eax
mov dword [ebp - 0x274], esi
add eax, 1
cmp eax, 2
jl 0x420455
cmp esi, 0xffff
jle 0x42047e
lea edx, [esi*8]
sub edx, esi
mov esi, edx
mov dword [ebp - 0x274], esi
mov eax, 0x2e8ba2e9
imul esi
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0xb
mov ecx, esi
sub ecx, eax
cmp ecx, 7
jne 0x4204a5
mov esi, 0xd
mov dword [ebp - 0x274], esi
call edi
xor edx, edx
mov ecx, 3
div ecx
cmp edx, 1
jne 0x4204bf
call edi
add esi, eax
mov dword [ebp - 0x274], esi
mov dword [ebp - 0x274], esi
cmp esi, 0xffff
jle 0x4204de
lea edx, [esi*8]
sub edx, esi
mov esi, edx
mov dword [ebp - 0x274], esi
mov eax, 0x2e8ba2e9
imul esi
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0xb
mov ecx, esi
sub ecx, eax
cmp ecx, 7
jne 0x420505
mov esi, 0xd
mov dword [ebp - 0x274], esi
call edi
xor edx, edx
mov ecx, 3
div ecx
cmp edx, 1
jne 0x42051f
call edi
add esi, eax
mov dword [ebp - 0x274], esi
lea edx, [ebp - 0x270]
push edx
push 0x47c6a8
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
xor edi, edi
mov eax, 0xcccccccd
mul edi
shr edx, 2
lea ecx, [edx + edx*4]
mov eax, edi
sub eax, ecx
cmp eax, 1
je 0x42056b
cmp eax, 4
je 0x42056b
sub esi, edi
mov dword [ebp - 0x274], esi
call ebx
add edi, 1
cmp edi, 3
jl 0x420533