Function at 0x100d4f50
Capabilities:
Check if file exists
Copy file
Delete file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10348e17
mov eax, dword fs:[0]
push eax
sub esp, 0x100
mov eax, dword [0x1040706c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, ecx
mov dword [ebp - 0x100], eax
mov esi, dword [ebp + 8]
push esi
mov dword [ebp - 0x10c], esi
mov dword [ebp - 0x104], 0
call fcn.100d3850
cmp dword [esi], 0xcb
jne 0x100d5d95
mov edi, dword [esi + 4]
lea ecx, [ebp - 0x70]
lea eax, [edi + 0x30]
push eax
call fcn.10004d20
lea eax, [edi + 0x18]
mov dword [ebp - 4], 0
push eax
lea ecx, [ebp - 0x70]
call fcn.10004bc0
sub esp, 0x18
lea eax, [ebp - 0x70]
mov ecx, esp
push eax
call fcn.10004d20
lea ecx, [ebp - 0x28]
call fcn.100cf5f0
mov esi, eax
add esp, 0x18
lea eax, [ebp - 0x70]
cmp eax, esi
je 0x100d5017
mov ecx, eax
call fcn.10002730
movups xmm0, xmmword [esi]
movups xmmword [ebp - 0x70], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [ebp - 0x60], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
mov edx, dword [ebp - 0x14]
cmp edx, 0x10
jb 0x100d504b
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100d5041
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d5db2
push edx
push ecx
call fcn.100f99db
add esp, 8
mov ecx, dword [ebp - 0x100]
mov eax, 6
add ecx, 0x58
xchg dword [ecx], eax
cmp dword [ebp - 0x5c], 0x10
lea eax, [ebp - 0x70]
cmovae eax, dword [ebp - 0x70]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
je 0x100d5b0e
cmp dword [ebp - 0x5c], 0x10
lea eax, [ebp - 0x70]
cmovae eax, dword [ebp - 0x70]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindExtensionA]
cmp dword [edi + 0xc4], 0
je 0x100d5621
test eax, eax
je 0x100d50ae
push 0x103e2bf0
push eax
call fcn.101e7d6e
add esp, 8
test eax, eax
je 0x100d5621
push 0x3a8
sub esp, 0x18
mov eax, esp
push 0
push 0x1c
push eax
call fcn.10197589
add esp, 0xc
lea eax, [ebp - 0x88]
push eax
call fcn.1019c48d
add esp, 0x20
lea esi, [edi + 0xe4]
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x40]
mov eax, dword [esi + 0x10]
add eax, 2
mov dword [ebp - 0x30], 0
push eax
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
mov dword [ebp - 0x104], 1
call fcn.1001ca50
push 0x103e2c84
lea ecx, [ebp - 0x40]
call fcn.10006a80
push esi
lea ecx, [ebp - 0x40]
call fcn.10004bc0
push 0x103e2c84
lea ecx, [ebp - 0x40]
call fcn.10006a80
mov dword [ebp - 0x104], 3
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x28], xmm0
movq xmm0, qword [eax + 0x10]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
movq qword [ebp - 0x18], xmm0
mov byte [eax], 0
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0xc
push eax
lea ecx, [ebp - 0x88]
call fcn.10004bc0
mov byte [ebp - 4], 0xb
mov edx, dword [ebp - 0x14]
cmp edx, 0x10
jb 0x100d51a3
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100d5199
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d5db7
push edx
push ecx
call fcn.100f99db
add esp, 8
mov byte [ebp - 4], 0xa
mov edx, dword [ebp - 0x2c]
cmp edx, 0x10
jb 0x100d51db
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100d51d1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d5dbc
push edx
push ecx
call fcn.100f99db
add esp, 8
cmp dword [ebp - 0x74], 0x10
lea eax, [ebp - 0x88]
cmovae eax, dword [ebp - 0x88]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
jne 0x100d526f
mov dword [ebp - 0xd4], eax
lea eax, [ebp - 0xf8]
mov byte [ebp - 4], 0xd
push eax
push 0x3a8
sub esp, 0x18
lea eax, [ebp - 0x88]
mov ecx, esp
push eax
call fcn.10004d20
lea eax, [ebp - 0xd0]
push eax
call fcn.1019c062
add esp, 0x20
mov byte [ebp - 4], 0xe
cmp dword [eax + 0x14], 8
jb 0x100d5239
mov eax, dword [eax]
push eax
call fcn.10196d15
add esp, 8
lea ecx, [ebp - 0xd0]
call fcn.100028d0
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0xd4]
test ecx, ecx
je 0x100d526f
mov edx, dword [ecx]
lea eax, [ebp - 0xf8]
cmp ecx, eax
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
cmp dword [ebp - 0x74], 0x10
lea ecx, [ebp - 0x88]
push 0
cmovae ecx, dword [ebp - 0x88]
lea eax, [ebp - 0x70]
cmp dword [ebp - 0x5c], 0x10
push 0
cmovae eax, dword [ebp - 0x70]
push 0x103d31b8
push ecx
push eax
call fcn.101b2a30
cmp dword [edi + 0x184], 0
lea eax, [edi + 0x174]
je 0x100d551f
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0
push 1
push 0x3b
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0x10
push ecx
sub esp, 0x18
mov ecx, esp
push eax
call fcn.10004d20
call fcn.1019b8e2
add esp, 0x24
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0xf
mov byte [ebp - 0x58], 0
mov byte [ebp - 4], 0x11
mov eax, 0x2aaaaaab
mov ecx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x34]
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x100d5433
xor ecx, ecx
mov eax, 2
mov dword [ebp - 0x108], ecx
mov dword [ebp - 0x104], eax
mov dword [ebp - 0x100], ecx
mov edx, dword [esi + ecx + 0x10]
add esi, ecx
mov dword [ebp - 0xfc], eax
test edx, edx
je 0x100d53d9
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x28]
or eax, 4
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x104], eax
mov eax, dword [ebp - 0x78]
add eax, edx
mov dword [ebp - 0x14], 0xf
push eax
mov byte [ebp - 0x28], 0
call fcn.1001ca50
lea eax, [ebp - 0x88]
push eax
lea ecx, [ebp - 0x28]
call fcn.10004bc0
push esi
lea ecx, [ebp - 0x28]
call fcn.10004bc0
lea ecx, [ebp - 0x58]
call fcn.10002730
movups xmm1, xmmword [ebp - 0x28]
mov eax, dword [ebp - 0xfc]
lea ecx, [ebp - 0x58]
movq xmm0, qword [ebp - 0x18]
and eax, 0xfffffffb
mov dword [ebp - 0x104], eax
mov byte [ebp - 4], 0x11
cmp dword [ebp - 0x14], 0x10
movd eax, xmm1
movups xmmword [ebp - 0x58], xmm1
cmovae ecx, eax
movq qword [ebp - 0x48], xmm0
push ecx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
jne 0x100d54b3
mov ecx, dword [ebp - 0x100]
cmp dword [ebp - 0x44], 0x10
lea eax, [ebp - 0x58]
mov dword [ebp - 0x48], 0
cmovae eax, dword [ebp - 0x58]
add ecx, 0x18
inc dword [ebp - 0x108]
mov dword [ebp - 0x100], ecx
mov byte [eax], 0
mov eax, 0x2aaaaaab
mov ecx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x34]
sub ecx, esi
imul ecx
mov ecx, dword [ebp - 0x100]
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [ebp - 0x108], eax
mov eax, dword [ebp - 0x104]
jb 0x100d5330
jmp 0x100d54b3
lea eax, [edi + 0x1bc]
push eax
lea eax, [ebp - 0x88]
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.100d87d0
mov esi, eax
add esp, 0xc
lea eax, [ebp - 0x58]
cmp eax, esi
je 0x100d547f
mov ecx, eax
call fcn.10002730
movups xmm0, xmmword [esi]
movups xmmword [ebp - 0x58], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [ebp - 0x48], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
mov edx, dword [ebp - 0x14]
cmp edx, 0x10
jb 0x100d54b3
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100d54a9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d5dc1
push edx
push ecx
call fcn.100f99db
add esp, 8
cmp dword [ebp - 0x44], 0x10
lea eax, [ebp - 0x58]
cmovae eax, dword [ebp - 0x58]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
jne 0x100d5563
mov byte [ebp - 4], 0x10
mov edx, dword [ebp - 0x44]
cmp edx, 0x10
jb 0x100d5505
mov ecx, dword [ebp - 0x58]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100d54fb
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d5dc6
push edx
push ecx
call fcn.100f99db
add esp, 8
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0xf
mov byte [ebp - 0x58], 0
call fcn.10002840
mov byte [ebp - 4], 0
mov edx, dword [ebp - 0x74]
cmp edx, 0x10
jb 0x100d5b0e
mov ecx, dword [ebp - 0x88]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100d5554
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d5dcb
push edx
push ecx
call fcn.100f99db
add esp, 8
jmp 0x100d5b0e
push 0
push 1
push 0x3a8
sub esp, 0x18
lea eax, [edi + 0x1a4]
mov ecx, esp
push eax
call fcn.10004d20
lea eax, [ebp - 0xe8]
push eax
call fcn.1019c062
add esp, 0x20
mov byte [ebp - 4], 0x13
cmp dword [eax + 0x14], 8
jb 0x100d5598
mov eax, dword [eax]
push eax
push 0x3a8
sub esp, 0x18
lea eax, [ebp - 0x58]
mov ecx, esp
push eax
call fcn.10004d20
lea eax, [ebp - 0xd0]
push eax
call fcn.1019c062
add esp, 0x20
mov byte [ebp - 4], 0x14
cmp dword [eax + 0x14], 8
jb 0x100d55c7
mov eax, dword [eax]
push eax
call fcn.101977d3
add esp, 0x10
lea ecx, [ebp - 0xd0]
call fcn.100028d0
lea ecx, [ebp - 0xe8]
call fcn.100028d0
mov byte [ebp - 4], 0x10
mov edx, dword [ebp - 0x44]
cmp edx, 0x10
jb 0x100d5505
mov ecx, dword [ebp - 0x58]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100d54fb
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d5dd0
jmp 0x100d54fb
call fcn.100b5850
mov ecx, eax
call fcn.100c1a80
push 0x3a8
sub esp, 0x18
mov ecx, esp
test al, al
je 0x100d5908
lea eax, [edi + 0x1a4]
push eax
call fcn.10004d20
lea eax, [ebp - 0x40]
push eax
call fcn.1019c062
add esp, 0x20
lea eax, [ebp - 0xd0]
mov byte [ebp - 4], 1
push eax
call fcn.100b5850
mov ecx, eax
call fcn.100c1670
push 0
push str._installdir_
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 2
call fcn.100bec90
cmp eax, 0xffffffff
je 0x100d56d5
sub esp, 0x18
lea eax, [ebp - 0xd0]
mov ecx, esp
mov dword [ebp - 0xfc], esp
push eax
call fcn.10002050
sub esp, 0x18
mov byte [ebp - 4], 3
mov ecx, esp
xor eax, eax
push 0xc
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 7
push str._installdir_
mov word [ecx], ax
call fcn.10002560
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 2
push eax
call fcn.1019b825
add esp, 0x34
push 0x3a8
sub esp, 0x18
lea eax, [ebp - 0x70]
mov ecx, esp
push eax
call fcn.10004d20
lea eax, [ebp - 0x28]
push eax
call fcn.1019c062
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x40]
cmp dword [ebp - 0x2c], 8
lea eax, [ebp - 0x28]
push 0
cmovae ecx, dword [ebp - 0x40]
cmp dword [ebp - 0x14], 8
push 1
cmovae eax, dword [ebp - 0x28]
push ecx
push eax
call fcn.101977d3
add esp, 0x30
test eax, eax
jne 0x100d58ed
push 0x3a8
sub esp, 0x18
push esp
call fcn.1019768c
add esp, 4
lea eax, [ebp - 0xa0]
push eax
call fcn.1019c48d
add esp, 0x20
lea eax, [edi + 0x18]
mov byte [ebp - 4], 5
push eax
lea ecx, [ebp - 0xa0]
call fcn.10004bc0
sub esp, 0x18
lea eax, [ebp - 0xa0]
mov ecx, esp
push eax
call fcn.10004d20
lea ecx, [ebp - 0xe8]
call fcn.100cf5f0
mov esi, eax
add esp, 0x18
lea eax, [ebp - 0xa0]
cmp eax, esi
je 0x100d57ae
mov ecx, eax
call fcn.10002730
movups xmm0, xmmword [esi]
movups xmmword [ebp - 0xa0], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [ebp - 0x90], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
mov edx, dword [ebp - 0xd4]
cmp edx, 0x10
jb 0x100d57e8
mov ecx, dword [ebp - 0xe8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100d57de
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d5dd5
push edx
push ecx
call fcn.100f99db
add esp, 8
push 0
push 0x3a8
sub esp, 0x18
lea eax, [ebp - 0xa0]
mov ecx, esp
push eax
call fcn.10004d20
lea eax, [ebp - 0xe8]
push eax
call fcn.1019c062
add esp, 0x20
cmp dword [eax + 0x14], 8
jb 0x100d5817
mov eax, dword [eax]
cmp dword [ebp - 0x14], 8
lea ecx, [ebp - 0x28]
push eax
cmovae ecx, dword [ebp - 0x28]
push ecx
call dword [sym.imp.KERNEL32.dll_CopyFileW]
lea ecx, [ebp - 0xe8]
mov esi, eax
call fcn.100028d0
test esi, esi
je 0x100d58af
cmp dword [ebp - 0x2c], 8
lea eax, [ebp - 0x40]
push 0
cmovae eax, dword [ebp - 0x40]
push 1
push eax
push 0x3a8
sub esp, 0x18
lea eax, [ebp - 0xa0]
mov ecx, esp
push eax
call fcn.10004d20
lea eax, [ebp - 0xe8]
push eax
call fcn.1019c062
add esp, 0x20
mov byte [ebp - 4], 6
cmp dword [eax + 0x14], 8
jb 0x100d587c
mov eax, dword [eax]
push eax
call fcn.101977d3
add esp, 0x10
mov byte [ebp - 4], 5
lea ecx, [ebp - 0xe8]
call fcn.100028d0
cmp dword [ebp - 0x8c], 0x10
lea eax, [ebp - 0xa0]
cmovae eax, dword [ebp - 0xa0]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov byte [ebp - 4], 4
mov edx, dword [ebp - 0x8c]
cmp edx, 0x10
jb 0x100d58ed
mov ecx, dword [ebp - 0xa0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100d58e3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d5dda
push edx
push ecx
call fcn.100f99db
add esp, 8
lea ecx, [ebp - 0x28]
call fcn.100028d0
lea ecx, [ebp - 0xd0]
call fcn.100028d0
lea ecx, [ebp - 0x40]
jmp 0x100d5b05
lea eax, [ebp - 0x70]
push eax
call fcn.10004d20
lea eax, [ebp - 0x28]
push eax
call fcn.1019c062
mov byte [ebp - 4], 7
lea eax, [ebp - 0x28]
cmp dword [ebp - 0x14], 8
push 0
cmovae eax, dword [ebp - 0x28]
push 1
push 0
push eax
call fcn.101977d3
add esp, 0x30
test eax, eax
jne 0x100d5b02
push 0x3a8
sub esp, 0x18
push esp
call fcn.1019768c
add esp, 4
lea eax, [ebp - 0xb8]
push eax
call fcn.1019c48d
add esp, 0x20
lea eax, [edi + 0x18]
mov byte [ebp - 4], 8
push eax
lea ecx, [ebp - 0xb8]
call fcn.10004bc0
sub esp, 0x18
lea eax, [ebp - 0xb8]
mov ecx, esp
push eax
call fcn.10004d20
lea ecx, [ebp - 0xd0]
call fcn.100cf5f0
mov esi, eax
add esp, 0x18
lea eax, [ebp - 0xb8]
cmp eax, esi
je 0x100d59cd
mov ecx, eax
call fcn.10002730
movups xmm0, xmmword [esi]
movups xmmword [ebp - 0xb8], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [ebp - 0xa8], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
mov edx, dword [ebp - 0xbc]
cmp edx, 0x10
jb 0x100d5a07
mov ecx, dword [ebp - 0xd0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100d59fd
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d5ddf
push edx
push ecx
call fcn.100f99db
add esp, 8
push 0
push 0x3a8
sub esp, 0x18
lea eax, [ebp - 0xb8]
mov ecx, esp
push eax
call fcn.10004d20
lea eax, [ebp - 0xd0]
push eax
call fcn.1019c062
add esp, 0x20
cmp dword [eax + 0x14], 8
jb 0x100d5a36
mov eax, dword [eax]
cmp dword [ebp - 0x14], 8
lea ecx, [ebp - 0x28]
push eax
cmovae ecx, dword [ebp - 0x28]
push ecx
call dword [sym.imp.KERNEL32.dll_CopyFileW]
lea ecx, [ebp - 0xd0]
mov esi, eax
call fcn.100028d0
test esi, esi
je 0x100d5ac4
push 0
push 1
push 0
push 0x3a8
sub esp, 0x18
lea eax, [ebp - 0xb8]
mov ecx, esp
push eax
call fcn.10004d20
lea eax, [ebp - 0xd0]
push eax
call fcn.1019c062
add esp, 0x20
mov byte [ebp - 4], 9
cmp dword [eax + 0x14], 8
jb 0x100d5a91
mov eax, dword [eax]
push eax
call fcn.101977d3
add esp, 0x10
mov byte [ebp - 4], 8
lea ecx, [ebp - 0xd0]
call fcn.100028d0
cmp dword [ebp - 0xa4], 0x10
lea eax, [ebp - 0xb8]
cmovae eax, dword [ebp - 0xb8]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0xa4]
cmp edx, 0x10
jb 0x100d5b02
mov ecx, dword [ebp - 0xb8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100d5af8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d5de4
push edx
push ecx
call fcn.100f99db
add esp, 8
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0
call fcn.100028d0
mov ecx, dword [edi + 0x280]
mov eax, 0x2aaaaaab
sub ecx, dword [edi + 0x27c]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x100d5ca1
lea ecx, [ebp - 0x3c]
call fcn.101a4c9b
mov byte [ebp - 4], 0x15
mov eax, 0x2aaaaaab
mov ecx, dword [edi + 0x280]
sub ecx, dword [edi + 0x27c]
imul ecx
mov dword [ebp - 0x108], 0
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x100d5be2
xor ecx, ecx
mov dword [ebp - 0x100], ecx
mov eax, dword [edi + 0x27c]
push 0
sub esp, 0x18
add eax, ecx
mov esi, esp
sub esp, 0x18
mov ecx, esp
push eax
call fcn.10004d20
push esi
call fcn.1019bf12
add esp, 0x1c
lea ecx, [ebp - 0x3c]
call fcn.101a5024
mov byte [edi + 0xb8], al
test al, al
jne 0x100d5be2
mov ecx, dword [edi + 0x280]
mov eax, 0x2aaaaaab
sub ecx, dword [edi + 0x27c]
mov esi, dword [ebp - 0x108]
add dword [ebp - 0x100], 0x18
inc esi
imul ecx
mov ecx, dword [ebp - 0x100]
sar edx, 2
mov eax, edx
mov dword [ebp - 0x108], esi
shr eax, 0x1f
add eax, edx
cmp esi, eax
jb 0x100d5b72
cmp dword [edi + 0x260], 0x10
lea ecx, [edi + 0x24c]
jb 0x100d5bf3
mov ecx, dword [ecx]
cmp dword [edi + 0xe0], 0x10
lea edx, [edi + 0xcc]
jb 0x100d5c04
mov edx, dword [edx]
xor eax, eax
cmp byte [edi + 0xb8], al
setne al
push eax
push ecx
push edx
lea eax, [ebp - 0x28]
push str.appid_sfrom_sresult_d
push eax
call fcn.1019b38a
add esp, 0x14
mov byte [ebp - 4], 0x16
lea eax, [ebp - 0x28]
cmp dword [ebp - 0x14], 0x10
cmovae eax, dword [ebp - 0x28]
push eax
push str.install
push 0
call fcn.100bde00
mov ecx, eax
call fcn.1001c170
mov byte [ebp - 4], 0x15
mov edx, dword [ebp - 0x14]
cmp edx, 0x10
jb 0x100d5c7e
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100d5c74
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d5de9
push edx
push ecx
call fcn.100f99db
add esp, 8
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
mov byte [ebp - 4], 0
call fcn.101a4e42
jmp 0x100d5d38
cmp dword [edi + 0x260], 0x10
lea eax, [edi + 0x24c]
jb 0x100d5cb2
mov eax, dword [eax]
cmp dword [edi + 0xe0], 0x10
lea ecx, [edi + 0xcc]
jb 0x100d5cc3
mov ecx, dword [ecx]
push eax
push ecx
lea eax, [ebp - 0x28]
push str.appid_sfrom_sresult2
push eax
call fcn.1019b38a
add esp, 0x10
mov byte [ebp - 4], 0x17
lea eax, [ebp - 0x28]
cmp dword [ebp - 0x14], 0x10
cmovae eax, dword [ebp - 0x28]
push eax
push str.install
push 0
call fcn.100bde00
mov ecx, eax
call fcn.1001c170
mov byte [ebp - 4], 0
mov edx, dword [ebp - 0x14]
mov byte [edi + 0xb8], 1
cmp edx, 0x10
jb 0x100d5d38
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100d5d2e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d5dee
push edx
push ecx
call fcn.100f99db
add esp, 8
mov eax, dword [ebp - 0x10c]
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x100d5d65
mov eax, dword [eax + 4]
mov dword [ebp - 0xfc], eax
mov ecx, dword [ecx + 0x24]
test ecx, ecx
je 0x100d5df3
mov eax, dword [ecx]
lea edx, [ebp - 0xfc]
push edx
call dword [eax + 8]
mov edx, dword [ebp - 0x5c]
cmp edx, 0x10
jb 0x100d5d95
mov ecx, dword [ebp - 0x70]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100d5d8b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d5df8
push edx
push ecx
call fcn.100f99db
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100f99ca
mov esp, ebp
pop ebp
ret 4
call fcn.101d6583
call fcn.101d6583
call fcn.101d6583
call fcn.101d6583
call fcn.101d6583
call fcn.101d6583
call fcn.101d6583
call fcn.101d6583
call fcn.101d6583
call fcn.101d6583
call fcn.101d6583
call fcn.101d6583
call fcn.101d6583
call fcn.100f512f
call fcn.101d6583
int3