Function at 0x100155c0
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1005bfee
mov eax, dword fs:[0]
push eax
sub esp, 0x11c
mov eax, dword [0x10080440]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
call fcn.10015c60
mov ecx, eax
test ecx, ecx
je 0x10015608
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
test al, al
jne 0x10015c23
push 0xa
xor eax, eax
mov dword [ebp - 0xa4], 7
push str.GDzmtn.exe
lea ecx, [ebp - 0xb8]
mov dword [ebp - 0xa8], 0
mov word [ebp - 0xb8], ax
call fcn.10008730
push 0xa
xor eax, eax
mov dword [ebp - 4], 0
push str.GDztip.exe
lea ecx, [ebp - 0x70]
mov dword [ebp - 0x5c], 7
mov dword [ebp - 0x60], 0
mov word [ebp - 0x70], ax
call fcn.10008730
cmp dword [ebp - 0xa8], 0
mov byte [ebp - 4], 1
je 0x10015bdc
cmp dword [ebp - 0x60], 0
je 0x10015bdc
call fcn.10008320
mov ecx, eax
call fcn.100115c0
test al, al
jne 0x10015bdc
call fcn.10008320
mov ecx, eax
call fcn.10011450
test al, al
jne 0x10015bdc
push 0
call fcn.1004a90f
add esp, 4
mov esi, eax
push 1
push str.5a54d1
push str.GDftSet
call fcn.10008320
mov ecx, eax
call fcn.1000fc40
test eax, eax
jne 0x1001575f
call fcn.10008320
mov ecx, eax
call fcn.10011590
test al, al
jne 0x1001575f
push 0
push str.8ed067
push str.GDftSet
call fcn.10008320
mov ecx, eax
call fcn.1000fc40
mov edi, eax
cmp edi, 0x64
jg 0x1001575f
push 0
push str.8dd391
push str.GDftSet
call fcn.10008320
mov ecx, eax
call fcn.1000fc40
mov ecx, esi
sub ecx, eax
mov eax, ecx
cdq
xor eax, edx
sub eax, edx
cmp eax, 0x708
jl 0x10015743
lea eax, [edi + 1]
push eax
push str.8ed067
push str.GDftSet
call fcn.10008320
mov ecx, eax
call fcn.10012580
push esi
push str.8dd391
push str.GDftSet
call fcn.10008320
mov ecx, eax
call fcn.10012580
jmp 0x10015bdc
cmp byte [ebp + 8], 0
jne 0x100157aa
push 0xffffffffffffffff
push str.e35b4c
push str.GDftSet
call fcn.10008320
mov ecx, eax
call fcn.1000fc40
mov ecx, esi
sub ecx, eax
mov eax, ecx
cdq
xor eax, edx
sub eax, edx
cmp eax, 0x708
jle 0x10015bdc
push esi
push str.e35b4c
push str.GDftSet
call fcn.10008320
mov ecx, eax
call fcn.10012580
xor eax, eax
mov dword [ebp - 0x74], 7
mov dword [ebp - 0x78], 0
mov word [ebp - 0x88], ax
mov dword [ebp - 0x2c], 7
mov dword [ebp - 0x30], eax
mov word [ebp - 0x40], ax
push eax
push str.f8507b
push str.GDftSet
mov byte [ebp - 4], 3
mov byte [ebp - 0x119], al
call fcn.10008320
mov ecx, eax
call fcn.1000fc40
mov ebx, eax
lea ecx, [ebp - 0x88]
test bl, 1
jne 0x10015815
push str.GDzmtn.exe
mov byte [ebp - 0x119], 1
call fcn.1000f970
push str.19afa5
jmp 0x10015824
push str.GDztip.exe
call fcn.1000f970
push str.dc70cb
lea ecx, [ebp - 0x40]
call fcn.1000f970
call fcn.10008320
mov ecx, eax
call fcn.1001e7c0
push eax
lea ecx, [ebp - 0x118]
call fcn.1000f3b0
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x88]
mov byte [ebp - 4], 4
push eax
lea ecx, [ebp - 0x118]
call fcn.1000d5a0
lea ecx, [ebx + 1]
xor eax, eax
cmp ecx, 0x3e8
cmovl eax, ecx
push eax
push str.f8507b
push str.GDftSet
call fcn.10008320
mov ecx, eax
call fcn.10012580
cmp dword [ebp - 0x78], 0
je 0x10015bbe
call fcn.1002a6c0
test al, al
je 0x100158b5
pop esi
pop esi
pop eax
push edi
pop ebx
push edx
pop ebx
push edi
push edx
push ebp
pop esp
push esi
pop edx
push eax
pop ecx
pop eax
pop ebx
push edx
push ebp
pop edi
pop esi
push eax
push edi
pop esi
push esi
pop ebp
pop eax
push eax
push ebp
pop ebp
push ebp
call fcn.1002adc0
test al, al
je 0x100158d0
push edi
push esp
push esi
push esp
pop ecx
pop ecx
push esi
push ebp
push ebp
pop edi
pop edx
pop esp
push esp
push edi
pop esi
pop esi
pop esp
pop ebp
lea eax, [ebp - 0x88]
push eax
lea ecx, [ebp - 0x58]
call fcn.100154d0
cmp dword [ebp - 0x44], 8
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 5
cmovae eax, dword [ebp - 0x58]
push eax
call fcn.1001a2a0
add esp, 4
test eax, eax
jne 0x10015bb6
lea eax, [ebp - 0x118]
push eax
lea ecx, [ebp - 0x28]
call fcn.100154d0
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 6
cmovae eax, dword [ebp - 0x28]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x10015954
cmp dword [ebp - 0x2c], 8
lea ecx, [ebp - 0x40]
lea eax, [ebp - 0x28]
cmovae ecx, dword [ebp - 0x40]
cmp dword [ebp - 0x14], 8
push ecx
cmovae eax, dword [ebp - 0x28]
push eax
call fcn.10008320
mov ecx, eax
call fcn.1001e7a0
test eax, eax
jne 0x10015bae
push str.4120726657395727074557006926493141591515
lea ecx, [ebp - 0xe8]
call fcn.100128b0
cmp byte [ebp - 0x119], 0
lea ecx, [ebp - 0xe8]
mov byte [ebp - 4], 7
je 0x1001597e
push str.4120726657395727074557006926493141591515
jmp 0x10015983
push str.6927372709560931233640694534671960154444
call fcn.10015520
cmp dword [ebp - 0xd4], 0x10
lea eax, [ebp - 0xe8]
cmovae eax, dword [ebp - 0xe8]
push eax
lea eax, [ebp - 0x100]
push eax
call fcn.10016620
add esp, 8
mov dword [ebp - 0x128], 0
mov dword [ebp - 0x124], 0
mov dword [ebp - 0x120], 0
push 0x10062158
lea ecx, [ebp - 0xd0]
mov byte [ebp - 4], 9
call fcn.100128b0
cmp dword [ebp - 0xec], 0x10
lea eax, [ebp - 0x100]
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0xa
cmovae eax, dword [ebp - 0x100]
push eax
call fcn.100128b0
lea eax, [ebp - 0x128]
mov byte [ebp - 4], 0xb
push eax
lea eax, [ebp - 0xd0]
push eax
lea eax, [ebp - 0xa0]
push eax
call fcn.1001c4d0
add esp, 0xc
lea ecx, [ebp - 0xa0]
call fcn.1000e020
lea ecx, [ebp - 0xd0]
mov byte [ebp - 4], 9
call fcn.1000e020
mov esi, dword [ebp - 0x128]
mov eax, dword [ebp - 0x124]
cmp esi, eax
je 0x10015b8d
cmp dword [esi + 0x14], 0x10
jb 0x10015a5b
mov eax, dword [esi]
jmp 0x10015a5d
mov eax, esi
push eax
lea ecx, [ebp - 0xd0]
call fcn.100128b0
lea eax, [ebp - 0xd0]
mov byte [ebp - 4], 0xc
push eax
lea eax, [ebp - 0xa0]
push eax
call fcn.1001d610
add esp, 8
lea ecx, [ebp - 0x58]
push eax
call fcn.1000f200
lea ecx, [ebp - 0xa0]
call fcn.10007740
cmp dword [ebp - 0x44], 8
lea eax, [ebp - 0x58]
cmovae eax, dword [ebp - 0x58]
push eax
call fcn.1001a2a0
add esp, 4
mov byte [ebp - 4], 9
lea ecx, [ebp - 0xd0]
call fcn.1000e020
mov eax, dword [ebp - 0x124]
add esi, 0x18
cmp esi, eax
jne 0x10015a51
mov esi, dword [ebp - 0x128]
cmp esi, eax
je 0x10015b8d
cmp dword [esi + 0x14], 0x10
jb 0x10015adf
mov eax, dword [esi]
jmp 0x10015ae1
mov eax, esi
push eax
lea ecx, [ebp - 0xa0]
call fcn.100128b0
lea eax, [ebp - 0xa0]
mov byte [ebp - 4], 0xd
push eax
lea eax, [ebp - 0xd0]
push eax
call fcn.1001d610
add esp, 8
lea ecx, [ebp - 0x58]
push eax
call fcn.1000f200
lea ecx, [ebp - 0xd0]
call fcn.10007740
call fcn.10008320
mov ecx, eax
call fcn.1001e7c0
push eax
lea ecx, [ebp - 0x28]
call fcn.1000f970
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x28]
call fcn.1000d5a0
cmp dword [ebp - 0x2c], 8
lea ecx, [ebp - 0x40]
lea eax, [ebp - 0x28]
cmovae ecx, dword [ebp - 0x40]
cmp dword [ebp - 0x14], 8
push ecx
cmovae eax, dword [ebp - 0x28]
push eax
call fcn.10008320
mov ecx, eax
call fcn.1001e7a0
lea ecx, [ebp - 0xa0]
test eax, eax
jne 0x10015b88
mov byte [ebp - 4], 9
call fcn.1000e020
add esi, 0x18
cmp esi, dword [ebp - 0x124]
jne 0x10015ad5
jmp 0x10015b8d
call fcn.1000e020
lea ecx, [ebp - 0x128]
call fcn.10014f10
lea ecx, [ebp - 0x100]
call fcn.1000e020
lea ecx, [ebp - 0xe8]
call fcn.1000e020
lea ecx, [ebp - 0x28]
call fcn.10007740
lea ecx, [ebp - 0x58]
call fcn.10007740
lea ecx, [ebp - 0x118]
call fcn.10007740
lea ecx, [ebp - 0x40]
call fcn.10007740
lea ecx, [ebp - 0x88]
call fcn.10007740
mov eax, dword [ebp - 0x5c]
cmp eax, 8
jb 0x10015bf1
inc eax
lea ecx, [ebp - 0x70]
push eax
push dword [ebp - 0x70]
call fcn.10008830
xor eax, eax
mov dword [ebp - 0x5c], 7
mov word [ebp - 0x70], ax
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0x60], 0
cmp eax, 8
jb 0x10015c23
inc eax
lea ecx, [ebp - 0xb8]
push eax
push dword [ebp - 0xb8]
call fcn.10008830
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1002c484
mov esp, ebp
pop ebp
ret 4