Function at 0x100aec60
Capabilities:
Check if file exists
Copy file
Create directory
Enumerate files on windows
Get common file path
Get file attributes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x73c
mov eax, dword [0x10100008]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
lea eax, [ebp - 0x110]
mov dword [ebp - 0x660], 0
push eax
push 0
push 0
push 0
push 0
call dword [sym.imp.SHELL32.dll_SHGetFolderPathA]
lea ecx, [ebp - 0x110]
mov dword [ebp - 0x6b8], 0
mov dword [ebp - 0x6a8], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x6a4], 0xf
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100aecc0
sub ecx, edx
lea eax, [ebp - 0x110]
push ecx
push eax
lea ecx, [ebp - 0x6b8]
call fcn.100b2ac0
push 0x100fa65c
lea ecx, [ebp - 0x6b8]
call fcn.100b2330
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x450], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x440], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov edx, dword [ebp - 0x6a4]
cmp edx, 0x10
jb 0x100aed4e
mov ecx, dword [ebp - 0x6b8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100aed44
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b05d9
push edx
push ecx
call fcn.100be753
add esp, 8
sub esp, 0x18
mov ecx, esp
call fcn.10084d90
lea ecx, [ebp - 0x4e4]
call fcn.100850c0
mov ecx, esp
push 0x10102380
call fcn.100b24b0
lea ecx, [ebp - 0x718]
call fcn.10084ca0
add esp, 0x18
lea ecx, [ebp - 0x4e4]
cmp dword [ebp - 0x4d0], 0x10
cmovae ecx, dword [ebp - 0x4e4]
push dword [ebp - 0x4d4]
push ecx
push ecx
mov ecx, eax
call fcn.100b6da0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x4cc], xmm0
movq xmm0, qword [eax + 0x10]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov edx, dword [ebp - 0x704]
movq qword [ebp - 0x4bc], xmm0
cmp edx, 0x10
jb 0x100aee02
mov ecx, dword [ebp - 0x718]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100aedf8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b05de
push edx
push ecx
call fcn.100be753
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 - 0x6b8], 0
mov dword [ebp - 0x6a8], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x6a4], 0xf
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100aee40
sub ecx, edx
lea eax, [ebp - 0x408]
push ecx
push eax
lea ecx, [ebp - 0x6b8]
call fcn.100b2ac0
lea eax, [ebp - 0x4cc]
push eax
lea edx, [ebp - 0x6b8]
lea ecx, [ebp - 0x480]
call fcn.100b2f10
mov edx, dword [ebp - 0x6a4]
add esp, 4
cmp edx, 0x10
jb 0x100aeeb1
mov ecx, dword [ebp - 0x6b8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100aeea7
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b05e3
push edx
push ecx
call fcn.100be753
add esp, 8
lea eax, [ebp - 0x408]
push eax
push 0x104
call esi
lea ecx, [ebp - 0x408]
mov dword [ebp - 0x438], 0
mov dword [ebp - 0x428], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x424], 0xf
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100aeee6
sub ecx, edx
lea eax, [ebp - 0x408]
push ecx
push eax
lea ecx, [ebp - 0x438]
call fcn.100b2ac0
sub esp, 0x18
mov ecx, esp
push 0x10102038
call fcn.100b24b0
lea ecx, [ebp - 0x468]
call fcn.10084ca0
mov edx, dword [ebp - 0x428]
mov edi, 0x7fffffff
mov esi, dword [ebp - 0x458]
mov eax, edi
sub eax, edx
add esp, 0x18
cmp eax, esi
jb 0x100b05e8
cmp dword [ebp - 0x424], 0x10
lea ecx, [ebp - 0x438]
push esi
cmovae ecx, dword [ebp - 0x438]
lea eax, [ebp - 0x468]
cmp dword [ebp - 0x454], 0x10
cmovae eax, dword [ebp - 0x468]
push eax
push edx
push ecx
push ecx
push dword [ebp - 0x664]
lea ecx, [ebp - 0x698]
call fcn.100b5240
cmp dword [ebp - 0x684], 0x10
lea eax, [ebp - 0x698]
cmovae eax, dword [ebp - 0x698]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x100aefa0
mov bl, 1
jmp 0x100aefa8
shr bl, 4
not bl
and bl, 1
mov edx, dword [ebp - 0x684]
cmp edx, 0x10
jb 0x100aefe2
mov ecx, dword [ebp - 0x698]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100aefd8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b05ed
push edx
push ecx
call fcn.100be753
add esp, 8
test bl, bl
je 0x100af097
mov edx, dword [ebp - 0x428]
mov eax, edi
mov esi, dword [ebp - 0x458]
sub eax, edx
cmp eax, esi
jb 0x100b05f2
cmp dword [ebp - 0x424], 0x10
lea ecx, [ebp - 0x438]
push esi
cmovae ecx, dword [ebp - 0x438]
lea eax, [ebp - 0x468]
cmp dword [ebp - 0x454], 0x10
cmovae eax, dword [ebp - 0x468]
push eax
push edx
push ecx
push ecx
push dword [ebp - 0x664]
lea ecx, [ebp - 0x698]
call fcn.100b5240
cmp dword [ebp - 0x684], 0x10
lea eax, [ebp - 0x698]
push 0
cmovae eax, dword [ebp - 0x698]
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
mov edx, dword [ebp - 0x684]
cmp edx, 0x10
jb 0x100af097
mov ecx, dword [ebp - 0x698]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100af08d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b05f7
push edx
push ecx
call fcn.100be753
add esp, 8
mov eax, dword [ebp - 0x440]
mov dword [ebp - 0x6b8], 0
mov dword [ebp - 0x6a8], 0
mov dword [ebp - 0x6a4], 0xf
lea edx, [eax - 1]
cmp eax, edx
jb 0x100b05fc
sub eax, edx
mov ecx, 1
cmp eax, ecx
cmovb ecx, eax
cmp dword [ebp - 0x43c], 0x10
lea eax, [ebp - 0x450]
cmovae eax, dword [ebp - 0x450]
push ecx
add eax, edx
lea ecx, [ebp - 0x6b8]
push eax
call fcn.100b2ac0
mov edx, 0x100fa65c
lea ecx, [ebp - 0x6b8]
call fcn.100b2e90
mov edx, dword [ebp - 0x6a4]
mov bl, al
cmp edx, 0x10
jb 0x100af141
mov ecx, dword [ebp - 0x6b8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100af137
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b061a
push edx
push ecx
call fcn.100be753
add esp, 8
mov ecx, dword [ebp - 0x440]
mov eax, edi
sub eax, ecx
test bl, bl
jne 0x100af161
cmp eax, 2
jb 0x100b05e8
push 2
push 0x100fa7c8
jmp 0x100af171
cmp eax, 1
jb 0x100b05e8
push 1
push 0x100f4ec8
cmp dword [ebp - 0x43c], 0x10
lea eax, [ebp - 0x450]
push ecx
cmovae eax, dword [ebp - 0x450]
push eax
push ecx
push dword [ebp - 0x664]
lea ecx, [ebp - 0x718]
call fcn.100b5240
lea eax, [ebp - 0x718]
push eax
lea ecx, [ebp - 0x450]
call fcn.100b23f0
mov edx, dword [ebp - 0x704]
cmp edx, 0x10
jb 0x100af1e5
mov ecx, dword [ebp - 0x718]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100af1db
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b061a
push edx
push ecx
call fcn.100be753
add esp, 8
cmp dword [ebp - 0x43c], 0x10
lea ecx, [ebp - 0x658]
lea eax, [ebp - 0x450]
cmovae eax, dword [ebp - 0x450]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov ebx, eax
mov dword [ebp - 0x69c], 0
mov dword [ebp - 0x6a0], ebx
nop dword [eax]
lea ecx, [ebp - 0x62c]
mov dword [ebp - 0x4b4], 0
mov dword [ebp - 0x4a4], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x4a0], 0xf
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100af247
sub ecx, edx
lea eax, [ebp - 0x62c]
push ecx
push eax
lea ecx, [ebp - 0x4b4]
call fcn.100b2ac0
test byte [ebp - 0x658], 0x10
jne 0x100aff32
mov eax, dword [ebp - 0x440]
mov dword [ebp - 0x698], 0
mov dword [ebp - 0x688], 0
mov dword [ebp - 0x684], 0xf
lea ecx, [eax - 2]
cmp eax, ecx
cmovb ecx, eax
cmp dword [ebp - 0x43c], 0x10
lea eax, [ebp - 0x450]
cmovae eax, dword [ebp - 0x450]
push ecx
push eax
lea ecx, [ebp - 0x698]
call fcn.100b2ac0
push 0x100fa65c
lea ecx, [ebp - 0x698]
call fcn.100b2330
lea edx, [ebp - 0x6d0]
lea ecx, [ebp - 0x498]
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x6d0], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x6c0], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [ebp - 0x4b4]
push eax
call fcn.100b2f10
mov edx, dword [ebp - 0x6bc]
add esp, 4
cmp edx, 0x10
jb 0x100af34a
mov ecx, dword [ebp - 0x6d0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100af340
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b05d9
push edx
push ecx
call fcn.100be753
add esp, 8
mov edx, dword [ebp - 0x684]
mov dword [ebp - 0x6c0], 0
mov dword [ebp - 0x6bc], 0xf
mov byte [ebp - 0x6d0], 0
cmp edx, 0x10
jb 0x100af39f
mov ecx, dword [ebp - 0x698]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100af395
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b05d9
push edx
push ecx
call fcn.100be753
add esp, 8
lea eax, [ebp - 0x498]
push eax
lea ecx, [ebp - 0x6e8]
call fcn.100b24b0
mov esi, dword [ebp - 0x6d8]
xor edi, edi
test esi, esi
je 0x100af4a6
mov ebx, dword [ebp - 0x6d4]
lea ecx, [ebp - 0x6e8]
cmp ebx, 0x10
mov edx, esi
push 1
cmovae ecx, dword [ebp - 0x6e8]
push 0x100f119c
push ecx
call fcn.100b37d0
add esp, 0xc
mov dword [ebp - 0x698], 0
mov dword [ebp - 0x688], 0
mov dword [ebp - 0x684], 0xf
lea edx, [eax + 1]
cmp esi, edx
jb 0x100b05fc
sub esi, edx
lea eax, [ebp - 0x6e8]
mov ecx, 0xff
cmp esi, ecx
cmovb ecx, esi
cmp ebx, 0x10
push ecx
cmovae eax, dword [ebp - 0x6e8]
lea ecx, [ebp - 0x698]
add eax, edx
push eax
call fcn.100b2ac0
mov edx, dword [ebp - 0x6d4]
cmp edx, 0x10
jb 0x100af477
mov ecx, dword [ebp - 0x6e8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100af46d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b05d9
push edx
push ecx
call fcn.100be753
add esp, 8
movq xmm1, qword [ebp - 0x688]
inc edi
movups xmm0, xmmword [ebp - 0x698]
movq qword [ebp - 0x6d8], xmm1
mov esi, dword [ebp - 0x6d8]
movups xmmword [ebp - 0x6e8], xmm0
cmp edi, esi
jb 0x100af3c1
jmp 0x100af4b5
movq xmm1, qword [ebp - 0x6d8]
movups xmm0, xmmword [ebp - 0x6e8]
push 0
push 0x100f1188
lea ecx, [ebp - 0x420]
movq qword [ebp - 0x6a8], xmm1
movups xmmword [ebp - 0x6b8], xmm0
mov dword [ebp - 0x6d8], 0
mov dword [ebp - 0x6d4], 0xf
mov byte [ebp - 0x6e8], 0
mov dword [ebp - 0x420], 0
mov dword [ebp - 0x410], 0
mov dword [ebp - 0x40c], 0xf
call fcn.100b2ac0
mov ebx, dword [ebp - 0x6b8]
xor esi, esi
cmp dword [ebp - 0x6a8], esi
jle 0x100af5c5
cmp dword [ebp - 0x6a4], 0x10
lea eax, [ebp - 0x6b8]
mov edx, dword [ebp - 0x410]
mov edi, dword [ebp - 0x40c]
cmovae eax, ebx
mov cl, byte [eax + esi]
mov al, cl
mov byte [ebp - 0x720], cl
sub al, 0x41
cmp al, 0x1b
ja 0x100af572
add cl, 0x20
mov byte [ebp - 0x49c], cl
cmp edx, edi
jb 0x100af576
push dword [ebp - 0x49c]
mov byte [ebp - 0x71c], 0
push dword [ebp - 0x71c]
jmp 0x100af5ac
cmp edx, edi
jae 0x100af599
lea eax, [edx + 1]
cmp edi, 0x10
mov dword [ebp - 0x410], eax
lea eax, [ebp - 0x420]
cmovae eax, dword [ebp - 0x420]
mov byte [eax + edx], cl
mov byte [eax + edx + 1], 0
jmp 0x100af5b8
push dword [ebp - 0x720]
mov byte [ebp - 0x664], 0
push dword [ebp - 0x664]
push ecx
lea ecx, [ebp - 0x420]
call fcn.100b38b0
inc esi
cmp esi, dword [ebp - 0x6a8]
jl 0x100af523
mov eax, dword [ebp - 0x6a4]
cmp eax, 0x10
jb 0x100af5fb
lea ecx, [eax + 1]
mov eax, ebx
cmp ecx, 0x1000
jb 0x100af5f1
mov ebx, dword [ebx - 4]
add ecx, 0x23
sub eax, ebx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b05d9
push ecx
push ebx
call fcn.100be753
add esp, 8
mov ebx, dword [ebp - 0x660]
sub esp, 0x18
mov ecx, esp
or ebx, 1
mov dword [ebp - 0x660], ebx
push 0x10101d50
call fcn.100b24b0
lea ecx, [ebp - 0x500]
call fcn.10084ca0
add esp, 0x18
mov edx, eax
cmp dword [eax + 0x14], 0x10
jb 0x100af631
mov edx, dword [eax]
cmp dword [ebp - 0x40c], 0x10
lea ecx, [ebp - 0x420]
mov edi, dword [ebp - 0x420]
mov esi, dword [ebp - 0x410]
cmovae ecx, edi
mov dword [ebp - 0x65c], edi
cmp esi, dword [eax + 0x10]
jne 0x100af6bd
mov edi, esi
sub edi, 4
jb 0x100af671
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x100af67a
add ecx, 4
add edx, 4
sub edi, 4
jae 0x100af660
cmp edi, 0xfffffffc
je 0x100af95a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x100af6b7
cmp edi, 0xfffffffd
je 0x100af95a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x100af6b7
cmp edi, 0xfffffffe
je 0x100af95a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x100af6b7
cmp edi, 0xffffffff
je 0x100af95a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x100af95a
mov edi, dword [ebp - 0x65c]
sub esp, 0x18
or ebx, 2
mov ecx, esp
mov dword [ebp - 0x660], ebx
push 0x10102530
call fcn.100b24b0
lea ecx, [ebp - 0x680]
call fcn.10084ca0
add esp, 0x18
mov edx, eax
cmp dword [eax + 0x14], 0x10
jb 0x100af6ed
mov edx, dword [eax]
cmp dword [ebp - 0x40c], 0x10
lea ecx, [ebp - 0x420]
cmovae ecx, edi
cmp esi, dword [eax + 0x10]
jne 0x100af76d
mov edi, esi
sub edi, 4
jb 0x100af721
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x100af72a
add ecx, 4
add edx, 4
sub edi, 4
jae 0x100af710
cmp edi, 0xfffffffc
je 0x100af95a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x100af767
cmp edi, 0xfffffffd
je 0x100af95a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x100af767
cmp edi, 0xfffffffe
je 0x100af95a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x100af767
cmp edi, 0xffffffff
je 0x100af95a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x100af95a
mov edi, dword [ebp - 0x65c]
sub esp, 0x18
or ebx, 4
mov ecx, esp
mov dword [ebp - 0x660], ebx
push 0x10101fd8
call fcn.100b24b0
lea ecx, [ebp - 0x738]
call fcn.10084ca0
add esp, 0x18
mov edx, eax
cmp dword [eax + 0x14], 0x10
jb 0x100af79d
mov edx, dword [eax]
cmp dword [ebp - 0x40c], 0x10
lea ecx, [ebp - 0x420]
cmovae ecx, edi
cmp esi, dword [eax + 0x10]
jne 0x100af81d
mov edi, esi
sub edi, 4
jb 0x100af7d1
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x100af7da
add ecx, 4
add edx, 4
sub edi, 4
jae 0x100af7c0
cmp edi, 0xfffffffc
je 0x100af95a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x100af817
cmp edi, 0xfffffffd
je 0x100af95a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x100af817
cmp edi, 0xfffffffe
je 0x100af95a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x100af817
cmp edi, 0xffffffff
je 0x100af95a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x100af95a
mov edi, dword [ebp - 0x65c]
sub esp, 0x18
or ebx, 8
mov ecx, esp
mov dword [ebp - 0x660], ebx
push 0x10101e58
call fcn.100b24b0
lea ecx, [ebp - 0x6d0]
call fcn.10084ca0
add esp, 0x18
mov edx, eax
cmp dword [eax + 0x14], 0x10
jb 0x100af84d
mov edx, dword [eax]
cmp dword [ebp - 0x40c], 0x10
lea ecx, [ebp - 0x420]
cmovae ecx, edi
cmp esi, dword [eax + 0x10]
jne 0x100af8cd
mov edi, esi
sub edi, 4
jb 0x100af881
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x100af88a
add ecx, 4
add edx, 4
sub edi, 4
jae 0x100af870
cmp edi, 0xfffffffc
je 0x100af95a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x100af8c7
cmp edi, 0xfffffffd
je 0x100af95a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x100af8c7
cmp edi, 0xfffffffe
je 0x100af95a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x100af8c7
cmp edi, 0xffffffff
je 0x100af95a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x100af95a
mov edi, dword [ebp - 0x65c]
sub esp, 0x18
or ebx, 0x10
mov ecx, esp
mov dword [ebp - 0x660], ebx
push 0x10101c90
call fcn.100b24b0
lea ecx, [ebp - 0x698]
call fcn.10084ca0
add esp, 0x18
mov edx, eax
cmp dword [eax + 0x14], 0x10
jb 0x100af8fd
mov edx, dword [eax]
cmp dword [ebp - 0x40c], 0x10
lea ecx, [ebp - 0x420]
cmovae ecx, edi
cmp esi, dword [eax + 0x10]
jne 0x100af95e
sub esi, 4
jb 0x100af928
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x100af92d
add ecx, 4
add edx, 4
sub esi, 4
jae 0x100af917
cmp esi, 0xfffffffc
je 0x100af95a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x100af95e
cmp esi, 0xfffffffd
je 0x100af95a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x100af95e
cmp esi, 0xfffffffe
je 0x100af95a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x100af95e
cmp esi, 0xffffffff
je 0x100af95a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x100af95e
mov bl, 1
jmp 0x100af960
xor bl, bl
mov eax, dword [ebp - 0x660]
test al, 0x10
je 0x100af9ce
mov edx, dword [ebp - 0x684]
and eax, 0xffffffef
mov dword [ebp - 0x660], eax
cmp edx, 0x10
jb 0x100af9b3
mov ecx, dword [ebp - 0x698]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100af9a3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b05d9
push edx
push ecx
call fcn.100be753
mov eax, dword [ebp - 0x660]
add esp, 8
mov dword [ebp - 0x688], 0
mov dword [ebp - 0x684], 0xf
mov byte [ebp - 0x698], 0
test al, 8
je 0x100afa36
mov edx, dword [ebp - 0x6bc]
and eax, 0xfffffff7
mov dword [ebp - 0x660], eax
cmp edx, 0x10
jb 0x100afa1b
mov ecx, dword [ebp - 0x6d0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100afa0b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b05d9
push edx
push ecx
call fcn.100be753
mov eax, dword [ebp - 0x660]
add esp, 8
mov dword [ebp - 0x6c0], 0
mov dword [ebp - 0x6bc], 0xf
mov byte [ebp - 0x6d0], 0
test al, 4
je 0x100afa9e
mov edx, dword [ebp - 0x724]
and eax, 0xfffffffb
mov dword [ebp - 0x660], eax
cmp edx, 0x10
jb 0x100afa83
mov ecx, dword [ebp - 0x738]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100afa73
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b05d9
push edx
push ecx
call fcn.100be753
mov eax, dword [ebp - 0x660]
add esp, 8
mov dword [ebp - 0x728], 0
mov dword [ebp - 0x724], 0xf
mov byte [ebp - 0x738], 0
test al, 2
je 0x100afb06
mov edx, dword [ebp - 0x66c]
and eax, 0xfffffffd
mov dword [ebp - 0x660], eax
cmp edx, 0x10
jb 0x100afaeb
mov ecx, dword [ebp - 0x680]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100afadb
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b05d9
push edx
push ecx
call fcn.100be753
mov eax, dword [ebp - 0x660]
add esp, 8
mov dword [ebp - 0x670], 0
mov dword [ebp - 0x66c], 0xf
mov byte [ebp - 0x680], 0
mov edx, dword [ebp - 0x4ec]
and eax, 0xfffffffe
mov dword [ebp - 0x660], eax
cmp edx, 0x10
jb 0x100afb49
mov ecx, dword [ebp - 0x500]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100afb3f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b05d9
push edx
push ecx
call fcn.100be753
add esp, 8
test bl, bl
je 0x100afea2
lea eax, [ebp - 0x498]
push eax
lea ecx, [ebp - 0x680]
call fcn.100b24b0
cmp dword [ebp - 0x66c], 0x10
lea ecx, [ebp - 0x518]
lea eax, [ebp - 0x680]
cmovae eax, dword [ebp - 0x680]
push ecx
push eax
call fcn.100c97ba
mov edx, dword [ebp - 0x66c]
or esi, 0xffffffff
add esp, 8
test eax, eax
cmove esi, dword [ebp - 0x504]
cmp edx, 0x10
jb 0x100afbcd
mov ecx, dword [ebp - 0x680]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100afbc3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b05d9
push edx
push ecx
call fcn.100be753
add esp, 8
cmp esi, 0x32000
jge 0x100afea2
lea eax, [ebp - 0x498]
push eax
lea ecx, [ebp - 0x700]
call fcn.100b24b0
mov esi, dword [ebp - 0x6f0]
xor edi, edi
test esi, esi
je 0x100afce5
nop dword [eax + eax]
mov ebx, dword [ebp - 0x6ec]
lea ecx, [ebp - 0x700]
cmp ebx, 0x10
mov edx, esi
push 1
cmovae ecx, dword [ebp - 0x700]
push 0x100fa65c
push ecx
call fcn.100b37d0
add esp, 0xc
mov dword [ebp - 0x680], 0
mov dword [ebp - 0x670], 0
mov dword [ebp - 0x66c], 0xf
lea edx, [eax + 1]
cmp esi, edx
jb 0x100b05fc
sub esi, edx
lea eax, [ebp - 0x700]
mov ecx, 0xff
cmp esi, ecx
cmovb ecx, esi
cmp ebx, 0x10
push ecx
cmovae eax, dword [ebp - 0x700]
lea ecx, [ebp - 0x680]
add eax, edx
push eax
call fcn.100b2ac0
mov edx, dword [ebp - 0x6ec]
cmp edx, 0x10
jb 0x100afcb6
mov ecx, dword [ebp - 0x700]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100afcac
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b05d9
push edx
push ecx
call fcn.100be753
add esp, 8
movq xmm1, qword [ebp - 0x670]
inc edi
movups xmm0, xmmword [ebp - 0x680]
movq qword [ebp - 0x6f0], xmm1
mov esi, dword [ebp - 0x6f0]
movups xmmword [ebp - 0x700], xmm0
cmp edi, esi
jb 0x100afc00
jmp 0x100afcf4
movq xmm1, qword [ebp - 0x6f0]
movups xmm0, xmmword [ebp - 0x700]
mov edx, dword [ebp - 0x428]
mov edi, 0x7fffffff
mov esi, dword [ebp - 0x458]
mov eax, edi
sub eax, edx
movq qword [ebp - 0x708], xmm1
mov dword [ebp - 0x6f0], 0
mov dword [ebp - 0x6ec], 0xf
mov byte [ebp - 0x700], 0
movups xmmword [ebp - 0x718], xmm0
cmp eax, esi
jb 0x100b05e8
cmp dword [ebp - 0x424], 0x10
lea ecx, [ebp - 0x438]
push esi
cmovae ecx, dword [ebp - 0x438]
lea eax, [ebp - 0x468]
cmp dword [ebp - 0x454], 0x10
cmovae eax, dword [ebp - 0x468]
push eax
push edx
push ecx
push ecx
push dword [ebp - 0x664]
lea ecx, [ebp - 0x738]
call fcn.100b5240
lea eax, [ebp - 0x718]
push eax
lea eax, [ebp - 0x738]
push eax
push dword [ebp - 0x664]
lea ecx, [ebp - 0x6d0]
call fcn.100b5060
cmp dword [ebp - 0x6bc], 0x10
lea ecx, [ebp - 0x6d0]
push 1
cmovae ecx, dword [ebp - 0x6d0]
lea eax, [ebp - 0x498]
cmp dword [ebp - 0x484], 0x10
push ecx
cmovae eax, dword [ebp - 0x498]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
mov edx, dword [ebp - 0x6bc]
cmp edx, 0x10
jb 0x100afe04
mov ecx, dword [ebp - 0x6d0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100afdfa
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b05d9
push edx
push ecx
call fcn.100be753
add esp, 8
mov edx, dword [ebp - 0x724]
mov dword [ebp - 0x6c0], 0
mov dword [ebp - 0x6bc], 0xf
mov byte [ebp - 0x6d0], 0
cmp edx, 0x10
jb 0x100afe59
mov ecx, dword [ebp - 0x738]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100afe4f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b05d9
push edx
push ecx
call fcn.100be753
add esp, 8
mov edx, dword [ebp - 0x704]
cmp edx, 0x10
jb 0x100afe93
mov ecx, dword [ebp - 0x718]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100afe89
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b05d9
push edx
push ecx
call fcn.100be753
add esp, 8
mov eax, dword [ebp - 0x69c]
inc eax
mov dword [ebp - 0x69c], eax
jmp 0x100afead
mov eax, dword [ebp - 0x69c]
mov edi, 0x7fffffff
cmp eax, 0x14
mov eax, dword [ebp - 0x40c]
je 0x100aff87
cmp eax, 0x10
jb 0x100afef2
mov edx, dword [ebp - 0x65c]
lea ecx, [eax + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x100afee8
mov edx, dword [edx - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b0601
push ecx
push edx
call fcn.100be753
add esp, 8
mov edx, dword [ebp - 0x484]
cmp edx, 0x10
jb 0x100aff2c
mov ecx, dword [ebp - 0x498]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100aff22
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b0601
push edx
push ecx
call fcn.100be753
add esp, 8
mov ebx, dword [ebp - 0x6a0]
mov edx, dword [ebp - 0x4a0]
cmp edx, 0x10
jb 0x100aff6c
mov ecx, dword [ebp - 0x4b4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100aff62
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b061a
push edx
push ecx
call fcn.100be753
add esp, 8
lea eax, [ebp - 0x658]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x100af220
jmp 0x100b0052
cmp eax, 0x10
jb 0x100affbd
mov edx, dword [ebp - 0x65c]
lea ecx, [eax + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x100affb3
mov edx, dword [edx - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b0601
push ecx
push edx
call fcn.100be753
add esp, 8
mov edx, dword [ebp - 0x484]
cmp edx, 0x10
jb 0x100afff7
mov ecx, dword [ebp - 0x498]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100affed
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b0601
push edx
push ecx
call fcn.100be753
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 0x100b004c
mov ecx, dword [ebp - 0x4b4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100b0042
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b0601
push edx
push ecx
call fcn.100be753
add esp, 8
mov ebx, dword [ebp - 0x6a0]
push ebx
call dword [sym.imp.KERNEL32.dll_FindClose]
mov edx, dword [ebp - 0x428]
sub edi, edx
mov esi, dword [ebp - 0x458]
cmp edi, esi
jb 0x100b0606
cmp dword [ebp - 0x424], 0x10
lea ecx, [ebp - 0x438]
push esi
cmovae ecx, dword [ebp - 0x438]
lea eax, [ebp - 0x468]
cmp dword [ebp - 0x454], 0x10
cmovae eax, dword [ebp - 0x468]
push eax
push edx
push ecx
push ecx
push dword [ebp - 0x664]
lea ecx, [ebp - 0x680]
call fcn.100b5240
cmp dword [ebp - 0x66c], 0x10
lea eax, [ebp - 0x680]
cmovae eax, dword [ebp - 0x680]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x100b00d3
xor bl, bl
jmp 0x100b00d9
shr bl, 4
and bl, 1
mov edx, dword [ebp - 0x66c]
cmp edx, 0x10
jb 0x100b0113
mov ecx, dword [ebp - 0x680]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100b0109
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b060b
push edx
push ecx
call fcn.100be753
add esp, 8
test bl, bl
je 0x100b01ea
sub esp, 0x18
lea eax, [ebp - 0x480]
mov ecx, esp
push eax
call fcn.100b24b0
mov edx, dword [ebp - 0x428]
mov ebx, 0x7fffffff
mov esi, dword [ebp - 0x458]
mov eax, ebx
sub esp, 0x18
sub eax, edx
mov edi, esp
cmp eax, esi
jb 0x100b05e8
cmp dword [ebp - 0x424], 0x10
lea ecx, [ebp - 0x438]
push esi
cmovae ecx, dword [ebp - 0x438]
lea eax, [ebp - 0x468]
cmp dword [ebp - 0x454], 0x10
cmovae eax, dword [ebp - 0x468]
push eax
push edx
push ecx
push ecx
push dword [ebp - 0x664]
mov ecx, edi
call fcn.100b5240
call fcn.10086a50
mov edx, dword [ebp - 0x428]
add esp, 0x18
mov esi, dword [ebp - 0x458]
sub ebx, edx
mov edi, esp
cmp ebx, esi
jb 0x100b05e8
cmp dword [ebp - 0x424], 0x10
lea ecx, [ebp - 0x438]
push esi
cmovae ecx, dword [ebp - 0x438]
lea eax, [ebp - 0x468]
cmp dword [ebp - 0x454], 0x10
cmovae eax, dword [ebp - 0x468]
push eax
push edx
push ecx
push ecx
push dword [ebp - 0x664]
mov ecx, edi
call fcn.100b5240
call fcn.10087330
add esp, 0x18
cmp dword [ebp - 0x46c], 0x10
lea eax, [ebp - 0x480]
push 0x100fa6cc
cmovae eax, dword [ebp - 0x480]
push eax
call fcn.100c761d
add esp, 8
test eax, eax
je 0x100b0406
push eax
call fcn.100c76ab
add esp, 4
lea eax, [ebp - 0x480]
lea ecx, [ebp - 0x680]
push eax
call fcn.100b24b0
cmp dword [ebp - 0x66c], 0x10
lea ecx, [ebp - 0x518]
lea eax, [ebp - 0x680]
cmovae eax, dword [ebp - 0x680]
push ecx
push eax
call fcn.100c97ba
mov edx, dword [ebp - 0x66c]
add esp, 8
test eax, eax
mov ebx, 0xffffffff
cmove ebx, dword [ebp - 0x504]
cmp edx, 0x10
jb 0x100b029b
mov ecx, dword [ebp - 0x680]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100b0291
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b0610
push edx
push ecx
call fcn.100be753
add esp, 8
cmp ebx, 1
jle 0x100b03e9
mov ecx, dword [ebp + 0x1c]
lea eax, [ebp + 8]
mov edx, dword [ebp + 8]
cmp ecx, 0x10
mov esi, dword [ebp + 0x18]
cmovae eax, edx
cmp esi, 1
jne 0x100b02f3
cmp byte [eax], 0x30
jne 0x100b02f3
sub esp, 0x18
lea eax, [ebp - 0x4cc]
mov ecx, esp
push eax
call fcn.100b24b0
sub esp, 0x18
lea eax, [ebp - 0x480]
mov ecx, esp
push eax
call fcn.100b24b0
call fcn.10086ca0
mov ecx, dword [ebp + 0x1c]
add esp, 0x30
mov esi, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp ecx, 0x10
lea eax, [ebp + 8]
cmovae eax, edx
cmp esi, 1
jne 0x100b03e9
cmp byte [eax], 0x31
jne 0x100b03e9
lea eax, [ebp - 0x4cc]
push eax
push ecx
lea ecx, [ebp - 0x500]
call fcn.10086540
add esp, 4
lea ecx, [ebp - 0x680]
mov edx, eax
call fcn.100b2f10
add esp, 4
cmp dword [eax + 0x14], 0x10
jb 0x100b033c
mov eax, dword [eax]
cmp dword [ebp - 0x46c], 0x10
lea ecx, [ebp - 0x480]
push 1
cmovae ecx, dword [ebp - 0x480]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_CopyFileA]
mov edx, dword [ebp - 0x66c]
cmp edx, 0x10
jb 0x100b0394
mov ecx, dword [ebp - 0x680]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100b038a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b0615
push edx
push ecx
call fcn.100be753
add esp, 8
mov edx, dword [ebp - 0x4ec]
mov dword [ebp - 0x670], 0
mov dword [ebp - 0x66c], 0xf
mov byte [ebp - 0x680], 0
cmp edx, 0x10
jb 0x100b03e9
mov ecx, dword [ebp - 0x500]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100b03df
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b0615
push edx
push ecx
call fcn.100be753
add esp, 8
cmp dword [ebp - 0x46c], 0x10
lea eax, [ebp - 0x480]
cmovae eax, dword [ebp - 0x480]
push eax
call fcn.100c78b5
add esp, 4
mov edx, dword [ebp - 0x454]
cmp edx, 0x10
jb 0x100b0440
mov ecx, dword [ebp - 0x468]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100b0436
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b061a
push edx
push ecx
call fcn.100be753
add esp, 8
mov edx, dword [ebp - 0x424]
cmp edx, 0x10
jb 0x100b047a
mov ecx, dword [ebp - 0x438]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100b0470
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b061a
push edx
push ecx
call fcn.100be753
add esp, 8
mov edx, dword [ebp - 0x46c]
cmp edx, 0x10
jb 0x100b04b4
mov ecx, dword [ebp - 0x480]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100b04aa
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b061a
push edx
push ecx
call fcn.100be753
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 0x100b0509
mov ecx, dword [ebp - 0x4cc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100b04ff
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b061a
push edx
push ecx
call fcn.100be753
add esp, 8
mov edx, dword [ebp - 0x4d0]
cmp edx, 0x10
jb 0x100b0543
mov ecx, dword [ebp - 0x4e4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100b0539
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b061a
push edx
push ecx
call fcn.100be753
add esp, 8
mov edx, dword [ebp - 0x43c]
cmp edx, 0x10
jb 0x100b057d
mov ecx, dword [ebp - 0x450]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100b0573
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b061a
push edx
push ecx
call fcn.100be753
add esp, 8
mov edx, dword [ebp + 0x1c]
mov dword [ebp - 0x440], 0
mov dword [ebp - 0x43c], 0xf
mov byte [ebp - 0x450], 0
cmp edx, 0x10
jb 0x100b05c8
mov ecx, dword [ebp + 8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100b05be
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b061a
push edx
push ecx
call fcn.100be753
add esp, 8
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.100be1f9
mov esp, ebp
pop ebp
ret
call fcn.100ca55d
call fcn.100ca55d
call fcn.100ca55d
call fcn.10083390
call fcn.100ca55d
call fcn.10083390
call fcn.100ca55d
call fcn.100b2d50
call fcn.100ca55d
call fcn.10083390
call fcn.100ca55d
call fcn.100ca55d
call fcn.100ca55d
call fcn.100ca55d
int3