Function at 0x1019fbae
Capabilities:
Copy file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x790
mov eax, dword [0x102519c8]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x18]
push ebx
mov ebx, dword [ebp + 0xc]
push esi
mov esi, dword [ebp + 8]
push edi
mov dword [ebp - 0x704], eax
mov edi, ecx
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x708], edi
mov dword [ebp - 0x718], esi
mov dword [ebp - 0x6ec], ebx
mov dword [ebp - 0x6f4], 0
test eax, eax
jne 0x1019ee0d
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.101f99c6
mov esp, ebp
pop ebp
ret 0x14
mov ecx, dword [0x1025b434]
dec eax
mov dword [ebp + 0x14], eax
xor eax, eax
mov dword [ebp - 0x724], eax
test ecx, ecx
je 0x101a11dc
mov eax, dword [ecx]
lea edx, [ebp - 0x724]
push edx
push 1
push esi
push ecx
call dword [eax + 0x1c]
mov ecx, eax
mov eax, dword [ebp - 0x724]
test eax, eax
jne 0x1019f022
cmp ecx, 0x81000002
jne 0x101a11dc
push 1
push esi
lea ecx, [ebp - 0x75c]
call fcn.10184120
push 0
push 0x10202940
lea ecx, [ebp - 0x750]
mov dword [ebp - 0x73c], 0xd
call fcn.10003740
cmp dword [ebp - 0x704], 1
mov dword [ebp - 0x730], 0xffffffff
mov dword [ebp - 0x734], 4
je 0x1019f007
push esi
mov ecx, 0x1025ac18
call fcn.100dff10
test eax, eax
jne 0x1019f007
call fcn.10002d70
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0xc]
add eax, 0x10
mov dword [ebp - 0x6e8], eax
call fcn.10002d70
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0xc]
add eax, 0x10
mov ecx, edi
mov dword [ebp - 0x6fc], eax
lea eax, [ebp - 0x6fc]
push eax
lea eax, [ebp - 0x6e8]
push eax
push 2
lea eax, [ebp - 0x75c]
push eax
push ebx
call fcn.10190a90
cmp dword [0x1025ad08], 0
je 0x1019eff1
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x1019efc7
cmp eax, 1
jne 0x1019efa9
mov eax, dword [edi]
lea ecx, [ebp - 0x700]
push ecx
mov ecx, edi
call dword [eax + 0x1c]
mov ecx, edi
push dword [eax]
push 2
call fcn.101a2170
push eax
push 4
push dword [edi + 0xec]
lea ecx, [ebx + 0x18]
push dword [ebp - 0x6fc]
push dword [ebp - 0x6e8]
call fcn.10126970
lea ecx, [ebp - 0x700]
call fcn.10007e10
cmp dword [edi + 0x14c], 2
jne 0x1019ef8c
call fcn.100ddff0
test eax, eax
je 0x1019ef8c
push dword [ebx + 0x14]
call fcn.10191860
add esp, 4
test eax, eax
je 0x1019ef8c
push 1
push dword [ebx + 0x14]
lea ecx, [ebx + 0x18]
call fcn.101271d0
jmp 0x1019efa9
mov esi, dword [ebx + 0x14]
mov ecx, 0x1025b450
push 0
push 0
call fcn.10009be0
push eax
push 1
push esi
lea ecx, [ebx + 0x18]
call fcn.10123f40
push 0x10204674
push 0
push dword [ebx + 0x14]
push dword [edi + 0xc4]
call fcn.10026170
mov ecx, eax
call fcn.1002b1e0
jmp 0x1019eff1
push 0x10202940
push 0x10202940
push 0x10202940
push 0
push 1
push dword [ebp - 0x704]
lea eax, [ebp - 0x75c]
mov ecx, edi
push 2
push eax
push ebx
call fcn.10190070
lea ecx, [ebp - 0x6fc]
call fcn.10007e10
lea ecx, [ebp - 0x6e8]
call fcn.10007e10
lea ecx, [ebp - 0x75c]
call fcn.100e54a0
mov eax, dword [ebp - 0x724]
mov ebx, 0xd
jmp 0x101a11de
mov ecx, dword [eax]
lea edx, [ebx + 0x12c]
push edx
push eax
mov dword [ebp - 0x780], edx
call dword [ecx + 0x60]
mov eax, dword [ebp - 0x724]
lea edx, [ebp - 0x760]
mov dword [ebp - 0x760], 0
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x38]
push dword [ebx + 0x12c]
call fcn.10191060
add esp, 4
cmp eax, 3
jle 0x1019f1c1
push esi
mov ecx, 0x1025ac18
call fcn.100dff10
test eax, eax
jne 0x1019f1c1
push 1
push esi
lea ecx, [ebp - 0x75c]
call fcn.10184120
push dword [ebp - 0x760]
lea ecx, [ebp - 0x750]
mov dword [ebp - 0x73c], 0x1e
call fcn.10008170
mov ecx, dword [ebp - 0x704]
mov dword [ebp - 0x730], 0xffffffff
mov dword [ebp - 0x734], 4
cmp ecx, 1
je 0x1019f372
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x1019f34d
cmp eax, 1
jne 0x1019f32f
lea ecx, [ebp - 0x6e8]
call fcn.1001b890
lea ecx, [ebp - 0x6fc]
call fcn.1001b890
lea eax, [ebp - 0x6fc]
mov ecx, edi
push eax
lea eax, [ebp - 0x6e8]
push eax
push 2
lea eax, [ebp - 0x75c]
push eax
push ebx
call fcn.10190a90
mov eax, dword [edi]
lea ecx, [ebp - 0x700]
push ecx
mov ecx, edi
call dword [eax + 0x1c]
mov ecx, edi
lea esi, [ebx + 0x18]
push dword [eax]
push 2
call fcn.101a2170
push eax
push dword [ebp - 0x734]
mov ecx, esi
push dword [edi + 0xec]
push dword [ebp - 0x6fc]
push dword [ebp - 0x6e8]
call fcn.10126970
lea ecx, [ebp - 0x700]
call fcn.10007e10
cmp dword [edi + 0x14c], 2
jne 0x1019f187
call fcn.100ddff0
test eax, eax
je 0x1019f187
push dword [ebx + 0x14]
call fcn.10191860
add esp, 4
test eax, eax
je 0x1019f187
push 1
push dword [ebx + 0x14]
mov ecx, esi
call fcn.101271d0
jmp 0x1019f1a6
mov esi, dword [ebx + 0x14]
mov ecx, 0x1025b450
push 0
push 0
call fcn.10009be0
push eax
push 1
push esi
lea esi, [ebx + 0x18]
mov ecx, esi
call fcn.10123f40
mov ecx, esi
call fcn.10124190
push 0
push dword [ebx + 0x14]
push 5
push 4
call dword [sym.imp.SHELL32.dll_SHChangeNotify]
jmp 0x1019f319
cmp dword [ebp + 0x14], 2
jge 0x1019f39b
push 1
push esi
lea ecx, [ebp - 0x75c]
call fcn.10184120
push esi
lea ecx, [ebp - 0x750]
mov dword [ebp - 0x73c], 0x14
call fcn.10008170
mov ecx, dword [ebp - 0x704]
mov dword [ebp - 0x730], 0xffffffff
mov dword [ebp - 0x734], 4
cmp ecx, 1
je 0x1019f372
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x1019f34d
cmp eax, 1
jne 0x1019f32f
lea ecx, [ebp - 0x6e8]
call fcn.1001b890
lea ecx, [ebp - 0x6fc]
call fcn.1001b890
lea eax, [ebp - 0x6fc]
mov ecx, edi
push eax
lea eax, [ebp - 0x6e8]
push eax
push 2
lea eax, [ebp - 0x75c]
push eax
push ebx
call fcn.10190a90
mov eax, dword [edi]
lea ecx, [ebp - 0x700]
push ecx
mov ecx, edi
call dword [eax + 0x1c]
mov ecx, edi
push dword [eax]
push 2
call fcn.101a2170
push eax
push dword [ebp - 0x734]
lea ecx, [ebx + 0x18]
push dword [edi + 0xec]
push dword [ebp - 0x6fc]
push dword [ebp - 0x6e8]
call fcn.10126970
lea ecx, [ebp - 0x700]
call fcn.10007e10
push dword [ebx + 0x14]
call fcn.100dcd40
add esp, 4
test eax, eax
je 0x1019f2cc
mov esi, dword [ebx + 0x14]
mov ecx, 0x1025b450
push 0
call fcn.10009be0
push eax
push 1
push esi
lea ecx, [ebx + 0x18]
call fcn.10125f70
jmp 0x1019f319
cmp dword [edi + 0x14c], 2
jne 0x1019f2fc
call fcn.100ddff0
test eax, eax
je 0x1019f2fc
push dword [ebx + 0x14]
call fcn.10191860
add esp, 4
test eax, eax
je 0x1019f2fc
push 1
push dword [ebx + 0x14]
lea ecx, [ebx + 0x18]
call fcn.101271d0
jmp 0x1019f319
mov esi, dword [ebx + 0x14]
mov ecx, 0x1025b450
push 0
push 0
call fcn.10009be0
push eax
push 1
push esi
lea ecx, [ebx + 0x18]
call fcn.10123f40
lea ecx, [ebp - 0x6fc]
call fcn.10007e10
lea ecx, [ebp - 0x6e8]
call fcn.10007e10
push 0x10204674
push 0
push dword [ebx + 0x14]
push dword [edi + 0xc4]
call fcn.10026170
mov ecx, eax
call fcn.1002b1e0
jmp 0x1019f372
push 0x10202940
push 0x10202940
push 0x10202940
push 0
push 1
push ecx
push 2
lea eax, [ebp - 0x75c]
mov ecx, edi
push eax
push ebx
call fcn.10190070
lea ecx, [ebp - 0x75c]
call fcn.100e54a0
push dword [ebp - 0x760]
mov esi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov ebx, 0x14
call esi
mov eax, dword [ebp - 0x724]
jmp 0x101a11de
mov eax, dword [ebp - 0x724]
lea edx, [ebp - 0x768]
push edx
mov dword [ebp - 0x768], 0
lea edx, [ebp - 0x788]
mov dword [ebp - 0x77c], 0
mov dword [ebp - 0x778], 0
mov dword [ebp - 0x76c], 0
mov dword [ebp - 0x788], 0
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x1c]
mov eax, dword [ebp - 0x724]
lea edx, [ebp - 0x77c]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x14]
mov eax, dword [ebp - 0x724]
lea edx, [ebp - 0x76c]
push edx
lea edx, [ebp - 0x778]
push edx
mov ecx, dword [eax]
push eax
call dword [ecx + 0xc]
mov eax, dword [ebx + 4]
lea ecx, [ebx + 4]
mov dword [ebp - 0x700], ecx
cmp dword [eax - 0xc], 0
jne 0x1019f439
push dword [ebp - 0x768]
call fcn.10008170
mov eax, dword [ebp - 0x788]
mov dword [ebx], eax
mov eax, dword [ebx + 0x10]
lea ecx, [ebx + 0x10]
mov dword [ebp - 0x714], ecx
cmp dword [eax - 0xc], 0
jne 0x1019f456
push dword [ebp - 0x77c]
call fcn.10008170
mov eax, dword [ebx + 8]
lea ecx, [ebx + 8]
mov dword [ebp - 0x6e8], ecx
cmp dword [eax - 0xc], 0
jne 0x1019f481
push dword [ebp - 0x778]
call fcn.10008170
push dword [ebp - 0x76c]
lea ecx, [ebx + 0xc]
call fcn.10008170
mov eax, dword [ebp - 0x724]
lea edx, [ebp - 0x770]
mov dword [ebp - 0x770], 0
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x10]
mov eax, dword [ebp - 0x724]
lea edx, [ebp - 0x764]
mov dword [ebp - 0x720], 0
mov dword [ebp - 0x764], 0
push edx
mov ecx, dword [eax]
push eax
call dword [ecx + 0x58]
cmp dword [ebp - 0x764], 0
mov esi, 1
mov dword [ebp - 0x70c], esi
je 0x1019f644
push dword [ebp - 0x760]
call dword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
jne 0x1019f644
mov ecx, dword [0x1025b434]
mov dword [ebp - 0x710], eax
test ecx, ecx
je 0x1019f532
mov eax, dword [ecx]
lea edx, [ebp - 0x710]
push edx
push esi
push dword [ebp - 0x76c]
push dword [ebp - 0x764]
push ecx
call dword [eax + 0x24]
mov eax, dword [ebp - 0x710]
test eax, eax
je 0x1019f532
mov ecx, dword [eax]
lea edx, [ebp - 0x720]
push edx
push eax
call dword [ecx + 0x24]
push dword [ebp - 0x760]
call dword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
jne 0x1019f634
mov eax, dword [ebp - 0x720]
xor ecx, ecx
mov dword [ebp - 0x6f0], ecx
test eax, eax
je 0x1019f571
mov ecx, dword [eax]
lea edx, [ebp - 0x6f0]
push edx
push eax
call dword [ecx + 0xc]
mov eax, dword [ebp - 0x720]
mov ecx, dword [ebp - 0x6f0]
xor esi, esi
test ecx, ecx
je 0x1019f62f
jmp 0x1019f580
lea edx, [ebp - 0x6f8]
mov dword [ebp - 0x6f8], 0
mov ecx, dword [eax]
push edx
push esi
push eax
call dword [ecx + 0x10]
mov ecx, dword [0x1025b434]
xor eax, eax
mov dword [ebp - 0x6fc], eax
test ecx, ecx
je 0x1019f5c5
mov eax, dword [ecx]
lea edx, [ebp - 0x6fc]
push edx
push 1
push dword [ebp - 0x6f8]
push ecx
call dword [eax + 0x3c]
mov eax, dword [ebp - 0x6fc]
mov dword [ebp - 0x71c], 0
test eax, eax
je 0x1019f5f3
mov ecx, dword [eax]
lea edx, [ebp - 0x71c]
push edx
push eax
call dword [ecx + 0x34]
mov eax, dword [ebp - 0x6fc]
test eax, eax
je 0x1019f5f3
cmp dword [ebp - 0x71c], 0
jne 0x1019f5fd
mov dword [ebp - 0x70c], 0
test eax, eax
je 0x1019f607
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push dword [ebp - 0x6f8]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
inc esi
cmp esi, dword [ebp - 0x6f0]
jae 0x1019f627
mov eax, dword [ebp - 0x720]
jmp 0x1019f580
mov esi, dword [ebp - 0x70c]
jmp 0x1019f634
mov esi, 1
mov eax, dword [ebp - 0x710]
test eax, eax
je 0x1019f644
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x724]
lea edx, [ebp - 0x78c]
mov dword [ebp - 0x78c], 0
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x44]
test esi, esi
je 0x1019f685
push dword [ebp - 0x760]
call dword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
jne 0x1019f84e
cmp dword [ebp - 0x764], eax
jne 0x1019f84e
cmp dword [ebp - 0x78c], 0
jne 0x1019f84e
push 1
push dword [ebp - 0x718]
lea ecx, [ebp - 0x75c]
call fcn.10184120
mov eax, esi
lea ecx, [ebp - 0x750]
neg eax
push 0
sbb eax, eax
and eax, 7
inc eax
push 0x10202940
mov dword [ebp - 0x73c], eax
call fcn.10003740
mov dword [ebp - 0x730], 0xffffffff
test esi, esi
je 0x1019f6e1
mov dword [ebp - 0x734], 4
jmp 0x1019f6f0
push 2
mov ecx, edi
call fcn.10196dd0
mov dword [ebp - 0x734], eax
mov ecx, dword [ebp - 0x704]
cmp ecx, 1
je 0x1019f833
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x1019f80e
cmp eax, 1
jne 0x1019f7f0
lea ecx, [ebp - 0x6e8]
call fcn.1001b890
lea ecx, [ebp - 0x6fc]
call fcn.1001b890
lea eax, [ebp - 0x6fc]
mov ecx, edi
push eax
lea eax, [ebp - 0x6e8]
push eax
push 2
lea eax, [ebp - 0x75c]
push eax
push ebx
call fcn.10190a90
mov eax, dword [edi]
lea ecx, [ebp - 0x700]
push ecx
mov ecx, edi
call dword [eax + 0x1c]
mov ecx, edi
push dword [eax]
push 2
call fcn.101a2170
push eax
push dword [ebp - 0x734]
lea ecx, [ebx + 0x18]
push dword [edi + 0xec]
push dword [ebp - 0x6fc]
push dword [ebp - 0x6e8]
call fcn.10126970
lea ecx, [ebp - 0x700]
call fcn.10007e10
cmp dword [edi + 0x14c], 2
jne 0x1019f7bd
call fcn.100ddff0
test eax, eax
je 0x1019f7bd
push dword [ebx + 0x14]
call fcn.10191860
add esp, 4
test eax, eax
je 0x1019f7bd
push 1
push dword [ebx + 0x14]
lea ecx, [ebx + 0x18]
call fcn.101271d0
jmp 0x1019f7da
mov esi, dword [ebx + 0x14]
mov ecx, 0x1025b450
push 0
push 0
call fcn.10009be0
push eax
push 1
push esi
lea ecx, [ebx + 0x18]
call fcn.10123f40
lea ecx, [ebp - 0x6fc]
call fcn.10007e10
lea ecx, [ebp - 0x6e8]
call fcn.10007e10
push 0x10204674
push 0
push dword [ebx + 0x14]
push dword [edi + 0xc4]
call fcn.10026170
mov ecx, eax
call fcn.1002b1e0
jmp 0x1019f833
push 0x10202940
push 0x10202940
push 0x10202940
push 0
push 1
push ecx
push 2
lea eax, [ebp - 0x75c]
mov ecx, edi
push eax
push ebx
call fcn.10190070
lea ecx, [ebp - 0x75c]
call fcn.100e54a0
mov eax, dword [ebp - 0x720]
mov ebx, 1
jmp 0x101a118c
mov eax, dword [ebp - 0x770]
lea edx, [ebp - 0x784]
mov dword [ebp - 0x784], 0
push edx
push eax
mov ecx, dword [eax]
mov dword [ebp - 0x6f0], 0
call dword [ecx + 0xc]
xor esi, esi
mov dword [ebp - 0x710], esi
cmp dword [ebp - 0x784], esi
jbe 0x101a10a4
lea esp, [esp]
mov eax, dword [ebp - 0x770]
lea edx, [ebp - 0x6fc]
push edx
mov dword [ebp - 0x6fc], 0
push esi
mov ecx, dword [eax]
push eax
call dword [ecx + 0x10]
push dword [ebp - 0x6fc]
lea ecx, [ebp - 0x75c]
call fcn.100e52b0
mov eax, dword [ebp - 0x744]
or ebx, 0xffffffff
sub eax, dword [ebp - 0x748]
and eax, 0xfffffffc
mov dword [ebp - 0x70c], ebx
cmp eax, 0xfffffffc
jle 0x1019fde7
call fcn.10002d70
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x6f8], esi
cmp ebx, 0xffffffff
jne 0x1019f9bc
mov edx, dword [ebp - 0x750]
lea edi, [esi - 0x10]
lea ecx, [edx - 0x10]
cmp ecx, edi
je 0x1019f956
cmp dword [edi + 0xc], 0
lea esi, [edi + 0xc]
jl 0x1019f941
mov eax, dword [ecx]
cmp eax, dword [edi]
jne 0x1019f941
push ecx
call fcn.10002a60
add esp, 4
mov ebx, eax
or ecx, 0xffffffff
lock xadd dword [esi], ecx
dec ecx
test ecx, ecx
jg 0x1019f93c
mov ecx, dword [edi]
push edi
mov edx, dword [ecx]
call dword [edx + 4]
lea esi, [ebx + 0x10]
jmp 0x1019f956
push dword [edx - 0xc]
lea ecx, [ebp - 0x6f8]
push edx
call fcn.10003740
mov esi, dword [ebp - 0x6f8]
push 0
lea ecx, [ebp - 0x6e4]
call fcn.1005b320
push 0
push 0x10202940
push esi
push 0x10202940
push 0x10202940
push 0xc5
lea ecx, [ebp - 0x6e4]
call fcn.1005ccb0
cmp eax, 3
jl 0x1019fdbe
mov edi, dword [ebp - 0x708]
mov ecx, edi
push 0
push dword [ebp - 0x74c]
push esi
call fcn.101960b0
mov ebx, eax
lea ecx, [ebp - 0x6e4]
mov dword [ebp - 0x6f8], ebx
call fcn.1005b6b0
jmp 0x1019fa39
mov eax, dword [ebp - 0x748]
mov edx, dword [eax + ebx*4]
lea ebx, [esi - 0x10]
lea ecx, [edx - 0x10]
cmp ecx, ebx
je 0x1019fa21
cmp dword [ebx + 0xc], 0
lea esi, [ebx + 0xc]
jl 0x1019fa0c
mov eax, dword [ecx]
cmp eax, dword [ebx]
jne 0x1019fa0c
push ecx
call fcn.10002a60
add esp, 4
mov dword [ebp - 0x728], eax
or ecx, 0xffffffff
lock xadd dword [esi], ecx
dec ecx
test ecx, ecx
jg 0x1019fa07
mov ecx, dword [ebx]
push ebx
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp - 0x728]
lea esi, [eax + 0x10]
jmp 0x1019fa21
push dword [edx - 0xc]
lea ecx, [ebp - 0x6f8]
push edx
call fcn.10003740
mov esi, dword [ebp - 0x6f8]
push 0
push dword [ebp - 0x74c]
mov ecx, edi
push esi
call fcn.101960b0
mov ebx, eax
mov dword [ebp - 0x6f8], ebx
mov dword [ebp - 0x728], ebx
cmp ebx, 3
jne 0x1019fa72
cmp dword [ebp - 0x70c], 0xffffffff
jne 0x1019fa7b
lea eax, [ebp - 0x728]
mov ecx, edi
push eax
push dword [ebp - 0x750]
call fcn.10190860
mov ebx, dword [ebp - 0x728]
mov dword [ebp - 0x73c], eax
jmp 0x1019fed3
cmp ebx, 9
je 0x1019fec9
cmp ebx, 8
jne 0x1019fc16
mov ecx, dword [ebp - 0x718]
xor eax, eax
mov dword [ebp - 0x728], 0
mov dword [ebp - 0x41c], 0
mov dword [ebp - 0x418], 7
mov word [ebp - 0x42c], ax
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1019fab4
sub ecx, edx
sar ecx, 1
push ecx
push dword [ebp - 0x718]
lea ecx, [ebp - 0x42c]
call fcn.100070c0
mov eax, dword [edi]
lea ecx, [ebp - 0x790]
push ecx
mov ecx, edi
call dword [eax + 0x1c]
push dword [edi + 0xe4]
xor ecx, ecx
cmp dword [ebp - 0x704], 1
sete cl
lea ecx, [ecx*2 + 1]
push ecx
lea ecx, [ebp - 0x42c]
push ecx
push dword [eax]
lea ecx, [ebp - 0x464]
call fcn.100fa510
mov edx, dword [ebp - 0x790]
or eax, 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x1019fb2f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x42c]
call fcn.10005250
mov ecx, dword [ebp - 0x6ec]
lea eax, [ecx + 0x120]
push eax
lea eax, [ebp - 0x728]
push eax
push esi
lea eax, [ebp - 0x464]
push eax
mov eax, dword [edi]
push dword [ecx + 0x14]
mov ecx, edi
call dword [eax + 0x78]
push eax
call fcn.100a7350
add esp, 0x18
test eax, eax
je 0x1019fe90
mov eax, dword [ebp - 0x728]
dec eax
cmp eax, 5
ja case.0x1019fb81.2
jmp dword [eax*4 + 0x101a1200]
test byte [edi + 0xe4], 4
je case.0x1019fb81.4
mov eax, dword [ebp - 0x780]
push dword [eax]
call fcn.10191060
add esp, 4
cmp eax, 1
jne case.0x1019fb81.4
mov eax, dword [ebp - 0x6e8]
mov edi, dword [eax]
mov eax, dword [ebp - 0x700]
mov ebx, dword [eax]
mov eax, dword [ebp - 0x6ec]
mov eax, dword [eax + 0x124]
mov dword [ebp - 0x728], eax
call fcn.10175b00
mov ecx, dword [ebp - 0x708]
push eax
mov eax, dword [ecx]
call dword [eax + 0x50]
push eax
mov eax, dword [ebp - 0x6ec]
push 8
push edi
mov edi, dword [ebp - 0x708]
push dword [eax]
push ebx
push dword [ebp - 0x728]
lea ecx, [edi + 0xf0]
call fcn.101aaf80
mov ebx, dword [ebp - 0x6f8]
lea ecx, [ebp - 0x464]
call fcn.100a68a0
cmp ebx, 0xa
jne 0x1019fc68
push 0
lea ecx, [ebp - 0x6e4]
call fcn.1005b320
push 0
push 0x10202940
push dword [ebp - 0x718]
lea ecx, [ebp - 0x6e4]
push 0x10202940
push 0x10202940
push 0xc5
call fcn.1005ccb0
cmp eax, 3
jge 0x101a0535
lea ecx, [ebp - 0x6e4]
call fcn.1005b6b0
jmp 0x1019fd80
cmp ebx, 0xb
je 0x1019fc77
cmp ebx, 0xc
je 0x1019fc77
cmp ebx, 0xd
jne 0x1019fcce
push 0
lea ecx, [ebp - 0x6e4]
call fcn.1005b320
push 0
push 0x10202940
push dword [ebp - 0x718]
lea ecx, [ebp - 0x6e4]
push 0x10202940
push 0x10202940
push 0xc5
call fcn.1005ccb0
cmp eax, 3
jl 0x1019fcc3
push esi
mov ecx, 0x1025ac18
call fcn.100dff10
test eax, eax
je 0x101a06d9
lea ecx, [ebp - 0x6e4]
call fcn.1005b6b0
cmp ebx, 2
je 0x1019fce6
cmp ebx, 1
je 0x1019fce6
cmp ebx, 5
je 0x1019fce6
cmp ebx, 6
jne 0x1019fd80
push esi
mov ecx, 0x1025ac18
call fcn.100dff10
test eax, eax
jne 0x1019fd80
mov ebx, dword [ebp + 0x14]
test ebx, ebx
jle 0x101a0ccf
push esi
call dword [sym.imp.SHLWAPI.dll_PathFindExtensionW]
push eax
lea ecx, [ebp - 0x71c]
call fcn.10002490
push str..lnk
push dword [ebp - 0x71c]
call sub.msvcrt.dll__wcsicmp
add esp, 8
test eax, eax
jne 0x1019fd3d
mov eax, dword [ebp - 0x70c]
cmp eax, 0xffffffff
jne 0x101a087d
push dword [ebp - 0x768]
call dword [sym.imp.OLEAUT32.dll_VariantInit]
mov edx, dword [edi]
neg eax
mov ecx, edi
sbb eax, eax
neg eax
push eax
push dword [ebp - 0x704]
push ebx
push dword [ebp + 0x10]
push dword [ebp - 0x6ec]
push esi
call dword [edx + 0x84]
mov ebx, eax
test ebx, ebx
jne 0x101a0cbf
lea ecx, [ebp - 0x71c]
call fcn.10007e10
add esi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x1019fd98
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x744]
mov ebx, dword [ebp - 0x70c]
sub eax, dword [ebp - 0x748]
inc ebx
sar eax, 2
mov dword [ebp - 0x70c], ebx
cmp ebx, eax
jl 0x1019f8e0
jmp 0x1019fde1
lea ecx, [ebp - 0x6e4]
call fcn.1005b6b0
add esi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x1019fde1
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [ebp - 0x710]
mov ebx, dword [ebp - 0x6f0]
lea ecx, [ebp - 0x748]
call fcn.1002a3c0
mov edx, dword [ebp - 0x74c]
or eax, 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x1019fe16
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x750]
or eax, 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x1019fe34
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x758]
or eax, 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x1019fe52
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0x75c]
test ecx, ecx
je 0x1019fe62
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov eax, dword [ebp - 0x6fc]
test eax, eax
je 0x1019fe72
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
inc esi
mov dword [ebp - 0x710], esi
cmp esi, dword [ebp - 0x784]
jae 0x101a1084
mov edi, dword [ebp - 0x708]
jmp 0x1019f890
mov ebx, 1
lea ecx, [ebp - 0x464]
mov dword [ebp - 0x6f0], ebx
call fcn.100a68a0
add esi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x1019febe
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [ebp - 0x710]
jmp 0x1019fded
mov dword [ebp - 0x73c], 0xe
test ebx, ebx
je 0x1019fdc9
mov eax, dword [ebp - 0x70c]
mov dword [ebp - 0x730], eax
cmp eax, 0xffffffff
jne 0x101a0e5d
cmp dword [esi - 0xc], 2
jle 0x1019ff01
cmp word [esi + 2], 0x3a
je 0x101a0e81
mov dword [ebp - 0x734], 2
jmp 0x101a0e8b
cmp dword [ebp - 0x704], 1
je 0x101a0520
mov eax, dword [ebp - 0x70c]
lea ecx, [ebp - 0x6f0]
push dword [ebp - 0x714]
mov dword [ebp - 0x73c], 4
mov dword [ebp - 0x734], 4
mov dword [ebp - 0x730], eax
call fcn.1001b810
lea ecx, [ebp - 0x6f0]
call fcn.10109170
mov ebx, dword [ebp - 0x6e8]
push dword [ebx]
call fcn.1000aa00
add esp, 4
test eax, eax
jne 0x101a000a
push 0x410
push eax
lea eax, [ebp - 0x414]
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
lea eax, [ebp - 0x414]
push 0
push eax
push 0x208
push 0
push dword [ebx]
push 0
call dword [sym.imp.KERNEL32.dll_SearchPathW]
test eax, eax
je 0x1019ffd4
cmp eax, 0x208
jae 0x1019ffd4
lea ecx, [ebp - 0x414]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1019ffb4
sub ecx, edx
lea eax, [ebp - 0x414]
sar ecx, 1
push ecx
push eax
mov ecx, ebx
call fcn.10003740
jmp 0x101a000a
push dword [ebx]
lea eax, [ebp - 0x6f8]
push eax
call fcn.100092f0
mov eax, dword [ebp - 0x6f8]
add esp, 8
cmp dword [eax - 0xc], 0
je 0x1019ffff
lea eax, [ebp - 0x6f8]
mov ecx, ebx
push eax
call fcn.10002790
lea ecx, [ebp - 0x6f8]
call fcn.10007e10
mov ecx, ebx
call fcn.10109170
push 0
lea ecx, [ebp - 0x6e4]
call fcn.1005b320
push 0
push 0x10202940
push dword [ebp - 0x6f0]
lea ecx, [ebp - 0x6e4]
push 0x10202940
push 0x10202940
push 0xb5
call fcn.1005ccb0
cmp eax, 3
jl 0x101a0053
cmp dword [edi + 0xf4], 4
jne 0x101a00aa
mov eax, dword [ebx]
cmp dword [eax - 0xc], 0
je 0x101a00aa
mov eax, 1
mov ecx, ebx
push str..EXE
mov dword [ebp - 0x6f4], eax
lea eax, [ebp - 0x714]
push 4
push eax
call fcn.1000a000
push eax
call fcn.1005b7e0
add esp, 8
test al, al
je 0x101a00aa
mov eax, 1
mov dword [ebp - 0x6f4], eax
push dword [ebx]
call fcn.1000aa00
add esp, 4
test eax, eax
je 0x101a00aa
mov bl, 1
mov eax, 1
jmp 0x101a00b2
mov eax, dword [ebp - 0x6f4]
xor bl, bl
test al, 1
je 0x101a00c1
lea ecx, [ebp - 0x714]
call fcn.10007e10
test bl, bl
je 0x101a03b8
mov eax, dword [ebp - 0x6ec]
push dword [eax + 0x14]
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
push eax
lea ecx, [ebp - 0x6f8]
call fcn.10002490
mov edi, dword [ebp - 0x6f8]
cmp dword [edi - 4], 1
jle 0x101a0104
push dword [edi - 0xc]
lea ecx, [ebp - 0x6f8]
call fcn.10002c20
mov edi, dword [ebp - 0x6f8]
push edi
call dword [sym.imp.SHLWAPI.dll_PathRemoveExtensionW]
push dword [edi - 8]
push edi
call fcn.101e6fd0
xor ecx, ecx
mov dword [edi - 0xc], eax
add esp, 8
mov word [edi + eax*2], cx
lea ecx, [ebp - 0x4bc]
call fcn.101aa050
mov eax, dword [ebp - 0x6e8]
mov ebx, dword [eax]
call fcn.10175b00
mov ecx, dword [ebp - 0x708]
push eax
mov eax, dword [ecx]
call dword [eax + 0x50]
push eax
push 0
push ebx
push 0
push ebx
push edi
lea ecx, [ebp - 0x4bc]
call fcn.101aaf80
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x101a035c
cmp eax, 1
jne 0x101a0332
lea ecx, [ebp - 0x718]
call fcn.1001b890
lea ecx, [ebp - 0x6e8]
call fcn.1001b890
mov edi, dword [ebp - 0x6ec]
lea eax, [ebp - 0x6e8]
mov ebx, dword [ebp - 0x708]
mov ecx, ebx
push eax
lea eax, [ebp - 0x718]
push eax
push 1
lea eax, [ebp - 0x75c]
push eax
push edi
call fcn.10190a90
mov eax, dword [ebx]
lea ecx, [ebp - 0x714]
push ecx
mov ecx, ebx
call dword [eax + 0x1c]
lea ecx, [edi + 0x18]
mov dword [ebp - 0x6f4], ecx
mov ecx, ebx
push dword [eax]
push 1
call fcn.101a2170
push eax
push dword [ebp - 0x734]
lea ecx, [edi + 0x18]
push dword [ebx + 0xec]
push dword [ebp - 0x6e8]
push dword [ebp - 0x718]
call fcn.10126970
lea ecx, [ebp - 0x714]
call fcn.10007e10
lea ecx, [ebp - 0x4bc]
call fcn.10191840
test al, al
jne 0x101a027b
mov edi, dword [edi + 0x14]
mov ecx, 0x1025b450
push 0
push 0
call fcn.10009be0
mov ecx, dword [ebp - 0x6f4]
push eax
push 0
push edi
call fcn.10123f40
mov eax, dword [ebp - 0x6ec]
mov ecx, 0x1025b450
push 0
mov edi, dword [eax + 0x14]
call fcn.10009be0
mov ecx, dword [ebp - 0x6f4]
push eax
push edi
call fcn.10124e90
mov ecx, dword [ebp - 0x6f4]
call fcn.10124190
mov edi, dword [ebp - 0x6ec]
push 0
push dword [edi + 0x14]
push dword [edi + 8]
call fcn.100d9aa0
add esp, 0xc
mov dword [ebp - 0x700], 0x102104d0
jmp 0x101a02fb
cmp dword [ebx + 0x14c], 2
jne 0x101a02c0
call fcn.100ddff0
test eax, eax
je 0x101a02c0
push dword [edi + 0x14]
call fcn.10191860
add esp, 4
test eax, eax
je 0x101a02c0
push 1
push dword [edi + 0x14]
lea ecx, [edi + 0x18]
call fcn.101271d0
lea ecx, [edi + 0x18]
call fcn.10124190
push 1
push dword [edi + 0x14]
call fcn.100d9c10
add esp, 8
jmp 0x101a02f1
mov edi, dword [edi + 0x14]
mov ecx, 0x1025b450
push 0
push 0
call fcn.10009be0
mov ecx, dword [ebp - 0x6f4]
push eax
push 0
push edi
call fcn.10123f40
mov ecx, dword [ebp - 0x6f4]
call fcn.10124190
mov edi, dword [ebp - 0x6ec]
mov dword [ebp - 0x700], 0x10204674
mov edi, dword [edi + 0x14]
mov ebx, dword [ebx + 0xc4]
call fcn.10026170
push dword [ebp - 0x700]
mov ecx, eax
push 0
push edi
push ebx
call fcn.1002b1e0
lea ecx, [ebp - 0x6e8]
call fcn.10007e10
lea ecx, [ebp - 0x718]
call fcn.10007e10
jmp 0x101a039d
mov eax, dword [ebp - 0x6ec]
push 0x10204674
push 0
push dword [eax + 0x14]
mov eax, dword [ebp - 0x708]
push dword [eax + 0xc4]
call fcn.10026170
mov ecx, eax
call fcn.1002b1e0
jmp 0x101a039d
push 0x10202940
push 0x10202940
push 0x10202940
push 0
push 1
push dword [ebp - 0x704]
lea ecx, [ebp - 0x4bc]
call fcn.10191840
mov ecx, dword [ebp - 0x708]
movzx eax, al
inc eax
push eax
lea eax, [ebp - 0x75c]
push eax
push dword [ebp - 0x6ec]
call fcn.10190070
lea ecx, [ebp - 0x4bc]
call fcn.101aa660
lea ecx, [ebp - 0x6f8]
call fcn.10007e10
jmp 0x101a050a
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x101a04db
cmp eax, 1
jne 0x101a04b7
lea ecx, [ebp - 0x6e8]
call fcn.1001b890
lea ecx, [ebp - 0x6f4]
call fcn.1001b890
mov ebx, dword [ebp - 0x6ec]
lea eax, [ebp - 0x6f4]
push eax
lea eax, [ebp - 0x6e8]
mov ecx, edi
push eax
push 2
lea eax, [ebp - 0x75c]
push eax
push ebx
call fcn.10190a90
mov eax, dword [edi]
lea ecx, [ebp - 0x714]
push ecx
mov ecx, edi
call dword [eax + 0x1c]
mov ecx, edi
push dword [eax]
push 2
call fcn.101a2170
push eax
push dword [ebp - 0x734]
lea ecx, [ebx + 0x18]
push dword [edi + 0xec]
push dword [ebp - 0x6f4]
push dword [ebp - 0x6e8]
call fcn.10126970
lea ecx, [ebp - 0x714]
call fcn.10007e10
cmp dword [edi + 0x14c], 2
jne 0x101a047c
call fcn.100ddff0
test eax, eax
je 0x101a047c
push dword [ebx + 0x14]
call fcn.10191860
add esp, 4
test eax, eax
je 0x101a047c
push 1
push dword [ebx + 0x14]
lea ecx, [ebx + 0x18]
call fcn.101271d0
jmp 0x101a049f
mov edi, dword [ebx + 0x14]
mov ecx, 0x1025b450
push 0
push 0
call fcn.10009be0
push eax
push 1
push edi
lea ecx, [ebx + 0x18]
call fcn.10123f40
mov edi, dword [ebp - 0x708]
lea ecx, [ebp - 0x6f4]
call fcn.10007e10
lea ecx, [ebp - 0x6e8]
call fcn.10007e10
jmp 0x101a04bd
mov ebx, dword [ebp - 0x6ec]
push 0x10204674
push 0
push dword [ebx + 0x14]
push dword [edi + 0xc4]
call fcn.10026170
mov ecx, eax
call fcn.1002b1e0
jmp 0x101a050a
push 0x10202940
push 0x10202940
push 0x10202940
push 0
push 1
push dword [ebp - 0x704]
lea eax, [ebp - 0x75c]
mov ecx, edi
push 2
push eax
push dword [ebp - 0x6ec]
call fcn.10190070
lea ecx, [ebp - 0x6e4]
call fcn.1005b6b0
lea ecx, [ebp - 0x6f0]
call fcn.10007e10
lea ecx, [ebp - 0x464]
call fcn.100a68a0
mov ebx, 4
jmp 0x101a1046
mov ecx, dword [ebp - 0x704]
cmp ecx, 1
je 0x101a06c4
mov eax, dword [ebp - 0x70c]
mov dword [ebp - 0x730], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x734], 4
mov dword [ebp - 0x73c], 6
test eax, eax
je 0x101a069a
cmp eax, 1
jne 0x101a0663
lea ecx, [ebp - 0x6e8]
call fcn.1001b890
lea ecx, [ebp - 0x6f4]
call fcn.1001b890
mov ebx, dword [ebp - 0x6ec]
lea eax, [ebp - 0x6f4]
push eax
lea eax, [ebp - 0x6e8]
mov ecx, edi
push eax
push 2
lea eax, [ebp - 0x75c]
push eax
push ebx
call fcn.10190a90
mov eax, dword [edi]
lea ecx, [ebp - 0x714]
push ecx
mov ecx, edi
call dword [eax + 0x1c]
mov ecx, edi
push dword [eax]
push 2
call fcn.101a2170
push eax
push dword [ebp - 0x734]
lea ecx, [ebx + 0x18]
push dword [edi + 0xec]
push dword [ebp - 0x6f4]
push dword [ebp - 0x6e8]
call fcn.10126970
lea ecx, [ebp - 0x714]
call fcn.10007e10
cmp dword [edi + 0x14c], 2
jne 0x101a0628
call fcn.100ddff0
test eax, eax
je 0x101a0628
push dword [ebx + 0x14]
call fcn.10191860
add esp, 4
test eax, eax
je 0x101a0628
push 1
push dword [ebx + 0x14]
lea ecx, [ebx + 0x18]
call fcn.101271d0
jmp 0x101a064b
mov edi, dword [ebx + 0x14]
mov ecx, 0x1025b450
push 0
push 0
call fcn.10009be0
push eax
push 1
push edi
lea ecx, [ebx + 0x18]
call fcn.10123f40
mov edi, dword [ebp - 0x708]
lea ecx, [ebp - 0x6f4]
call fcn.10007e10
lea ecx, [ebp - 0x6e8]
call fcn.10007e10
jmp 0x101a0669
mov ebx, dword [ebp - 0x6ec]
push 0x10204674
push 0
push dword [ebx + 0x14]
push dword [edi + 0xc4]
call fcn.10026170
mov ecx, eax
call fcn.1002b1e0
lea ecx, [ebp - 0x6e4]
call fcn.1005b6b0
mov ebx, 6
jmp 0x101a1046
push 0x10202940
push 0x10202940
push 0x10202940
push 0
push 1
push ecx
push 2
lea eax, [ebp - 0x75c]
mov ecx, edi
push eax
push dword [ebp - 0x6ec]
call fcn.10190070
lea ecx, [ebp - 0x6e4]
call fcn.1005b6b0
mov ebx, 6
jmp 0x101a1046
mov ecx, dword [ebp - 0x704]
cmp ecx, 1
je 0x101a0868
mov eax, dword [ebp - 0x70c]
mov dword [ebp - 0x730], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x734], 4
mov dword [ebp - 0x73c], 0xb
test eax, eax
je 0x101a083e
cmp eax, 1
jne 0x101a0807
lea ecx, [ebp - 0x6e8]
call fcn.1001b890
lea ecx, [ebp - 0x6f4]
call fcn.1001b890
mov ebx, dword [ebp - 0x6ec]
lea eax, [ebp - 0x6f4]
push eax
lea eax, [ebp - 0x6e8]
mov ecx, edi
push eax
push 2
lea eax, [ebp - 0x75c]
push eax
push ebx
call fcn.10190a90
mov eax, dword [edi]
lea ecx, [ebp - 0x714]
push ecx
mov ecx, edi
call dword [eax + 0x1c]
mov ecx, edi
push dword [eax]
push 2
call fcn.101a2170
push eax
push dword [ebp - 0x734]
lea ecx, [ebx + 0x18]
push dword [edi + 0xec]
push dword [ebp - 0x6f4]
push dword [ebp - 0x6e8]
call fcn.10126970
lea ecx, [ebp - 0x714]
call fcn.10007e10
cmp dword [edi + 0x14c], 2
jne 0x101a07cc
call fcn.100ddff0
test eax, eax
je 0x101a07cc
push dword [ebx + 0x14]
call fcn.10191860
add esp, 4
test eax, eax
je 0x101a07cc
push 1
push dword [ebx + 0x14]
lea ecx, [ebx + 0x18]
call fcn.101271d0
jmp 0x101a07ef
mov edi, dword [ebx + 0x14]
mov ecx, 0x1025b450
push 0
push 0
call fcn.10009be0
push eax
push 1
push edi
lea ecx, [ebx + 0x18]
call fcn.10123f40
mov edi, dword [ebp - 0x708]
lea ecx, [ebp - 0x6f4]
call fcn.10007e10
lea ecx, [ebp - 0x6e8]
call fcn.10007e10
jmp 0x101a080d
mov ebx, dword [ebp - 0x6ec]
push 0x10204674
push 0
push dword [ebx + 0x14]
push dword [edi + 0xc4]
call fcn.10026170
mov ecx, eax
call fcn.1002b1e0
lea ecx, [ebp - 0x6e4]
call fcn.1005b6b0
mov ebx, 0xb
jmp 0x101a1046
push 0x10202940
push 0x10202940
push 0x10202940
push 0
push 1
push ecx
push 2
lea eax, [ebp - 0x75c]
mov ecx, edi
push eax
push dword [ebp - 0x6ec]
call fcn.10190070
lea ecx, [ebp - 0x6e4]
call fcn.1005b6b0
mov ebx, 0xb
jmp 0x101a1046
mov ecx, dword [ebp - 0x704]
cmp ecx, 1
je 0x101a0cba
mov dword [ebp - 0x730], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x73c], 0x14
mov dword [ebp - 0x734], 4
test eax, eax
je 0x101a0c90
cmp eax, 1
jne 0x101a0c59
lea ecx, [ebp - 0x704]
call fcn.1001b890
lea ecx, [ebp - 0x70c]
call fcn.1001b890
mov ebx, dword [ebp - 0x6ec]
lea eax, [ebp - 0x70c]
push eax
lea eax, [ebp - 0x704]
mov ecx, edi
push eax
push 1
lea eax, [ebp - 0x75c]
push eax
push ebx
call fcn.10190a90
mov eax, dword [edi]
lea ecx, [ebp - 0x714]
push ecx
mov ecx, edi
call dword [eax + 0x1c]
mov ecx, edi
push dword [eax]
push 1
call fcn.101a2170
push eax
push dword [ebp - 0x734]
lea ecx, [ebx + 0x18]
push dword [edi + 0xec]
push dword [ebp - 0x70c]
push dword [ebp - 0x704]
call fcn.10126970
lea ecx, [ebp - 0x714]
call fcn.10007e10
mov ecx, dword [0x1025b434]
mov dword [ebp - 0x6f0], 0
test ecx, ecx
je 0x101a0b74
mov eax, dword [ecx]
lea edx, [ebp - 0x6f0]
push edx
push 1
push esi
push ecx
call dword [eax + 0x1c]
mov eax, dword [ebp - 0x6f0]
test eax, eax
je 0x101a0b74
mov dword [ebp - 0x710], 0
lea edx, [ebp - 0x710]
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x40]
push dword [ebp - 0x710]
lea ecx, [ebp - 0x718]
call fcn.10002490
lea eax, [ebp - 0x718]
push eax
call fcn.10092220
add esp, 4
push dword [ebp - 0x718]
call dword [sym.imp.SHLWAPI.dll_PathFindExtensionW]
push eax
lea ecx, [ebp - 0x6f4]
call fcn.10002490
mov eax, dword [ebp - 0x6f0]
lea edx, [ebp - 0x6f8]
mov dword [ebp - 0x6f8], 0
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x48]
mov eax, dword [ebp - 0x6f0]
lea edx, [ebp - 0x6e8]
mov dword [ebp - 0x6e8], 0
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x38]
push dword [ebp - 0x6f8]
call dword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
je 0x101a0b3a
push str..lnk
push dword [ebp - 0x6f4]
call sub.msvcrt.dll__wcsicmp
add esp, 8
test eax, eax
jne 0x101a0b3a
cmp dword [edi + 0x14c], 2
jne 0x101a0a58
call fcn.100ddff0
test eax, eax
je 0x101a0a58
push dword [ebx + 0x14]
call fcn.10191860
add esp, 4
test eax, eax
je 0x101a0a58
push 1
push dword [ebx + 0x14]
lea ecx, [ebx + 0x18]
call fcn.101271d0
jmp 0x101a0a75
mov edi, dword [ebx + 0x14]
mov ecx, 0x1025b450
push 0
push 0
call fcn.10009be0
push eax
push 0
push edi
lea ecx, [ebx + 0x18]
call fcn.10123f40
mov edi, dword [ebx + 0x14]
mov ecx, 0x1025b450
push 0
call fcn.10009be0
push eax
push edi
lea ecx, [ebx + 0x18]
call fcn.10124e90
lea ecx, [ebx + 0x18]
call fcn.10124190
push 0
push dword [ebx + 0x14]
push dword [ebp - 0x6e8]
call fcn.100d9aa0
mov eax, dword [ebp - 0x708]
add esp, 0xc
push 0x102104d0
push 0
push dword [ebx + 0x14]
push dword [eax + 0xc4]
call fcn.10026170
mov ecx, eax
call fcn.1002b1e0
push dword [ebp - 0x6e8]
mov ebx, dword [sym.imp.OLEAUT32.dll_SysStringLen]
call ebx
push dword [ebp - 0x6f8]
call ebx
lea ecx, [ebp - 0x6f4]
call fcn.10007e10
lea ecx, [ebp - 0x718]
call fcn.10007e10
push dword [ebp - 0x710]
call ebx
mov eax, dword [ebp - 0x6f0]
test eax, eax
je 0x101a0b0f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x70c]
call fcn.10007e10
lea ecx, [ebp - 0x704]
call fcn.10007e10
lea ecx, [ebp - 0x71c]
mov ebx, 0x14
call fcn.10007e10
jmp 0x101a1046
push dword [ebp - 0x6e8]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
push dword [ebp - 0x6f8]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
lea ecx, [ebp - 0x6f4]
call fcn.10007e10
lea ecx, [ebp - 0x718]
call fcn.10007e10
push dword [ebp - 0x710]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
cmp dword [edi + 0x14c], 2
jne 0x101a0ba4
call fcn.100ddff0
test eax, eax
je 0x101a0ba4
push dword [ebx + 0x14]
call fcn.10191860
add esp, 4
test eax, eax
je 0x101a0ba4
push 1
push dword [ebx + 0x14]
lea ecx, [ebx + 0x18]
call fcn.101271d0
jmp 0x101a0bc7
mov edi, dword [ebx + 0x14]
mov ecx, 0x1025b450
push 0
push 0
call fcn.10009be0
push eax
push 0
push edi
lea ecx, [ebx + 0x18]
call fcn.10123f40
mov edi, dword [ebp - 0x708]
push 0x10204674
push 0
push dword [ebx + 0x14]
push dword [edi + 0xc4]
call fcn.10026170
mov ecx, eax
call fcn.1002b1e0
lea ecx, [ebx + 0x18]
call fcn.10124190
mov eax, dword [ebx + 0x14]
mov dword [ebp - 0x700], eax
call fcn.10003180
mov edi, dword [eax + 0x154]
test edi, edi
je 0x101a0c0a
push edi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push 0x28
call fcn.10003680
add esp, 4
push 0
push dword [ebp - 0x700]
push esi
test eax, eax
je 0x101a0c25
call eax
jmp 0x101a0c2b
call dword [sym.imp.KERNEL32.dll_CopyFileW]
mov dword [ebp - 0x700], eax
test edi, edi
je 0x101a0c3c
push edi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp dword [ebp - 0x700], 0
je 0x101a0aff
push dword [ebx + 0x14]
call fcn.100d9640
add esp, 4
jmp 0x101a0aff
mov eax, dword [ebp - 0x6ec]
push 0x10204674
push 0
push dword [eax + 0x14]
push dword [edi + 0xc4]
call fcn.10026170
mov ecx, eax
call fcn.1002b1e0
lea ecx, [ebp - 0x71c]
mov ebx, 0x14
call fcn.10007e10
jmp 0x101a1046
push 0x10202940
push 0x10202940
push 0x10202940
push 0
push 1
push ecx
push 1
lea eax, [ebp - 0x75c]
mov ecx, edi
push eax
push dword [ebp - 0x6ec]
call fcn.10190070
mov ebx, 0x14
lea ecx, [ebp - 0x71c]
call fcn.10007e10
jmp 0x101a1046
mov ecx, dword [ebp - 0x704]
cmp ecx, 1
je 0x101a0e53
mov eax, dword [ebp - 0x70c]
mov dword [ebp - 0x730], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x73c], 2
mov dword [ebp - 0x734], 4
test eax, eax
je 0x101a0e29
cmp eax, 1
jne 0x101a0dfd
lea ecx, [ebp - 0x6f4]
call fcn.1001b890
lea ecx, [ebp - 0x71c]
call fcn.1001b890
mov ebx, dword [ebp - 0x6ec]
lea eax, [ebp - 0x71c]
push eax
lea eax, [ebp - 0x6f4]
mov ecx, edi
push eax
push 2
lea eax, [ebp - 0x75c]
push eax
push ebx
call fcn.10190a90
mov eax, dword [edi]
lea ecx, [ebp - 0x714]
push ecx
mov ecx, edi
call dword [eax + 0x1c]
mov ecx, edi
push dword [eax]
push 2
call fcn.101a2170
push eax
push dword [ebp - 0x734]
lea ecx, [ebx + 0x18]
push dword [edi + 0xec]
push dword [ebp - 0x71c]
push dword [ebp - 0x6f4]
call fcn.10126970
lea ecx, [ebp - 0x714]
call fcn.10007e10
cmp dword [edi + 0x14c], 2
jne 0x101a0dc2
call fcn.100ddff0
test eax, eax
je 0x101a0dc2
push dword [ebx + 0x14]
call fcn.10191860
add esp, 4
test eax, eax
je 0x101a0dc2
push 1
push dword [ebx + 0x14]
lea ecx, [ebx + 0x18]
call fcn.101271d0
jmp 0x101a0de5
mov edi, dword [ebx + 0x14]
mov ecx, 0x1025b450
push 0
push 0
call fcn.10009be0
push eax
push 1
push edi
lea ecx, [ebx + 0x18]
call fcn.10123f40
mov edi, dword [ebp - 0x708]
lea ecx, [ebp - 0x71c]
call fcn.10007e10
lea ecx, [ebp - 0x6f4]
call fcn.10007e10
jmp 0x101a0e03
mov ebx, dword [ebp - 0x6ec]
push 0x10204674
push 0
push dword [ebx + 0x14]
push dword [edi + 0xc4]
call fcn.10026170
mov ecx, eax
call fcn.1002b1e0
mov ebx, 2
jmp 0x101a1046
push 0x10202940
push 0x10202940
push 0x10202940
push 0
push 1
push ecx
push 2
lea eax, [ebp - 0x75c]
mov ecx, edi
push eax
push dword [ebp - 0x6ec]
call fcn.10190070
mov ebx, 2
jmp 0x101a1046
cmp ebx, 9
je 0x101a0e81
mov eax, dword [edi + 0xf0]
test eax, eax
je 0x1019ff01
mov dword [ebp - 0x734], 2
cmp eax, 0x100
je 0x101a0e8b
mov dword [ebp - 0x734], 4
mov eax, dword [ebp - 0x704]
cmp eax, 1
je 0x101a1040
mov ecx, dword [ebp + 0x10]
test ecx, ecx
je 0x101a1016
cmp ecx, 1
jne 0x101a0fec
call fcn.10002d70
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0xc]
add eax, 0x10
mov dword [ebp - 0x71c], eax
call fcn.10002d70
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0xc]
mov ebx, dword [ebp - 0x6ec]
add eax, 0x10
mov dword [ebp - 0x700], eax
mov ecx, edi
lea eax, [ebp - 0x700]
push eax
lea eax, [ebp - 0x71c]
push eax
push 2
lea eax, [ebp - 0x75c]
push eax
push ebx
call fcn.10190a90
mov eax, dword [edi]
lea ecx, [ebp - 0x714]
push ecx
mov ecx, edi
call dword [eax + 0x1c]
lea ecx, [ebx + 0x18]
mov dword [ebp - 0x780], ecx
mov ecx, edi
push dword [eax]
push 2
call fcn.101a2170
push eax
push dword [ebp - 0x734]
lea ecx, [ebx + 0x18]
push dword [edi + 0xec]
mov edi, dword [ebp - 0x700]
push edi
push dword [ebp - 0x71c]
call fcn.10126970
mov edx, dword [ebp - 0x714]
or eax, 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x101a0f5f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x708]
cmp dword [eax + 0x14c], 2
jne 0x101a0f95
call fcn.100ddff0
test eax, eax
je 0x101a0f95
push dword [ebx + 0x14]
call fcn.10191860
add esp, 4
test eax, eax
je 0x101a0f95
push 1
push dword [ebx + 0x14]
lea ecx, [ebx + 0x18]
call fcn.101271d0
jmp 0x101a0fb5
mov ebx, dword [ebx + 0x14]
mov ecx, 0x1025b450
push 0
push 0
call fcn.10009be0
mov ecx, dword [ebp - 0x780]
push eax
push 1
push ebx
call fcn.10123f40
or ebx, 0xffffffff
add edi, 0xfffffff0
mov eax, ebx
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x101a0fcf
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x71c]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x101a0fec
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x6ec]
push 0x10204674
push 0
push dword [eax + 0x14]
mov eax, dword [ebp - 0x708]
push dword [eax + 0xc4]
call fcn.10026170
mov ecx, eax
call fcn.1002b1e0
jmp 0x101a1040
push 0x10202940
push 0x10202940
push 0x10202940
push 0
push 1
push eax
push 2
lea eax, [ebp - 0x75c]
mov ecx, edi
push eax
push dword [ebp - 0x6ec]
call fcn.10190070
mov ebx, dword [ebp - 0x73c]
add esi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x101a105e
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x75c]
call fcn.100e54a0
mov eax, dword [ebp - 0x6fc]
test eax, eax
je 0x101a108d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x720]
jmp 0x101a118c
test ebx, ebx
je 0x101a1098
mov ebx, 0x64
mov eax, dword [ebp - 0x720]
jmp 0x101a118c
mov edi, dword [ebp - 0x708]
mov ebx, dword [ebp - 0x6ec]
mov eax, dword [ebp - 0x720]
xor ecx, ecx
mov dword [ebp - 0x774], ecx
test eax, eax
je 0x101a10cf
mov ecx, dword [eax]
lea edx, [ebp - 0x774]
push edx
push eax
call dword [ecx + 0xc]
mov eax, dword [ebp - 0x720]
mov ecx, dword [ebp - 0x774]
xor esi, esi
test ecx, ecx
je 0x101a118a
lea esp, [esp]
lea edx, [ebp - 0x6f0]
mov dword [ebp - 0x6f0], 0
mov ecx, dword [eax]
push edx
push esi
push eax
call dword [ecx + 0x10]
push str.20D04FE0_3AEA_1069_A2D8_08002B30309D
push dword [ebp - 0x6f0]
call sub.msvcrt.dll__wcsicmp
add esp, 8
test eax, eax
je 0x101a112d
push str.871C5380_42A0_1069_A2EA_08002B30309D
push dword [ebp - 0x6f0]
call sub.msvcrt.dll__wcsicmp
add esp, 8
test eax, eax
je 0x101a112d
mov ecx, 1
jmp 0x101a112f
xor ecx, ecx
mov eax, dword [edi]
push 0
push ecx
push 1
push dword [ebp - 0x704]
mov ecx, edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push ebx
push dword [ebp - 0x6f0]
call dword [eax + 0x74]
push dword [ebp - 0x6f0]
mov ebx, eax
test ebx, ebx
jne 0x101a117a
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [ebp - 0x720]
inc esi
cmp esi, dword [ebp - 0x774]
jae 0x101a118a
mov ebx, dword [ebp - 0x6ec]
jmp 0x101a10e0
mov esi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
call esi
mov eax, dword [ebp - 0x720]
jmp 0x101a1192
xor ebx, ebx
mov esi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
test eax, eax
je 0x101a119c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x770]
test eax, eax
je 0x101a11ac
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push dword [ebp - 0x76c]
call esi
push dword [ebp - 0x778]
call esi
push dword [ebp - 0x77c]
call esi
push dword [ebp - 0x768]
call esi
push dword [ebp - 0x760]
call esi
mov eax, dword [ebp - 0x724]
jmp 0x101a11de
xor ebx, ebx
test eax, eax
je 0x101a11e8
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov ecx, dword [ebp - 4]
mov eax, ebx
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.101f99c6
mov esp, ebp
pop ebp
ret 0x14