Function at 0x100aefe0
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, 0x724
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 - 0x690], 0
mov dword [ebp - 0x68c], 0xf
lea edx, [ecx + 1]
mov byte [ebp - 0x6a0], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100af040
sub ecx, edx
lea eax, [ebp - 0x110]
push ecx
push eax
lea ecx, [ebp - 0x6a0]
call fcn.100b2fb0
push 0x100fb2fc
lea ecx, [ebp - 0x6a0]
call fcn.100b26a0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x438], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x428], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov edx, dword [ebp - 0x68c]
cmp edx, 0x10
jb 0x100af0ce
mov ecx, dword [ebp - 0x6a0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100af0c4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b08f3
push edx
push ecx
call fcn.100bede4
add esp, 8
sub esp, 0x18
mov ecx, esp
call fcn.10084710
lea ecx, [ebp - 0x4e4]
call fcn.10084a40
mov ecx, esp
push 0x10102208
call fcn.100b2820
lea ecx, [ebp - 0x680]
call fcn.10084620
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.100b7670
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 - 0x66c]
movq qword [ebp - 0x4bc], xmm0
cmp edx, 0x10
jb 0x100af182
mov ecx, dword [ebp - 0x680]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100af178
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b08f8
push edx
push ecx
call fcn.100bede4
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 - 0x690], 0
mov dword [ebp - 0x68c], 0xf
lea edx, [ecx + 1]
mov byte [ebp - 0x6a0], 0
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100af1c0
sub ecx, edx
lea eax, [ebp - 0x408]
push ecx
push eax
lea ecx, [ebp - 0x6a0]
call fcn.100b2fb0
lea eax, [ebp - 0x4cc]
push eax
lea edx, [ebp - 0x6a0]
lea ecx, [ebp - 0x450]
call fcn.100b3550
mov edx, dword [ebp - 0x68c]
add esp, 4
cmp edx, 0x10
jb 0x100af231
mov ecx, dword [ebp - 0x6a0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100af227
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b08fd
push edx
push ecx
call fcn.100bede4
add esp, 8
lea eax, [ebp - 0x408]
push eax
push 0x104
call esi
lea ecx, [ebp - 0x408]
mov dword [ebp - 0x474], 0
mov dword [ebp - 0x470], 0xf
lea edx, [ecx + 1]
mov byte [ebp - 0x484], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100af263
sub ecx, edx
lea eax, [ebp - 0x408]
push ecx
push eax
lea ecx, [ebp - 0x484]
call fcn.100b2fb0
sub esp, 0x18
mov ecx, esp
push 0x10101ef0
call fcn.100b2820
lea ecx, [ebp - 0x4b4]
call fcn.10084620
lea eax, [ebp - 0x4b4]
push eax
lea edx, [ebp - 0x484]
lea ecx, [ebp - 0x680]
call fcn.100b35f0
add esp, 0x1c
cmp dword [eax + 0x14], 0x10
jb 0x100af2bc
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x100af2ce
mov bl, 1
jmp 0x100af2d6
shr bl, 4
not bl
and bl, 1
mov edx, dword [ebp - 0x66c]
cmp edx, 0x10
jb 0x100af310
mov ecx, dword [ebp - 0x680]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100af306
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b0902
push edx
push ecx
call fcn.100bede4
add esp, 8
test bl, bl
je 0x100af37a
lea eax, [ebp - 0x4b4]
push eax
lea edx, [ebp - 0x484]
lea ecx, [ebp - 0x680]
call fcn.100b35f0
add esp, 4
cmp dword [eax + 0x14], 0x10
jb 0x100af337
mov eax, dword [eax]
push 0
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
mov edx, dword [ebp - 0x66c]
cmp edx, 0x10
jb 0x100af37a
mov ecx, dword [ebp - 0x680]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100af370
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b0907
push edx
push ecx
call fcn.100bede4
add esp, 8
mov eax, dword [ebp - 0x428]
mov dword [ebp - 0x690], 0
mov dword [ebp - 0x68c], 0xf
mov byte [ebp - 0x6a0], 0
lea edx, [eax - 1]
cmp eax, edx
jb 0x100b090c
sub eax, edx
mov ecx, 1
cmp eax, ecx
cmovb ecx, eax
cmp dword [ebp - 0x424], 0x10
lea eax, [ebp - 0x438]
cmovae eax, dword [ebp - 0x438]
push ecx
add eax, edx
lea ecx, [ebp - 0x6a0]
push eax
call fcn.100b2fb0
mov edx, 0x100fb2fc
lea ecx, [ebp - 0x6a0]
call fcn.100b33d0
mov edx, dword [ebp - 0x68c]
mov bl, al
cmp edx, 0x10
jb 0x100af421
mov ecx, dword [ebp - 0x6a0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100af417
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b092f
push edx
push ecx
call fcn.100bede4
add esp, 8
mov eax, dword [ebp - 0x428]
lea ecx, [ebp - 0x420]
mov dword [ebp - 0x410], 0
mov dword [ebp - 0x40c], 0xf
mov byte [ebp - 0x420], 0
test bl, bl
jne 0x100af52b
add eax, 2
push eax
call fcn.100b5970
cmp dword [ebp - 0x424], 0x10
lea ecx, [ebp - 0x438]
mov esi, dword [ebp - 0x40c]
mov eax, esi
cmovae ecx, dword [ebp - 0x438]
mov edi, dword [ebp - 0x428]
mov edx, dword [ebp - 0x410]
sub eax, edx
push edi
push ecx
cmp edi, eax
ja 0x100af4b3
lea eax, [edi + edx]
cmp esi, 0x10
mov dword [ebp - 0x410], eax
lea eax, [ebp - 0x420]
cmovae eax, dword [ebp - 0x420]
lea esi, [eax + edx]
push esi
call fcn.100c22c0
add esp, 0xc
mov byte [edi + esi], bl
jmp 0x100af4cc
mov byte [ebp - 0x664], 0
lea ecx, [ebp - 0x420]
push dword [ebp - 0x664]
push edi
call fcn.100b4450
push 0x100fb468
lea ecx, [ebp - 0x420]
call fcn.100b26a0
lea eax, [ebp - 0x420]
push eax
lea ecx, [ebp - 0x438]
call fcn.100b2760
mov edx, dword [ebp - 0x40c]
cmp edx, 0x10
jb 0x100af602
mov ecx, dword [ebp - 0x420]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100af5f8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b0911
jmp 0x100af5f8
inc eax
push eax
call fcn.100b5970
cmp dword [ebp - 0x424], 0x10
lea ecx, [ebp - 0x438]
mov esi, dword [ebp - 0x40c]
mov eax, esi
cmovae ecx, dword [ebp - 0x438]
mov edi, dword [ebp - 0x428]
mov edx, dword [ebp - 0x410]
sub eax, edx
push edi
push ecx
cmp edi, eax
ja 0x100af58d
lea eax, [edx + edi]
cmp esi, 0x10
mov dword [ebp - 0x410], eax
lea eax, [ebp - 0x420]
cmovae eax, dword [ebp - 0x420]
lea esi, [eax + edx]
push esi
call fcn.100c22c0
add esp, 0xc
mov byte [edi + esi], 0
jmp 0x100af5a6
mov byte [ebp - 0x664], 0
lea ecx, [ebp - 0x420]
push dword [ebp - 0x664]
push edi
call fcn.100b4450
push 0x100f5bb8
lea ecx, [ebp - 0x420]
call fcn.100b26a0
lea eax, [ebp - 0x420]
push eax
lea ecx, [ebp - 0x438]
call fcn.100b2760
mov edx, dword [ebp - 0x40c]
cmp edx, 0x10
jb 0x100af602
mov ecx, dword [ebp - 0x420]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100af5f8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b0916
push edx
push ecx
call fcn.100bede4
add esp, 8
cmp dword [ebp - 0x424], 0x10
lea ecx, [ebp - 0x658]
lea eax, [ebp - 0x438]
cmovae eax, dword [ebp - 0x438]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov ebx, eax
mov dword [ebp - 0x684], 0
mov dword [ebp - 0x664], ebx
or edi, 0xffffffff
nop dword [eax]
lea ecx, [ebp - 0x62c]
mov dword [ebp - 0x48c], 0
mov dword [ebp - 0x488], 0xf
lea edx, [ecx + 1]
mov byte [ebp - 0x49c], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100af664
sub ecx, edx
lea eax, [ebp - 0x62c]
push ecx
push eax
lea ecx, [ebp - 0x49c]
call fcn.100b2fb0
test byte [ebp - 0x658], 0x10
jne 0x100b0317
mov eax, dword [ebp - 0x428]
mov dword [ebp - 0x6a8], 0
mov dword [ebp - 0x6a4], 0xf
mov byte [ebp - 0x6b8], 0
lea ecx, [eax - 2]
cmp eax, ecx
cmovb ecx, eax
cmp dword [ebp - 0x424], 0x10
lea eax, [ebp - 0x438]
cmovae eax, dword [ebp - 0x438]
push ecx
push eax
lea ecx, [ebp - 0x6b8]
call fcn.100b2fb0
push 0x100fb2fc
lea ecx, [ebp - 0x6b8]
call fcn.100b26a0
lea edx, [ebp - 0x6d0]
lea ecx, [ebp - 0x468]
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 - 0x49c]
push eax
call fcn.100b3550
mov edx, dword [ebp - 0x6bc]
add esp, 4
cmp edx, 0x10
jb 0x100af764
mov ecx, dword [ebp - 0x6d0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100af75a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b08f3
push edx
push ecx
call fcn.100bede4
add esp, 8
mov edx, dword [ebp - 0x6a4]
mov dword [ebp - 0x6c0], 0
mov dword [ebp - 0x6bc], 0xf
mov byte [ebp - 0x6d0], 0
cmp edx, 0x10
jb 0x100af7b9
mov ecx, dword [ebp - 0x6b8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100af7af
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b08f3
push edx
push ecx
call fcn.100bede4
add esp, 8
lea eax, [ebp - 0x468]
push eax
lea ecx, [ebp - 0x6e8]
call fcn.100b2820
mov esi, dword [ebp - 0x6d8]
xor edi, edi
test esi, esi
je 0x100af8c2
nop dword [eax + eax]
mov ebx, dword [ebp - 0x6d4]
lea ecx, [ebp - 0x6e8]
cmp ebx, 0x10
mov edx, esi
push 1
cmovae ecx, dword [ebp - 0x6e8]
push 0x100f1e8c
push ecx
call fcn.100b40d0
add esp, 0xc
mov dword [ebp - 0x6a8], 0
mov dword [ebp - 0x6a4], 0xf
mov byte [ebp - 0x6b8], 0
lea edx, [eax + 1]
cmp esi, edx
jb 0x100b090c
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 - 0x6b8]
add eax, edx
push eax
call fcn.100b2fb0
mov edx, dword [ebp - 0x6d4]
cmp edx, 0x10
jb 0x100af893
mov ecx, dword [ebp - 0x6e8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100af889
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b08f3
push edx
push ecx
call fcn.100bede4
add esp, 8
movq xmm1, qword [ebp - 0x6a8]
inc edi
movups xmm0, xmmword [ebp - 0x6b8]
movq qword [ebp - 0x6d8], xmm1
mov esi, dword [ebp - 0x6d8]
movups xmmword [ebp - 0x6e8], xmm0
cmp edi, esi
jb 0x100af7e0
jmp 0x100af8d1
movq xmm1, qword [ebp - 0x6d8]
movups xmm0, xmmword [ebp - 0x6e8]
push 0
push 0x100f1e78
lea ecx, [ebp - 0x420]
movq qword [ebp - 0x690], xmm1
movups xmmword [ebp - 0x6a0], xmm0
mov dword [ebp - 0x6d8], 0
mov dword [ebp - 0x6d4], 0xf
mov byte [ebp - 0x6e8], 0
mov dword [ebp - 0x410], 0
mov dword [ebp - 0x40c], 0xf
mov byte [ebp - 0x420], 0
call fcn.100b2fb0
mov ebx, dword [ebp - 0x6a0]
xor esi, esi
cmp dword [ebp - 0x690], esi
jle 0x100af9e2
nop dword [eax]
cmp dword [ebp - 0x68c], 0x10
lea eax, [ebp - 0x6a0]
mov edx, dword [ebp - 0x410]
mov edi, dword [ebp - 0x40c]
cmovae eax, ebx
mov cl, byte [eax + esi]
mov al, cl
mov byte [ebp - 0x708], cl
sub al, 0x41
cmp al, 0x1b
ja 0x100af98f
add cl, 0x20
mov byte [ebp - 0x46c], cl
cmp edx, edi
jb 0x100af993
push dword [ebp - 0x46c]
mov byte [ebp - 0x704], 0
push dword [ebp - 0x704]
jmp 0x100af9c9
cmp edx, edi
jae 0x100af9b6
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 0x100af9d5
push dword [ebp - 0x708]
mov byte [ebp - 0x70c], 0
push dword [ebp - 0x70c]
push ecx
lea ecx, [ebp - 0x420]
call fcn.100b41b0
inc esi
cmp esi, dword [ebp - 0x690]
jl 0x100af940
mov eax, dword [ebp - 0x68c]
cmp eax, 0x10
jb 0x100afa18
lea ecx, [eax + 1]
mov eax, ebx
cmp ecx, 0x1000
jb 0x100afa0e
mov ebx, dword [ebx - 4]
add ecx, 0x23
sub eax, ebx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b08f3
push ecx
push ebx
call fcn.100bede4
add esp, 8
mov ebx, dword [ebp - 0x660]
sub esp, 0x18
mov ecx, esp
or ebx, 1
mov dword [ebp - 0x660], ebx
push 0x10101c08
call fcn.100b2820
lea ecx, [ebp - 0x500]
call fcn.10084620
add esp, 0x18
mov edx, eax
cmp dword [eax + 0x14], 0x10
jb 0x100afa4e
mov edx, dword [eax]
cmp dword [ebp - 0x40c], 0x10
lea ecx, [ebp - 0x420]
mov esi, dword [ebp - 0x420]
mov edi, dword [ebp - 0x410]
cmovae ecx, esi
mov dword [ebp - 0x65c], esi
cmp edi, dword [eax + 0x10]
jne 0x100afadd
mov esi, edi
sub esi, 4
jb 0x100afa91
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x100afa9a
add ecx, 4
add edx, 4
sub esi, 4
jae 0x100afa80
cmp esi, 0xfffffffc
je 0x100afd7a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x100afad7
cmp esi, 0xfffffffd
je 0x100afd7a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x100afad7
cmp esi, 0xfffffffe
je 0x100afd7a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x100afad7
cmp esi, 0xffffffff
je 0x100afd7a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x100afd7a
mov esi, dword [ebp - 0x65c]
sub esp, 0x18
or ebx, 2
mov ecx, esp
mov dword [ebp - 0x660], ebx
push 0x101023b8
call fcn.100b2820
lea ecx, [ebp - 0x680]
call fcn.10084620
add esp, 0x18
mov edx, eax
cmp dword [eax + 0x14], 0x10
jb 0x100afb0d
mov edx, dword [eax]
cmp dword [ebp - 0x40c], 0x10
lea ecx, [ebp - 0x420]
cmovae ecx, esi
cmp edi, dword [eax + 0x10]
jne 0x100afb8d
mov esi, edi
sub esi, 4
jb 0x100afb41
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x100afb4a
add ecx, 4
add edx, 4
sub esi, 4
jae 0x100afb30
cmp esi, 0xfffffffc
je 0x100afd7a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x100afb87
cmp esi, 0xfffffffd
je 0x100afd7a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x100afb87
cmp esi, 0xfffffffe
je 0x100afd7a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x100afb87
cmp esi, 0xffffffff
je 0x100afd7a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x100afd7a
mov esi, dword [ebp - 0x65c]
sub esp, 0x18
or ebx, 4
mov ecx, esp
mov dword [ebp - 0x660], ebx
push 0x10101e90
call fcn.100b2820
lea ecx, [ebp - 0x724]
call fcn.10084620
add esp, 0x18
mov edx, eax
cmp dword [eax + 0x14], 0x10
jb 0x100afbbd
mov edx, dword [eax]
cmp dword [ebp - 0x40c], 0x10
lea ecx, [ebp - 0x420]
cmovae ecx, esi
cmp edi, dword [eax + 0x10]
jne 0x100afc3d
mov esi, edi
sub esi, 4
jb 0x100afbf1
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x100afbfa
add ecx, 4
add edx, 4
sub esi, 4
jae 0x100afbe0
cmp esi, 0xfffffffc
je 0x100afd7a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x100afc37
cmp esi, 0xfffffffd
je 0x100afd7a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x100afc37
cmp esi, 0xfffffffe
je 0x100afd7a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x100afc37
cmp esi, 0xffffffff
je 0x100afd7a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x100afd7a
mov esi, dword [ebp - 0x65c]
sub esp, 0x18
or ebx, 8
mov ecx, esp
mov dword [ebp - 0x660], ebx
push 0x10101d10
call fcn.100b2820
lea ecx, [ebp - 0x6d0]
call fcn.10084620
add esp, 0x18
mov edx, eax
cmp dword [eax + 0x14], 0x10
jb 0x100afc6d
mov edx, dword [eax]
cmp dword [ebp - 0x40c], 0x10
lea ecx, [ebp - 0x420]
cmovae ecx, esi
cmp edi, dword [eax + 0x10]
jne 0x100afced
mov esi, edi
sub esi, 4
jb 0x100afca1
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x100afcaa
add ecx, 4
add edx, 4
sub esi, 4
jae 0x100afc90
cmp esi, 0xfffffffc
je 0x100afd7a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x100afce7
cmp esi, 0xfffffffd
je 0x100afd7a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x100afce7
cmp esi, 0xfffffffe
je 0x100afd7a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x100afce7
cmp esi, 0xffffffff
je 0x100afd7a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x100afd7a
mov esi, dword [ebp - 0x65c]
sub esp, 0x18
or ebx, 0x10
mov ecx, esp
mov dword [ebp - 0x660], ebx
push 0x10101b48
call fcn.100b2820
lea ecx, [ebp - 0x6b8]
call fcn.10084620
add esp, 0x18
mov edx, eax
cmp dword [eax + 0x14], 0x10
jb 0x100afd1d
mov edx, dword [eax]
cmp dword [ebp - 0x40c], 0x10
lea ecx, [ebp - 0x420]
cmovae ecx, esi
cmp edi, dword [eax + 0x10]
jne 0x100afd7e
sub edi, 4
jb 0x100afd48
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x100afd4d
add ecx, 4
add edx, 4
sub edi, 4
jae 0x100afd37
cmp edi, 0xfffffffc
je 0x100afd7a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x100afd7e
cmp edi, 0xfffffffd
je 0x100afd7a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x100afd7e
cmp edi, 0xfffffffe
je 0x100afd7a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x100afd7e
cmp edi, 0xffffffff
je 0x100afd7a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x100afd7e
mov bl, 1
jmp 0x100afd80
xor bl, bl
mov eax, dword [ebp - 0x660]
test al, 0x10
je 0x100afdee
mov edx, dword [ebp - 0x6a4]
and eax, 0xffffffef
mov dword [ebp - 0x660], eax
cmp edx, 0x10
jb 0x100afdd3
mov ecx, dword [ebp - 0x6b8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100afdc3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b08f3
push edx
push ecx
call fcn.100bede4
mov eax, dword [ebp - 0x660]
add esp, 8
mov dword [ebp - 0x6a8], 0
mov dword [ebp - 0x6a4], 0xf
mov byte [ebp - 0x6b8], 0
test al, 8
je 0x100afe56
mov edx, dword [ebp - 0x6bc]
and eax, 0xfffffff7
mov dword [ebp - 0x660], eax
cmp edx, 0x10
jb 0x100afe3b
mov ecx, dword [ebp - 0x6d0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100afe2b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b08f3
push edx
push ecx
call fcn.100bede4
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 0x100afebe
mov edx, dword [ebp - 0x710]
and eax, 0xfffffffb
mov dword [ebp - 0x660], eax
cmp edx, 0x10
jb 0x100afea3
mov ecx, dword [ebp - 0x724]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100afe93
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b08f3
push edx
push ecx
call fcn.100bede4
mov eax, dword [ebp - 0x660]
add esp, 8
mov dword [ebp - 0x714], 0
mov dword [ebp - 0x710], 0xf
mov byte [ebp - 0x724], 0
test al, 2
je 0x100aff26
mov edx, dword [ebp - 0x66c]
and eax, 0xfffffffd
mov dword [ebp - 0x660], eax
cmp edx, 0x10
jb 0x100aff0b
mov ecx, dword [ebp - 0x680]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100afefb
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b08f3
push edx
push ecx
call fcn.100bede4
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 0x100aff69
mov ecx, dword [ebp - 0x500]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100aff5f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b08f3
push edx
push ecx
call fcn.100bede4
add esp, 8
test bl, bl
je 0x100b0289
lea eax, [ebp - 0x468]
push eax
lea ecx, [ebp - 0x680]
call fcn.100b2820
cmp dword [ebp - 0x66c], 0x10
lea ecx, [ebp - 0x518]
lea eax, [ebp - 0x680]
cmovae eax, dword [ebp - 0x680]
push ecx
push eax
call fcn.100caa75
mov edx, dword [ebp - 0x66c]
or edi, 0xffffffff
add esp, 8
mov esi, edi
test eax, eax
cmove esi, dword [ebp - 0x504]
cmp edx, 0x10
jb 0x100affef
mov ecx, dword [ebp - 0x680]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100affe5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b08f3
push edx
push ecx
call fcn.100bede4
add esp, 8
cmp esi, 0x32000
jge 0x100b028c
lea eax, [ebp - 0x468]
push eax
lea ecx, [ebp - 0x700]
call fcn.100b2820
mov esi, dword [ebp - 0x6f0]
xor edi, edi
test esi, esi
je 0x100b0102
nop dword [eax]
mov ebx, dword [ebp - 0x6ec]
lea ecx, [ebp - 0x700]
cmp ebx, 0x10
mov edx, esi
push 1
cmovae ecx, dword [ebp - 0x700]
push 0x100fb2fc
push ecx
call fcn.100b40d0
add esp, 0xc
mov dword [ebp - 0x670], 0
mov dword [ebp - 0x66c], 0xf
mov byte [ebp - 0x680], 0
lea edx, [eax + 1]
cmp esi, edx
jb 0x100b090c
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.100b2fb0
mov edx, dword [ebp - 0x6ec]
cmp edx, 0x10
jb 0x100b00d3
mov ecx, dword [ebp - 0x700]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100b00c9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b08f3
push edx
push ecx
call fcn.100bede4
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 0x100b0020
jmp 0x100b0111
movq xmm1, qword [ebp - 0x6f0]
movups xmm0, xmmword [ebp - 0x700]
lea eax, [ebp - 0x6d0]
movq qword [ebp - 0x6c0], xmm1
push eax
lea eax, [ebp - 0x4b4]
mov dword [ebp - 0x6f0], 0
push eax
lea edx, [ebp - 0x484]
mov dword [ebp - 0x6ec], 0xf
lea ecx, [ebp - 0x6b8]
mov byte [ebp - 0x700], 0
movups xmmword [ebp - 0x6d0], xmm0
call fcn.100b35f0
add esp, 4
lea ecx, [ebp - 0x724]
mov edx, eax
call fcn.100b3450
add esp, 4
cmp dword [eax + 0x14], 0x10
jb 0x100b0175
mov eax, dword [eax]
cmp dword [ebp - 0x454], 0x10
lea ecx, [ebp - 0x468]
push 1
cmovae ecx, dword [ebp - 0x468]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_CopyFileA]
mov edx, dword [ebp - 0x710]
cmp edx, 0x10
jb 0x100b01cd
mov ecx, dword [ebp - 0x724]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100b01c3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b08f3
push edx
push ecx
call fcn.100bede4
add esp, 8
mov edx, dword [ebp - 0x6a4]
mov dword [ebp - 0x714], 0
mov dword [ebp - 0x710], 0xf
mov byte [ebp - 0x724], 0
cmp edx, 0x10
jb 0x100b0222
mov ecx, dword [ebp - 0x6b8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100b0218
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b08f3
push edx
push ecx
call fcn.100bede4
add esp, 8
mov edx, dword [ebp - 0x6bc]
mov dword [ebp - 0x6a8], 0
mov dword [ebp - 0x6a4], 0xf
mov byte [ebp - 0x6b8], 0
cmp edx, 0x10
jb 0x100b0277
mov ecx, dword [ebp - 0x6d0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100b026d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b08f3
push edx
push ecx
call fcn.100bede4
add esp, 8
mov eax, dword [ebp - 0x684]
inc eax
or edi, 0xffffffff
mov dword [ebp - 0x684], eax
jmp 0x100b0292
or edi, 0xffffffff
mov eax, dword [ebp - 0x684]
cmp eax, 0x14
mov eax, dword [ebp - 0x40c]
je 0x100b036c
cmp eax, 0x10
jb 0x100b02d7
mov edx, dword [ebp - 0x65c]
lea ecx, [eax + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x100b02cd
mov edx, dword [edx - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b091b
push ecx
push edx
call fcn.100bede4
add esp, 8
mov edx, dword [ebp - 0x454]
cmp edx, 0x10
jb 0x100b0311
mov ecx, dword [ebp - 0x468]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100b0307
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b091b
push edx
push ecx
call fcn.100bede4
add esp, 8
mov ebx, dword [ebp - 0x664]
mov edx, dword [ebp - 0x488]
cmp edx, 0x10
jb 0x100b0351
mov ecx, dword [ebp - 0x49c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100b0347
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b092f
push edx
push ecx
call fcn.100bede4
add esp, 8
lea eax, [ebp - 0x658]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x100af640
jmp 0x100b0437
cmp eax, 0x10
jb 0x100b03a2
mov edx, dword [ebp - 0x65c]
lea ecx, [eax + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x100b0398
mov edx, dword [edx - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b091b
push ecx
push edx
call fcn.100bede4
add esp, 8
mov edx, dword [ebp - 0x454]
cmp edx, 0x10
jb 0x100b03dc
mov ecx, dword [ebp - 0x468]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100b03d2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b091b
push edx
push ecx
call fcn.100bede4
add esp, 8
mov edx, dword [ebp - 0x488]
mov dword [ebp - 0x458], 0
mov dword [ebp - 0x454], 0xf
mov byte [ebp - 0x468], 0
cmp edx, 0x10
jb 0x100b0431
mov ecx, dword [ebp - 0x49c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100b0427
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b091b
push edx
push ecx
call fcn.100bede4
add esp, 8
mov ebx, dword [ebp - 0x664]
push ebx
call dword [sym.imp.KERNEL32.dll_FindClose]
lea eax, [ebp - 0x4b4]
push eax
lea edx, [ebp - 0x484]
lea ecx, [ebp - 0x500]
call fcn.100b35f0
add esp, 4
cmp dword [eax + 0x14], 0x10
jb 0x100b0461
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x100b0473
xor bl, bl
jmp 0x100b0479
shr bl, 4
and bl, 1
mov edx, dword [ebp - 0x4ec]
cmp edx, 0x10
jb 0x100b04b3
mov ecx, dword [ebp - 0x500]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100b04a9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b0920
push edx
push ecx
call fcn.100bede4
add esp, 8
test bl, bl
je 0x100b0509
sub esp, 0x18
lea eax, [ebp - 0x450]
mov ecx, esp
push eax
call fcn.100b2820
sub esp, 0x18
lea eax, [ebp - 0x4b4]
mov ecx, esp
lea edx, [ebp - 0x484]
push eax
call fcn.100b35f0
add esp, 4
call fcn.100864c0
add esp, 0x18
lea eax, [ebp - 0x4b4]
mov ecx, esp
lea edx, [ebp - 0x484]
push eax
call fcn.100b35f0
add esp, 4
call fcn.10086dd0
add esp, 0x18
cmp dword [ebp - 0x43c], 0x10
lea eax, [ebp - 0x450]
push 0x100fb36c
cmovae eax, dword [ebp - 0x450]
push eax
call fcn.100c897d
add esp, 8
test eax, eax
je 0x100b0720
push eax
call fcn.100c8a0b
add esp, 4
lea eax, [ebp - 0x450]
lea ecx, [ebp - 0x680]
push eax
call fcn.100b2820
cmp dword [ebp - 0x66c], 0x10
lea ecx, [ebp - 0x518]
lea eax, [ebp - 0x680]
cmovae eax, dword [ebp - 0x680]
push ecx
push eax
call fcn.100caa75
mov edx, dword [ebp - 0x66c]
add esp, 8
test eax, eax
cmove edi, dword [ebp - 0x504]
cmp edx, 0x10
jb 0x100b05b5
mov ecx, dword [ebp - 0x680]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100b05ab
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b0925
push edx
push ecx
call fcn.100bede4
add esp, 8
cmp edi, 1
jle 0x100b0703
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 0x100b060d
cmp byte [eax], 0x30
jne 0x100b060d
sub esp, 0x18
lea eax, [ebp - 0x4cc]
mov ecx, esp
push eax
call fcn.100b2820
sub esp, 0x18
lea eax, [ebp - 0x450]
mov ecx, esp
push eax
call fcn.100b2820
call fcn.10086750
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 0x100b0703
cmp byte [eax], 0x31
jne 0x100b0703
lea eax, [ebp - 0x4cc]
push eax
push ecx
lea ecx, [ebp - 0x500]
call fcn.10085f60
add esp, 4
lea ecx, [ebp - 0x680]
mov edx, eax
call fcn.100b3550
add esp, 4
cmp dword [eax + 0x14], 0x10
jb 0x100b0656
mov eax, dword [eax]
cmp dword [ebp - 0x43c], 0x10
lea ecx, [ebp - 0x450]
push 1
cmovae ecx, dword [ebp - 0x450]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_CopyFileA]
mov edx, dword [ebp - 0x66c]
cmp edx, 0x10
jb 0x100b06ae
mov ecx, dword [ebp - 0x680]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100b06a4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b092a
push edx
push ecx
call fcn.100bede4
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 0x100b0703
mov ecx, dword [ebp - 0x500]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100b06f9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b092a
push edx
push ecx
call fcn.100bede4
add esp, 8
cmp dword [ebp - 0x43c], 0x10
lea eax, [ebp - 0x450]
cmovae eax, dword [ebp - 0x450]
push eax
call fcn.100c8c15
add esp, 4
mov edx, dword [ebp - 0x4a0]
cmp edx, 0x10
jb 0x100b075a
mov ecx, dword [ebp - 0x4b4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100b0750
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b092f
push edx
push ecx
call fcn.100bede4
add esp, 8
mov edx, dword [ebp - 0x470]
cmp edx, 0x10
jb 0x100b0794
mov ecx, dword [ebp - 0x484]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100b078a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b092f
push edx
push ecx
call fcn.100bede4
add esp, 8
mov edx, dword [ebp - 0x43c]
cmp edx, 0x10
jb 0x100b07ce
mov ecx, dword [ebp - 0x450]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100b07c4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b092f
push edx
push ecx
call fcn.100bede4
add esp, 8
mov edx, dword [ebp - 0x4b8]
mov dword [ebp - 0x440], 0
mov dword [ebp - 0x43c], 0xf
mov byte [ebp - 0x450], 0
cmp edx, 0x10
jb 0x100b0823
mov ecx, dword [ebp - 0x4cc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100b0819
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b092f
push edx
push ecx
call fcn.100bede4
add esp, 8
mov edx, dword [ebp - 0x4d0]
cmp edx, 0x10
jb 0x100b085d
mov ecx, dword [ebp - 0x4e4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100b0853
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b092f
push edx
push ecx
call fcn.100bede4
add esp, 8
mov edx, dword [ebp - 0x424]
cmp edx, 0x10
jb 0x100b0897
mov ecx, dword [ebp - 0x438]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100b088d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b092f
push edx
push ecx
call fcn.100bede4
add esp, 8
mov edx, dword [ebp + 0x1c]
mov dword [ebp - 0x428], 0
mov dword [ebp - 0x424], 0xf
mov byte [ebp - 0x438], 0
cmp edx, 0x10
jb 0x100b08e2
mov ecx, dword [ebp + 8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100b08d8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b092f
push edx
push ecx
call fcn.100bede4
add esp, 8
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.100be889
mov esp, ebp
pop ebp
ret
call fcn.100cb7f0
call fcn.100cb7f0
call fcn.100cb7f0
call fcn.100cb7f0
call fcn.100cb7f0
call fcn.100b3290
call fcn.100cb7f0
call fcn.100cb7f0
call fcn.100cb7f0
call fcn.100cb7f0
call fcn.100cb7f0
call fcn.100cb7f0
call fcn.100cb7f0
int3