Function at 0x100ab5c0
Capabilities:
Check if file exists
Copy file
Get common file path
Get file attributes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4cc
mov eax, dword [0x100ff008]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
sub esp, 0x18
mov ecx, esp
call fcn.10084d90
lea ecx, [ebp - 0x450]
call fcn.100850c0
mov ecx, esp
push 0x10100ff0
call fcn.100b1340
lea ecx, [ebp - 0x480]
call fcn.10084ca0
add esp, 0x18
lea ecx, [ebp - 0x450]
cmp dword [ebp - 0x43c], 0x10
cmovae ecx, dword [ebp - 0x450]
push dword [ebp - 0x440]
push ecx
push ecx
mov ecx, eax
call fcn.100b5c40
sub esp, 0x18
mov ecx, esp
movups xmm0, xmmword [eax]
push 0x101010c8
movups xmmword [ebp - 0x498], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x488], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
call fcn.100b1340
lea ecx, [ebp - 0x4b4]
call fcn.10084ca0
mov esi, eax
lea edx, [ebp - 0x498]
lea eax, [ebp + 0x20]
push eax
lea ecx, [ebp - 0x420]
call fcn.100b1da0
add esp, 0x1c
lea ecx, [ebp - 0x468]
push esi
push eax
push dword [ebp - 0x49c]
call fcn.100b3f00
mov edx, dword [ebp - 0x40c]
cmp edx, 0x10
jb 0x100ab6d1
mov ecx, dword [ebp - 0x420]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100ab6c7
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100acae2
push edx
push ecx
call fcn.100bd5f4
add esp, 8
mov edx, dword [ebp - 0x484]
mov dword [ebp - 0x410], 0
mov dword [ebp - 0x40c], 0xf
mov byte [ebp - 0x420], 0
cmp edx, 0x10
jb 0x100ab726
mov ecx, dword [ebp - 0x498]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100ab71c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100acae2
push edx
push ecx
call fcn.100bd5f4
add esp, 8
mov edx, dword [ebp - 0x46c]
mov dword [ebp - 0x488], 0
mov dword [ebp - 0x484], 0xf
mov byte [ebp - 0x498], 0
cmp edx, 0x10
jb 0x100ab77b
mov ecx, dword [ebp - 0x480]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100ab771
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100acae2
push edx
push ecx
call fcn.100bd5f4
add esp, 8
mov edx, dword [ebp - 0x4a0]
mov dword [ebp - 0x470], 0
mov dword [ebp - 0x46c], 0xf
mov byte [ebp - 0x480], 0
cmp edx, 0x10
jb 0x100ab7d0
mov ecx, dword [ebp - 0x4b4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100ab7c6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100acae2
push edx
push ecx
call fcn.100bd5f4
add esp, 8
mov esi, dword [sym.imp.KERNEL32.dll_GetTempPathA]
lea eax, [ebp - 0x408]
push eax
push 0x104
call esi
lea ecx, [ebp - 0x408]
mov dword [ebp - 0x498], 0
mov dword [ebp - 0x488], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x484], 0xf
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100ab810
sub ecx, edx
lea eax, [ebp - 0x408]
push ecx
push eax
lea ecx, [ebp - 0x498]
call fcn.100b1950
lea eax, [ebp - 0x468]
push eax
lea eax, [ebp - 0x450]
push eax
lea edx, [ebp - 0x498]
lea ecx, [ebp - 0x480]
call fcn.100b1da0
add esp, 4
lea ecx, [ebp - 0x438]
mov edx, eax
call fcn.100b1da0
mov edx, dword [ebp - 0x46c]
add esp, 4
cmp edx, 0x10
jb 0x100ab898
mov ecx, dword [ebp - 0x480]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100ab88e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100acae7
push edx
push ecx
call fcn.100bd5f4
add esp, 8
mov edx, dword [ebp - 0x484]
mov dword [ebp - 0x470], 0
mov dword [ebp - 0x46c], 0xf
mov byte [ebp - 0x480], 0
cmp edx, 0x10
jb 0x100ab8ed
mov ecx, dword [ebp - 0x498]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100ab8e3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100acae7
push edx
push ecx
call fcn.100bd5f4
add esp, 8
cmp dword [ebp + 0x1c], 0x10
lea eax, [ebp + 8]
mov edi, dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmovae eax, dword [ebp + 8]
push eax
call edi
cmp eax, 0xffffffff
je 0x100ac94c
test al, 0x10
je 0x100ac94c
lea eax, [ebp - 0x408]
push eax
push 0x104
call esi
lea ecx, [ebp - 0x408]
mov dword [ebp - 0x420], 0
mov dword [ebp - 0x410], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x40c], 0xf
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100ab947
sub ecx, edx
lea eax, [ebp - 0x408]
push ecx
push eax
lea ecx, [ebp - 0x420]
call fcn.100b1950
sub esp, 0x18
mov ecx, esp
push 0x10100a08
call fcn.100b1340
lea ecx, [ebp - 0x4b4]
call fcn.10084ca0
cmp dword [ebp - 0x40c], 0x10
lea ecx, [ebp - 0x420]
mov esi, esp
cmovae ecx, dword [ebp - 0x420]
push dword [ebp - 0x410]
push ecx
push ecx
mov ecx, eax
call fcn.100b5c40
mov dword [esi], 0
sub esp, 0x18
mov dword [esi + 0x10], 0
mov ecx, esp
mov dword [esi + 0x14], 0
movups xmm0, xmmword [eax]
movups xmmword [esi], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esi + 0x10], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [ebp + 8]
push eax
call fcn.100b1340
call fcn.100871d0
mov edx, dword [ebp - 0x4a0]
add esp, 0x30
cmp edx, 0x10
jb 0x100aba27
mov ecx, dword [ebp - 0x4b4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100aba1d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100acaec
push edx
push ecx
call fcn.100bd5f4
add esp, 8
sub esp, 0x18
mov ecx, esp
push 0x10100a08
call fcn.100b1340
lea ecx, [ebp - 0x480]
call fcn.10084ca0
add esp, 0x18
lea ecx, [ebp - 0x420]
cmp dword [ebp - 0x40c], 0x10
cmovae ecx, dword [ebp - 0x420]
push dword [ebp - 0x410]
push ecx
push ecx
mov ecx, eax
call fcn.100b5c40
sub esp, 0x18
mov ecx, esp
movups xmm0, xmmword [eax]
push 0x101010b0
movups xmmword [ebp - 0x4b4], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x4a4], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
call fcn.100b1340
lea ecx, [ebp - 0x4cc]
call fcn.10084ca0
add esp, 0x18
lea ecx, [ebp - 0x498]
push eax
lea eax, [ebp - 0x4b4]
push eax
push dword [ebp - 0x49c]
call fcn.100b3f00
cmp dword [ebp - 0x484], 0x10
lea eax, [ebp - 0x498]
cmovae eax, dword [ebp - 0x498]
push eax
call edi
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x100abae7
xor bl, bl
jmp 0x100abaed
shr bl, 4
and bl, 1
mov edx, dword [ebp - 0x484]
cmp edx, 0x10
jb 0x100abb27
mov ecx, dword [ebp - 0x498]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100abb1d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100acaf1
push edx
push ecx
call fcn.100bd5f4
add esp, 8
mov edx, dword [ebp - 0x4a0]
mov dword [ebp - 0x488], 0
mov dword [ebp - 0x484], 0xf
mov byte [ebp - 0x498], 0
cmp edx, 0x10
jb 0x100abb7c
mov ecx, dword [ebp - 0x4b4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100abb72
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100acaf1
push edx
push ecx
call fcn.100bd5f4
add esp, 8
mov edx, dword [ebp - 0x46c]
cmp edx, 0x10
jb 0x100abbb6
mov ecx, dword [ebp - 0x480]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100abbac
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100acaf1
push edx
push ecx
call fcn.100bd5f4
add esp, 8
mov edx, dword [ebp - 0x4b8]
mov dword [ebp - 0x470], 0
mov dword [ebp - 0x46c], 0xf
mov byte [ebp - 0x480], 0
cmp edx, 0x10
jb 0x100abc0b
mov ecx, dword [ebp - 0x4cc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100abc01
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100acaf1
push edx
push ecx
call fcn.100bd5f4
add esp, 8
test bl, bl
je 0x100abd7b
sub esp, 0x18
mov ecx, esp
push 0x10100a08
call fcn.100b1340
lea ecx, [ebp - 0x480]
call fcn.10084ca0
add esp, 0x18
lea ecx, [ebp - 0x420]
cmp dword [ebp - 0x40c], 0x10
cmovae ecx, dword [ebp - 0x420]
push dword [ebp - 0x410]
push ecx
push ecx
mov ecx, eax
call fcn.100b5c40
sub esp, 0x18
mov ecx, esp
movups xmm0, xmmword [eax]
push 0x101010b0
movups xmmword [ebp - 0x4b4], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x4a4], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
call fcn.100b1340
lea ecx, [ebp - 0x4cc]
call fcn.10084ca0
mov ecx, esp
push eax
lea eax, [ebp - 0x4b4]
push eax
push dword [ebp - 0x49c]
call fcn.100b3f00
call fcn.10087330
mov edx, dword [ebp - 0x4a0]
add esp, 0x18
cmp edx, 0x10
jb 0x100abcec
mov ecx, dword [ebp - 0x4b4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100abce2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100acaf6
push edx
push ecx
call fcn.100bd5f4
add esp, 8
mov edx, dword [ebp - 0x46c]
cmp edx, 0x10
jb 0x100abd26
mov ecx, dword [ebp - 0x480]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100abd1c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100acaf6
push edx
push ecx
call fcn.100bd5f4
add esp, 8
mov edx, dword [ebp - 0x4b8]
mov dword [ebp - 0x470], 0
mov dword [ebp - 0x46c], 0xf
mov byte [ebp - 0x480], 0
cmp edx, 0x10
jb 0x100abd7b
mov ecx, dword [ebp - 0x4cc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100abd71
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100acaf6
push edx
push ecx
call fcn.100bd5f4
add esp, 8
sub esp, 0x18
mov ecx, esp
push 0x10100a08
call fcn.100b1340
lea ecx, [ebp - 0x480]
call fcn.10084ca0
add esp, 0x18
lea ecx, [ebp - 0x420]
cmp dword [ebp - 0x40c], 0x10
cmovae ecx, dword [ebp - 0x420]
push dword [ebp - 0x410]
push ecx
push ecx
mov ecx, eax
call fcn.100b5c40
sub esp, 0x18
mov ecx, esp
movups xmm0, xmmword [eax]
push 0x10100db0
movups xmmword [ebp - 0x4b4], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x4a4], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
call fcn.100b1340
lea ecx, [ebp - 0x4cc]
call fcn.10084ca0
add esp, 0x18
lea ecx, [ebp - 0x498]
push eax
lea eax, [ebp - 0x4b4]
push eax
push dword [ebp - 0x49c]
call fcn.100b3f00
cmp dword [ebp - 0x484], 0x10
lea eax, [ebp - 0x498]
cmovae eax, dword [ebp - 0x498]
push eax
call edi
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x100abe3b
xor bl, bl
jmp 0x100abe41
shr bl, 4
and bl, 1
mov edx, dword [ebp - 0x484]
cmp edx, 0x10
jb 0x100abe7b
mov ecx, dword [ebp - 0x498]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100abe71
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100acafb
push edx
push ecx
call fcn.100bd5f4
add esp, 8
mov edx, dword [ebp - 0x4a0]
mov dword [ebp - 0x488], 0
mov dword [ebp - 0x484], 0xf
mov byte [ebp - 0x498], 0
cmp edx, 0x10
jb 0x100abed0
mov ecx, dword [ebp - 0x4b4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100abec6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100acafb
push edx
push ecx
call fcn.100bd5f4
add esp, 8
mov edx, dword [ebp - 0x46c]
cmp edx, 0x10
jb 0x100abf0a
mov ecx, dword [ebp - 0x480]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100abf00
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100acafb
push edx
push ecx
call fcn.100bd5f4
add esp, 8
mov edx, dword [ebp - 0x4b8]
mov dword [ebp - 0x470], 0
mov dword [ebp - 0x46c], 0xf
mov byte [ebp - 0x480], 0
cmp edx, 0x10
jb 0x100abf5f
mov ecx, dword [ebp - 0x4cc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100abf55
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100acafb
push edx
push ecx
call fcn.100bd5f4
add esp, 8
test bl, bl
je 0x100ac0cf
sub esp, 0x18
mov ecx, esp
push 0x10100a08
call fcn.100b1340
lea ecx, [ebp - 0x480]
call fcn.10084ca0
add esp, 0x18
lea ecx, [ebp - 0x420]
cmp dword [ebp - 0x40c], 0x10
cmovae ecx, dword [ebp - 0x420]
push dword [ebp - 0x410]
push ecx
push ecx
mov ecx, eax
call fcn.100b5c40
sub esp, 0x18
mov ecx, esp
movups xmm0, xmmword [eax]
push 0x10100db0
movups xmmword [ebp - 0x4b4], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x4a4], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
call fcn.100b1340
lea ecx, [ebp - 0x4cc]
call fcn.10084ca0
mov ecx, esp
push eax
lea eax, [ebp - 0x4b4]
push eax
push dword [ebp - 0x49c]
call fcn.100b3f00
call fcn.10087330
mov edx, dword [ebp - 0x4a0]
add esp, 0x18
cmp edx, 0x10
jb 0x100ac040
mov ecx, dword [ebp - 0x4b4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100ac036
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100acb00
push edx
push ecx
call fcn.100bd5f4
add esp, 8
mov edx, dword [ebp - 0x46c]
cmp edx, 0x10
jb 0x100ac07a
mov ecx, dword [ebp - 0x480]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100ac070
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100acb00
push edx
push ecx
call fcn.100bd5f4
add esp, 8
mov edx, dword [ebp - 0x4b8]
mov dword [ebp - 0x470], 0
mov dword [ebp - 0x46c], 0xf
mov byte [ebp - 0x480], 0
cmp edx, 0x10
jb 0x100ac0cf
mov ecx, dword [ebp - 0x4cc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100ac0c5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100acb00
push edx
push ecx
call fcn.100bd5f4
add esp, 8
sub esp, 0x18
mov ecx, esp
push 0x10100a08
call fcn.100b1340
lea ecx, [ebp - 0x480]
call fcn.10084ca0
add esp, 0x18
lea ecx, [ebp - 0x420]
cmp dword [ebp - 0x40c], 0x10
cmovae ecx, dword [ebp - 0x420]
push dword [ebp - 0x410]
push ecx
push ecx
mov ecx, eax
call fcn.100b5c40
sub esp, 0x18
mov ecx, esp
movups xmm0, xmmword [eax]
push 0x101011d0
movups xmmword [ebp - 0x4b4], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x4a4], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
call fcn.100b1340
lea ecx, [ebp - 0x4cc]
call fcn.10084ca0
add esp, 0x18
lea ecx, [ebp - 0x498]
push eax
lea eax, [ebp - 0x4b4]
push eax
push dword [ebp - 0x49c]
call fcn.100b3f00
cmp dword [ebp - 0x484], 0x10
lea eax, [ebp - 0x498]
cmovae eax, dword [ebp - 0x498]
push eax
call edi
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x100ac18f
xor bl, bl
jmp 0x100ac195
shr bl, 4
and bl, 1
mov edx, dword [ebp - 0x484]
cmp edx, 0x10
jb 0x100ac1cf
mov ecx, dword [ebp - 0x498]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100ac1c5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100acb05
push edx
push ecx
call fcn.100bd5f4
add esp, 8
mov edx, dword [ebp - 0x4a0]
mov dword [ebp - 0x488], 0
mov dword [ebp - 0x484], 0xf
mov byte [ebp - 0x498], 0
cmp edx, 0x10
jb 0x100ac224
mov ecx, dword [ebp - 0x4b4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100ac21a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100acb05
push edx
push ecx
call fcn.100bd5f4
add esp, 8
mov edx, dword [ebp - 0x46c]
cmp edx, 0x10
jb 0x100ac25e
mov ecx, dword [ebp - 0x480]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100ac254
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100acb05
push edx
push ecx
call fcn.100bd5f4
add esp, 8
mov edx, dword [ebp - 0x4b8]
mov dword [ebp - 0x470], 0
mov dword [ebp - 0x46c], 0xf
mov byte [ebp - 0x480], 0
cmp edx, 0x10
jb 0x100ac2b3
mov ecx, dword [ebp - 0x4cc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100ac2a9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100acb05
push edx
push ecx
call fcn.100bd5f4
add esp, 8
test bl, bl
je 0x100ac423
sub esp, 0x18
mov ecx, esp
push 0x10100a08
call fcn.100b1340
lea ecx, [ebp - 0x480]
call fcn.10084ca0
add esp, 0x18
lea ecx, [ebp - 0x420]
cmp dword [ebp - 0x40c], 0x10
cmovae ecx, dword [ebp - 0x420]
push dword [ebp - 0x410]
push ecx
push ecx
mov ecx, eax
call fcn.100b5c40
sub esp, 0x18
mov ecx, esp
movups xmm0, xmmword [eax]
push 0x101011d0
movups xmmword [ebp - 0x4b4], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x4a4], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
call fcn.100b1340
lea ecx, [ebp - 0x4cc]
call fcn.10084ca0
mov ecx, esp
push eax
lea eax, [ebp - 0x4b4]
push eax
push dword [ebp - 0x49c]
call fcn.100b3f00
call fcn.10087330
mov edx, dword [ebp - 0x4a0]
add esp, 0x18
cmp edx, 0x10
jb 0x100ac394
mov ecx, dword [ebp - 0x4b4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100ac38a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100acb0a
push edx
push ecx
call fcn.100bd5f4
add esp, 8
mov edx, dword [ebp - 0x46c]
cmp edx, 0x10
jb 0x100ac3ce
mov ecx, dword [ebp - 0x480]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100ac3c4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100acb0a
push edx
push ecx
call fcn.100bd5f4
add esp, 8
mov edx, dword [ebp - 0x4b8]
mov dword [ebp - 0x470], 0
mov dword [ebp - 0x46c], 0xf
mov byte [ebp - 0x480], 0
cmp edx, 0x10
jb 0x100ac423
mov ecx, dword [ebp - 0x4cc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100ac419
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100acb0a
push edx
push ecx
call fcn.100bd5f4
add esp, 8
sub esp, 0x18
mov ecx, esp
push 0x10100a08
call fcn.100b1340
lea ecx, [ebp - 0x4cc]
call fcn.10084ca0
add esp, 0x18
lea ecx, [ebp - 0x420]
cmp dword [ebp - 0x40c], 0x10
cmovae ecx, dword [ebp - 0x420]
push dword [ebp - 0x410]
push ecx
push ecx
mov ecx, eax
call fcn.100b5c40
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x498], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x488], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [ebp - 0x498]
cmp dword [ebp - 0x484], 0x10
cmovae eax, dword [ebp - 0x498]
push eax
call edi
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x100ac4ad
xor bl, bl
jmp 0x100ac4b3
shr bl, 4
and bl, 1
mov edx, dword [ebp - 0x484]
cmp edx, 0x10
jb 0x100ac4ed
mov ecx, dword [ebp - 0x498]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100ac4e3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100acb0f
push edx
push ecx
call fcn.100bd5f4
add esp, 8
mov edx, dword [ebp - 0x4b8]
mov dword [ebp - 0x488], 0
mov dword [ebp - 0x484], 0xf
mov byte [ebp - 0x498], 0
cmp edx, 0x10
jb 0x100ac542
mov ecx, dword [ebp - 0x4cc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100ac538
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100acb0f
push edx
push ecx
call fcn.100bd5f4
add esp, 8
test bl, bl
je 0x100ac77d
sub esp, 0x18
mov ecx, esp
push 0x10100a08
call fcn.100b1340
lea ecx, [ebp - 0x4cc]
call fcn.10084ca0
cmp dword [ebp - 0x40c], 0x10
lea ecx, [ebp - 0x420]
mov esi, esp
cmovae ecx, dword [ebp - 0x420]
push dword [ebp - 0x410]
push ecx
push ecx
mov ecx, eax
call fcn.100b5c40
mov dword [esi], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
movups xmm0, xmmword [eax]
movups xmmword [esi], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esi + 0x10], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
call fcn.100ab080
mov edx, dword [ebp - 0x4b8]
add esp, 0x18
cmp edx, 0x10
jb 0x100ac600
mov ecx, dword [ebp - 0x4cc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100ac5f6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100acb14
push edx
push ecx
call fcn.100bd5f4
add esp, 8
sub esp, 0x18
lea eax, [ebp - 0x438]
mov ecx, esp
push eax
call fcn.100b1340
sub esp, 0x18
mov ecx, esp
push 0x10100a08
call fcn.100b1340
lea ecx, [ebp - 0x4cc]
call fcn.10084ca0
cmp dword [ebp - 0x40c], 0x10
lea ecx, [ebp - 0x420]
mov esi, esp
cmovae ecx, dword [ebp - 0x420]
push dword [ebp - 0x410]
push ecx
push ecx
mov ecx, eax
call fcn.100b5c40
mov dword [esi], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
movups xmm0, xmmword [eax]
movups xmmword [esi], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esi + 0x10], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
call fcn.10086a50
mov edx, dword [ebp - 0x4b8]
add esp, 0x30
cmp edx, 0x10
jb 0x100ac6c7
mov ecx, dword [ebp - 0x4cc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100ac6bd
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100acb19
push edx
push ecx
call fcn.100bd5f4
add esp, 8
sub esp, 0x18
mov ecx, esp
push 0x10100a08
call fcn.100b1340
lea ecx, [ebp - 0x4cc]
call fcn.10084ca0
cmp dword [ebp - 0x40c], 0x10
lea ecx, [ebp - 0x420]
mov esi, esp
cmovae ecx, dword [ebp - 0x420]
push dword [ebp - 0x410]
push ecx
push ecx
mov ecx, eax
call fcn.100b5c40
mov dword [esi], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
movups xmm0, xmmword [eax]
movups xmmword [esi], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esi + 0x10], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
call fcn.10087330
mov edx, dword [ebp - 0x4b8]
add esp, 0x18
cmp edx, 0x10
jb 0x100ac77d
mov ecx, dword [ebp - 0x4cc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100ac773
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100acb1e
push edx
push ecx
call fcn.100bd5f4
add esp, 8
cmp dword [ebp - 0x424], 0x10
lea eax, [ebp - 0x438]
push 0x100f96cc
cmovae eax, dword [ebp - 0x438]
push eax
call fcn.100c64bd
add esp, 8
test eax, eax
je 0x100ac912
push eax
call fcn.100c654b
mov ecx, dword [ebp + 0x4c]
lea eax, [ebp + 0x38]
mov edx, dword [ebp + 0x38]
add esp, 4
mov esi, dword [ebp + 0x48]
cmp ecx, 0x10
cmovae eax, edx
cmp esi, 1
jne 0x100ac7ff
cmp byte [eax], 0x30
jne 0x100ac7ff
sub esp, 0x18
lea eax, [ebp - 0x468]
mov ecx, esp
push eax
call fcn.100b1340
sub esp, 0x18
lea eax, [ebp - 0x438]
mov ecx, esp
push eax
call fcn.100b1340
call fcn.10086ca0
mov ecx, dword [ebp + 0x4c]
add esp, 0x30
mov esi, dword [ebp + 0x48]
mov edx, dword [ebp + 0x38]
cmp ecx, 0x10
lea eax, [ebp + 0x38]
cmovae eax, edx
cmp esi, 1
jne 0x100ac8f5
cmp byte [eax], 0x31
jne 0x100ac8f5
lea eax, [ebp - 0x468]
push eax
push ecx
lea ecx, [ebp - 0x4cc]
call fcn.10086540
add esp, 4
lea ecx, [ebp - 0x480]
mov edx, eax
call fcn.100b1da0
add esp, 4
cmp dword [eax + 0x14], 0x10
jb 0x100ac848
mov eax, dword [eax]
cmp dword [ebp - 0x424], 0x10
lea ecx, [ebp - 0x438]
push 1
cmovae ecx, dword [ebp - 0x438]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_CopyFileA]
mov edx, dword [ebp - 0x46c]
cmp edx, 0x10
jb 0x100ac8a0
mov ecx, dword [ebp - 0x480]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100ac896
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100acb23
push edx
push ecx
call fcn.100bd5f4
add esp, 8
mov edx, dword [ebp - 0x4b8]
mov dword [ebp - 0x470], 0
mov dword [ebp - 0x46c], 0xf
mov byte [ebp - 0x480], 0
cmp edx, 0x10
jb 0x100ac8f5
mov ecx, dword [ebp - 0x4cc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100ac8eb
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100acb23
push edx
push ecx
call fcn.100bd5f4
add esp, 8
cmp dword [ebp - 0x424], 0x10
lea eax, [ebp - 0x438]
cmovae eax, dword [ebp - 0x438]
push eax
call fcn.100c6755
add esp, 4
mov edx, dword [ebp - 0x40c]
cmp edx, 0x10
jb 0x100ac94c
mov ecx, dword [ebp - 0x420]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100ac942
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100acb28
push edx
push ecx
call fcn.100bd5f4
add esp, 8
mov edx, dword [ebp - 0x424]
cmp edx, 0x10
jb 0x100ac986
mov ecx, dword [ebp - 0x438]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100ac97c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100acb28
push edx
push ecx
call fcn.100bd5f4
add esp, 8
mov edx, dword [ebp - 0x454]
mov dword [ebp - 0x428], 0
mov dword [ebp - 0x424], 0xf
mov byte [ebp - 0x438], 0
cmp edx, 0x10
jb 0x100ac9db
mov ecx, dword [ebp - 0x468]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100ac9d1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100acb28
push edx
push ecx
call fcn.100bd5f4
add esp, 8
mov edx, dword [ebp - 0x43c]
cmp edx, 0x10
jb 0x100aca15
mov ecx, dword [ebp - 0x450]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100aca0b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100acb28
push edx
push ecx
call fcn.100bd5f4
add esp, 8
mov edx, dword [ebp + 0x1c]
cmp edx, 0x10
jb 0x100aca49
mov ecx, dword [ebp + 8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100aca3f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100acb28
push edx
push ecx
call fcn.100bd5f4
add esp, 8
mov edx, dword [ebp + 0x34]
mov dword [ebp + 0x18], 0
mov dword [ebp + 0x1c], 0xf
mov byte [ebp + 8], 0
cmp edx, 0x10
jb 0x100aca8f
mov ecx, dword [ebp + 0x20]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100aca85
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100acb28
push edx
push ecx
call fcn.100bd5f4
add esp, 8
mov edx, dword [ebp + 0x4c]
mov dword [ebp + 0x30], 0
mov dword [ebp + 0x34], 0xf
mov byte [ebp + 0x20], 0
cmp edx, 0x10
jb 0x100acad1
mov ecx, dword [ebp + 0x38]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100acac7
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100acb28
push edx
push ecx
call fcn.100bd5f4
add esp, 8
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.100bd09a
mov esp, ebp
pop ebp
ret
call fcn.100c93fd
call fcn.100c93fd
call fcn.100c93fd
call fcn.100c93fd
call fcn.100c93fd
call fcn.100c93fd
call fcn.100c93fd
call fcn.100c93fd
call fcn.100c93fd
call fcn.100c93fd
call fcn.100c93fd
call fcn.100c93fd
call fcn.100c93fd
call fcn.100c93fd
call fcn.100c93fd
int3