Function at 0x10093720
Capabilities:
Check if file exists
Copy file
Delete file
Get file size
Move file
Query environment variable

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10114f35
mov eax, dword fs:[0]
push eax
push ebx
mov eax, 0x11f0
call fcn.100b9aa0
mov eax, dword [0x10163164]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov al, byte [ebx + 0xc]
push str.Wow64EnableWow64FsRedirection
push str.kernel32.dll
mov byte [ebp - 0x11c9], al
mov dword [ebp - 0x11d0], 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x10093797
push 0
call eax
lea ecx, [ebp - 0x1138]
call fcn.1007aa30
mov dword [ebp - 4], 0
mov edi, dword [ebp - 0x1128]
test edi, edi
jne 0x100937bf
mov byte [ebp - 0x11c9], 0
jmp 0x10094c99
cmp byte [ebp - 0x11c9], 0
mov eax, dword [0x10163ae0]
mov byte [ebp - 0x11ca], 0
je 0x100937db
add eax, 0x18c
jmp 0x100937e0
add eax, 0x174
push eax
lea ecx, [ebp - 0x1078]
call fcn.10006f40
xorps xmm0, xmm0
mov dword [ebp - 0x1050], 0
xor eax, eax
mov dword [ebp - 0x104c], 7
movups xmmword [ebp - 0x1060], xmm0
mov word [ebp - 0x1060], ax
movups xmmword [ebp - 0x1090], xmm0
mov dword [ebp - 0x1080], eax
mov dword [ebp - 0x107c], 7
mov word [ebp - 0x1090], ax
movups xmmword [ebp - 0x1048], xmm0
mov dword [ebp - 0x1038], eax
mov dword [ebp - 0x1034], 7
mov word [ebp - 0x1048], ax
mov eax, dword [ebx + 0x10]
mov byte [ebp - 4], 4
test eax, eax
jne 0x10093c16
mov eax, dword [0x10163ae0]
lea ecx, [ebp - 0x1060]
add eax, 0x15c
cmp ecx, eax
je 0x1009388a
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x1009387d
mov eax, dword [eax]
push ecx
push eax
lea ecx, [ebp - 0x1060]
call fcn.1007e2a0
mov eax, accept
sub eax, edi
cmp eax, 0x11
jb 0x10094cca
cmp dword [ebp - 0x1124], 8
lea eax, [ebp - 0x1138]
lea ecx, [edi + 0x11]
mov esi, 7
cmovae eax, dword [ebp - 0x1138]
xorps xmm0, xmm0
mov dword [ebp - 0x11e4], eax
lea eax, [ebp - 0x10c0]
mov dword [ebp - 0x11e8], ecx
mov dword [ebp - 0x11d4], eax
movups xmmword [ebp - 0x10c0], xmm0
cmp ecx, esi
jbe 0x10093918
mov esi, ecx
or esi, 7
cmp esi, 0x7ffffffe
jbe 0x100938f0
mov esi, accept
jmp 0x100938fa
mov eax, 0xa
cmp esi, eax
cmovb esi, eax
lea eax, [esi + 1]
push eax
lea ecx, [ebp - 0x10c0]
call fcn.1002f270
mov dword [ebp - 0x11d4], eax
lea ecx, [edi + 0x11]
mov dword [ebp - 0x10c0], eax
mov dword [ebp - 0x10ac], esi
lea esi, [edi + edi]
mov edi, dword [ebp - 0x11d4]
push esi
push dword [ebp - 0x11e4]
mov dword [ebp - 0x10b0], ecx
push edi
call fcn.100c29f0
movups xmm0, xmmword [str.system32drivers_]
xor ecx, ecx
add esp, 0xc
movups xmmword [edi + esi], xmm0
movups xmm0, xmmword [0x1014ab58]
movups xmmword [edi + esi + 0x10], xmm0
mov ax, word [0x1014ab68]
mov word [edi + esi + 0x20], ax
mov eax, dword [ebp - 0x11e8]
mov word [edi + eax*2], cx
lea ecx, [ebp - 0x1090]
call fcn.10037f60
movups xmm0, xmmword [ebp - 0x10c0]
movups xmmword [ebp - 0x1090], xmm0
movq xmm0, qword [ebp - 0x10b0]
movq qword [ebp - 0x1080], xmm0
mov byte [ebp - 4], 5
xorps xmm0, xmm0
mov ecx, dword [ebp - 0x1068]
xor eax, eax
mov dword [ebp - 0x10e0], 0
mov esi, 6
mov dword [ebp - 0x10dc], 7
mov dword [ebp - 0x11d0], esi
movups xmmword [ebp - 0x10f0], xmm0
mov word [ebp - 0x10f0], ax
test ecx, ecx
je 0x10093a81
cmp dword [ebp - 0x1064], 0x10
lea eax, [ebp - 0x1078]
mov edi, dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
cmovae eax, dword [ebp - 0x1078]
push 0
push 0
push ecx
push eax
push 0
push 0
call edi
mov esi, eax
lea ecx, [ebp - 0x10f0]
push 0
push esi
call fcn.1007df10
cmp dword [ebp - 0x10dc], 8
lea ecx, [ebp - 0x10f0]
push esi
cmovae ecx, dword [ebp - 0x10f0]
lea eax, [ebp - 0x1078]
cmp dword [ebp - 0x1064], 0x10
push ecx
push dword [ebp - 0x1068]
cmovae eax, dword [ebp - 0x1078]
push eax
push 0
push 0
call edi
test eax, eax
jg 0x10093a6e
cmp dword [ebp - 0x10dc], 8
lea eax, [ebp - 0x10f0]
mov dword [ebp - 0x10e0], 0
cmovae eax, dword [ebp - 0x10f0]
xor ecx, ecx
mov word [eax], cx
jmp 0x10093a7c
push 0
push eax
lea ecx, [ebp - 0x10f0]
call fcn.1007df10
mov esi, 6
cmp dword [ebp - 0x107c], 8
lea eax, [ebp - 0x1090]
push dword [ebp - 0x1080]
cmovae eax, dword [ebp - 0x1090]
push eax
push ecx
lea ecx, [ebp - 0x10f0]
call fcn.1009d190
mov dword [ebp - 0x1110], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x1120], xmm0
mov dword [ebp - 0x110c], 0
xor ecx, ecx
movups xmm0, xmmword [eax]
or esi, 8
movups xmmword [ebp - 0x1120], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x1110], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
mov dword [ebp - 0x11d0], esi
push 4
push str..sys
lea ecx, [ebp - 0x1120]
mov byte [ebp - 4], 6
call fcn.1004abe0
xor ecx, ecx
or esi, 0x10
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x11f8], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x11e0], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
lea ecx, [ebp - 0x1048]
call fcn.10037f60
movups xmm0, xmmword [ebp - 0x11f8]
movups xmmword [ebp - 0x1048], xmm0
movq xmm0, qword [ebp - 0x11e0]
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x110c]
movq qword [ebp - 0x1038], xmm0
cmp ecx, 8
jb 0x10093ba9
mov edx, dword [ebp - 0x1120]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x10093b9f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10094ccf
push ecx
push edx
call fcn.100b88b0
add esp, 8
xor eax, eax
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x10dc]
and esi, 0xfffffffb
mov dword [ebp - 0x1110], 0
mov dword [ebp - 0x110c], 7
mov word [ebp - 0x1120], ax
cmp ecx, 8
jb 0x10093eb3
mov edx, dword [ebp - 0x10f0]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x10093c07
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10094ccf
push ecx
push edx
call fcn.100b88b0
add esp, 8
jmp 0x10093eb3
cmp eax, 1
jne 0x10094b2a
mov eax, dword [0x10163ae0]
lea ecx, [ebp - 0x1060]
add eax, 0x15c
cmp ecx, eax
je 0x10093c4b
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x10093c3e
mov eax, dword [eax]
push ecx
push eax
lea ecx, [ebp - 0x1060]
call fcn.1007e2a0
cmp dword [ebp - 0x1124], 8
lea eax, [ebp - 0x1138]
push edi
cmovae eax, dword [ebp - 0x1138]
lea ecx, [ebp - 0x1090]
push eax
call fcn.1007e2a0
mov byte [ebp - 4], 7
xorps xmm0, xmm0
mov ecx, dword [ebp - 0x1068]
xor eax, eax
mov dword [ebp - 0x10f8], 0
mov esi, 0x20
mov dword [ebp - 0x10f4], 7
mov dword [ebp - 0x11d0], esi
movups xmmword [ebp - 0x1108], xmm0
mov word [ebp - 0x1108], ax
test ecx, ecx
je 0x10093d59
cmp dword [ebp - 0x1064], 0x10
lea eax, [ebp - 0x1078]
mov edi, dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
cmovae eax, dword [ebp - 0x1078]
push 0
push 0
push ecx
push eax
push 0
push 0
call edi
mov esi, eax
lea ecx, [ebp - 0x1108]
push 0
push esi
call fcn.1007df10
cmp dword [ebp - 0x10f4], 8
lea ecx, [ebp - 0x1108]
push esi
cmovae ecx, dword [ebp - 0x1108]
lea eax, [ebp - 0x1078]
cmp dword [ebp - 0x1064], 0x10
push ecx
push dword [ebp - 0x1068]
cmovae eax, dword [ebp - 0x1078]
push eax
push 0
push 0
call edi
test eax, eax
jg 0x10093d46
cmp dword [ebp - 0x10f4], 8
lea eax, [ebp - 0x1108]
mov dword [ebp - 0x10f8], 0
cmovae eax, dword [ebp - 0x1108]
xor ecx, ecx
mov word [eax], cx
jmp 0x10093d54
push 0
push eax
lea ecx, [ebp - 0x1108]
call fcn.1007df10
mov esi, 0x20
cmp dword [ebp - 0x107c], 8
lea eax, [ebp - 0x1090]
push dword [ebp - 0x1080]
cmovae eax, dword [ebp - 0x1090]
push eax
push ecx
lea ecx, [ebp - 0x1108]
call fcn.1009d190
mov dword [ebp - 0x10b0], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x10c0], xmm0
mov dword [ebp - 0x10ac], 0
xor ecx, ecx
movups xmm0, xmmword [eax]
or esi, 0x40
movups xmmword [ebp - 0x10c0], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x10b0], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
mov dword [ebp - 0x11d0], esi
push 4
push str..sys
lea ecx, [ebp - 0x10c0]
mov byte [ebp - 4], 8
call fcn.1004abe0
xor ecx, ecx
or esi, 0x80
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x11f8], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x11e0], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
lea ecx, [ebp - 0x1048]
call fcn.10037f60
movups xmm0, xmmword [ebp - 0x11f8]
movups xmmword [ebp - 0x1048], xmm0
movq xmm0, qword [ebp - 0x11e0]
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x10ac]
movq qword [ebp - 0x1038], xmm0
cmp ecx, 8
jb 0x10093e84
mov edx, dword [ebp - 0x10c0]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x10093e7a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10094cd4
push ecx
push edx
call fcn.100b88b0
add esp, 8
xor eax, eax
mov dword [ebp - 0x10b0], 0
lea ecx, [ebp - 0x1108]
mov dword [ebp - 0x10ac], 7
mov word [ebp - 0x10c0], ax
and esi, 0xffffffdf
mov byte [ebp - 4], 4
call fcn.10037f60
push 0x1000
lea eax, [ebp - 0x1018]
mov byte [ebp - 0x11d0], 0
push eax
push str.PROCESSOR_ARCHITECTURE
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
cmp eax, 3
jne 0x10093f1f
mov ecx, 0x10149d60
lea eax, [ebp - 0x1018]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10093f01
test dl, dl
je 0x10093efd
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10093f01
add eax, 2
add ecx, 2
test dl, dl
jne 0x10093ee1
xor eax, eax
jmp 0x10093f06
sbb eax, eax
or eax, 1
mov ecx, dword [ebp - 0x11d0]
test eax, eax
movzx ecx, cl
mov edx, 1
cmove ecx, edx
mov dword [ebp - 0x11d0], ecx
lea ecx, [ebp - 0x1198]
call fcn.1007aa30
push 0x13
push str.System32xtajit.dll
mov ecx, eax
mov byte [ebp - 4], 9
call fcn.1004abe0
mov dword [ebp - 0x1140], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x1150], xmm0
mov dword [ebp - 0x113c], 0
xor ecx, ecx
movups xmm0, xmmword [eax]
or esi, 1
movups xmmword [ebp - 0x1150], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x1140], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
lea ecx, [ebp - 0x1198]
mov byte [ebp - 4], 0xb
call fcn.10037f60
lea ecx, [ebp - 0x1150]
call fcn.100787a0
cmp byte [ebp - 0x11d0], 0
je 0x10093fb6
mov byte [ebp - 0x11d5], 1
cmp eax, 0xffffffff
jne 0x10093fbd
mov byte [ebp - 0x11d5], 0
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x113c]
cmp ecx, 8
jb 0x10094001
mov edx, dword [ebp - 0x1150]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x10093ff7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10094cd9
push ecx
push edx
call fcn.100b88b0
add esp, 8
cmp byte [ebp - 0x11d5], 0
je 0x10094021
push 0xe
push str.nfwfpArm64.sys
lea ecx, [ebp - 0x1060]
call fcn.1004abe0
jmp 0x100941b3
lea edx, [ebp - 0x11e4]
mov dword [ebp - 0x11d4], 0
lea ecx, [ebp - 0x11d4]
mov dword [ebp - 0x11e4], 0
call fcn.100786b0
test al, al
je 0x1009418a
cmp dword [ebp - 0x11d4], 6
setae al
test al, al
je 0x1009418a
lea edx, [ebp - 0x11d0]
mov dword [ebp - 0x11d4], 0
lea ecx, [ebp - 0x11d4]
mov dword [ebp - 0x11d0], 0
call fcn.100786b0
test al, al
je 0x1009409b
cmp dword [ebp - 0x11d4], 6
jne 0x100940d7
cmp dword [ebp - 0x11d0], 2
jae 0x100940d9
call fcn.10078640
test eax, eax
je 0x1009415e
cmp byte [ebp - 0x11c9], 0
mov edx, str.nftdi64.sys
mov eax, str.nfwfp64.sys
cmove edx, eax
mov ecx, edx
lea edi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x100940c1
sub ecx, edi
sar ecx, 1
push ecx
push edx
jmp 0x100941a1
jbe 0x1009409b
call fcn.10078640
test eax, eax
je 0x10094121
cmp byte [ebp - 0x11c9], 0
mov edx, str.nftdi64.sys
mov eax, str.nfwfp642.sys
cmove edx, eax
mov ecx, edx
lea edi, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10094100
sub ecx, edi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x1060]
call fcn.1004abe0
jmp 0x100941b3
cmp byte [ebp - 0x11c9], 0
mov edx, str.nftdi86.sys
mov eax, str.nfwfp862.sys
cmove edx, eax
mov ecx, edx
lea edi, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10094140
sub ecx, edi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x1060]
call fcn.1004abe0
jmp 0x100941b3
cmp byte [ebp - 0x11c9], 0
mov edx, str.nftdi86.sys
mov eax, str.nfwfp86.sys
cmove edx, eax
mov ecx, edx
lea edi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10094177
sub ecx, edi
sar ecx, 1
push ecx
push edx
jmp 0x100941a1
call fcn.10078640
test eax, eax
mov ecx, str.nftdi86.sys
mov edx, str.nftdi64.sys
push 0xb
cmovne ecx, edx
push ecx
lea ecx, [ebp - 0x1060]
call fcn.1004abe0
mov byte [ebp - 0x11ca], 1
cmp dword [ebp - 0x104c], 8
lea eax, [ebp - 0x1060]
mov edi, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
cmovae eax, dword [ebp - 0x1060]
push eax
call edi
test eax, eax
je 0x10094b2a
cmp byte [ebx + 8], 0
jne 0x100947f5
cmp dword [ebp - 0x1034], 8
lea eax, [ebp - 0x1048]
cmovae eax, dword [ebp - 0x1048]
push eax
call edi
lea ecx, [ebp - 0x1048]
test eax, eax
jne 0x10094234
cmp dword [ebp - 0x1034], 8
lea eax, [ebp - 0x1060]
push 0
cmovae ecx, dword [ebp - 0x1048]
cmp dword [ebp - 0x104c], 8
push ecx
cmovae eax, dword [ebp - 0x1060]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
jmp 0x10094b2a
call fcn.100787a0
lea ecx, [ebp - 0x1060]
mov dword [ebp - 0x11ec], eax
call fcn.100787a0
cmp dword [ebp - 0x1034], 8
lea ecx, [ebp - 0x1048]
push 0
cmovae ecx, dword [ebp - 0x1048]
push 0
push 3
push 0
push 1
push 8
push ecx
mov dword [ebp - 0x11dc], eax
mov dword [ebp - 0x11d0], 0xffffffff
mov dword [ebp - 0x11d4], 0xffffffff
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x11e4], eax
cmp eax, 0xffffffff
je 0x100942bb
push 0
push eax
call dword [sym.imp.KERNEL32.dll_GetFileSize]
push dword [ebp - 0x11e4]
mov dword [ebp - 0x11d0], eax
mov dword [ebp - 0x11d4], 0
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x104c], 8
lea ecx, [ebp - 0x1060]
push 0
cmovae ecx, dword [ebp - 0x1060]
push 0
push 3
push 0
push 1
push 8
push ecx
mov dword [ebp - 0x11e8], 0xffffffff
mov dword [ebp - 0x11e4], 0xffffffff
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x11fc], eax
cmp eax, 0xffffffff
je 0x10094326
push 0
push eax
call dword [sym.imp.KERNEL32.dll_GetFileSize]
push dword [ebp - 0x11fc]
mov dword [ebp - 0x11e8], eax
mov dword [ebp - 0x11e4], 0
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x11ec]
cmp eax, 0xffffffff
je 0x10094340
mov ecx, dword [ebp - 0x11dc]
cmp ecx, 0xffffffff
je 0x10094340
cmp eax, ecx
jne 0x10094382
mov eax, dword [ebp - 0x11d0]
and eax, dword [ebp - 0x11d4]
cmp eax, 0xffffffff
je 0x1009457e
mov edx, dword [ebp - 0x11e8]
mov eax, edx
mov ecx, dword [ebp - 0x11e4]
and eax, ecx
cmp eax, 0xffffffff
je 0x1009457e
cmp dword [ebp - 0x11d0], edx
jne 0x10094382
cmp dword [ebp - 0x11d4], ecx
je 0x1009457e
cmp byte [ebp - 0x11ca], 0
je 0x1009458a
xorps xmm0, xmm0
mov dword [ebp - 0x10c8], 0
xor ecx, ecx
mov dword [ebp - 0x10c4], 7
movups xmmword [ebp - 0x10d8], xmm0
mov eax, 0xa
mov word [ebp - 0x10d8], cx
mov byte [ebp - 4], 0xc
nop
dec eax
lea ecx, [ebp - 0x1168]
mov dword [ebp - 0x11dc], eax
call fcn.10078510
mov edx, eax
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x11b0]
call fcn.10079760
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x1048]
cmp dword [ebp - 0x1034], 8
push dword [ebp - 0x1038]
cmovae ecx, dword [ebp - 0x1048]
push ecx
push ecx
mov ecx, eax
call fcn.1009d190
xor ecx, ecx
or esi, 0x200
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x1028], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x11f0], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
lea ecx, [ebp - 0x10d8]
call fcn.10037f60
movups xmm0, xmmword [ebp - 0x1028]
lea ecx, [ebp - 0x11b0]
movups xmmword [ebp - 0x10d8], xmm0
movq xmm0, qword [ebp - 0x11f0]
movq qword [ebp - 0x10c8], xmm0
call fcn.10037f60
mov byte [ebp - 4], 0xc
mov ecx, dword [ebp - 0x1154]
cmp ecx, 0x10
jb 0x100944ac
mov edx, dword [ebp - 0x1168]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100944a2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10094ccf
push ecx
push edx
call fcn.100b88b0
add esp, 8
cmp dword [ebp - 0x10c4], 8
lea eax, [ebp - 0x10d8]
cmovae eax, dword [ebp - 0x10d8]
push eax
call edi
test eax, eax
je 0x100944d5
mov eax, dword [ebp - 0x11dc]
test eax, eax
jg 0x100943c0
cmp dword [ebp - 0x10c4], 8
lea ecx, [ebp - 0x10d8]
lea eax, [ebp - 0x1048]
cmovae ecx, dword [ebp - 0x10d8]
cmp dword [ebp - 0x1034], 8
push ecx
cmovae eax, dword [ebp - 0x1048]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileW]
push 4
push 0
test eax, eax
jne 0x10094523
cmp dword [ebp - 0x1034], 8
lea eax, [ebp - 0x1048]
cmovae eax, dword [ebp - 0x1048]
jmp 0x10094537
cmp dword [ebp - 0x10c4], 8
lea eax, [ebp - 0x10d8]
cmovae eax, dword [ebp - 0x10d8]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
mov ecx, dword [ebp - 0x10c4]
cmp ecx, 8
jb 0x1009457e
mov edx, dword [ebp - 0x10d8]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x10094574
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10094cde
push ecx
push edx
call fcn.100b88b0
add esp, 8
mov byte [ebp - 0x11c9], 1
jmp 0x10094b31
call fcn.100b2ca0
cmp dword [ebp - 0x1064], 0x10
lea eax, [ebp - 0x1078]
cmovae eax, dword [ebp - 0x1078]
push eax
call fcn.10094d00
cmp dword [ebp - 0x1064], 0x10
lea eax, [ebp - 0x1078]
cmovae eax, dword [ebp - 0x1078]
push eax
call fcn.100b5800
add esp, 4
mov dword [ebp - 0x1098], 0
xorps xmm0, xmm0
mov dword [ebp - 0x1094], 7
xor ecx, ecx
mov eax, 0xa
movups xmmword [ebp - 0x10a8], xmm0
mov word [ebp - 0x10a8], cx
mov byte [ebp - 4], 0xf
nop word [eax + eax]
dec eax
lea ecx, [ebp - 0x1180]
mov dword [ebp - 0x11dc], eax
call fcn.10078510
mov edx, eax
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x11c8]
call fcn.10079760
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x1048]
cmp dword [ebp - 0x1034], 8
push dword [ebp - 0x1038]
cmovae ecx, dword [ebp - 0x1048]
push ecx
push ecx
mov ecx, eax
call fcn.1009d190
xor ecx, ecx
or esi, 0x100
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x1028], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x11f0], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
lea ecx, [ebp - 0x10a8]
call fcn.10037f60
movups xmm0, xmmword [ebp - 0x1028]
lea ecx, [ebp - 0x11c8]
movups xmmword [ebp - 0x10a8], xmm0
movq xmm0, qword [ebp - 0x11f0]
movq qword [ebp - 0x1098], xmm0
call fcn.10037f60
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x116c]
cmp ecx, 0x10
jb 0x100946ec
mov edx, dword [ebp - 0x1180]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100946e2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10094ccf
push ecx
push edx
call fcn.100b88b0
add esp, 8
cmp dword [ebp - 0x1094], 8
lea eax, [ebp - 0x10a8]
cmovae eax, dword [ebp - 0x10a8]
push eax
call edi
test eax, eax
je 0x10094715
mov eax, dword [ebp - 0x11dc]
test eax, eax
jg 0x10094600
cmp dword [ebp - 0x1094], 8
lea ecx, [ebp - 0x10a8]
lea eax, [ebp - 0x1048]
cmovae ecx, dword [ebp - 0x10a8]
cmp dword [ebp - 0x1034], 8
push ecx
cmovae eax, dword [ebp - 0x1048]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileW]
test eax, eax
jne 0x10094792
mov ecx, dword [ebp - 0x1094]
cmp ecx, 8
jb 0x10094b2a
mov edx, dword [ebp - 0x10a8]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x10094783
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10094ce3
push ecx
push edx
call fcn.100b88b0
add esp, 8
jmp 0x10094b2a
cmp dword [ebp - 0x1094], 8
lea eax, [ebp - 0x10a8]
push 4
cmovae eax, dword [ebp - 0x10a8]
push 0
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x1094]
cmp ecx, 8
jb 0x100947f5
mov edx, dword [ebp - 0x10a8]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x100947eb
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10094ce3
push ecx
push edx
call fcn.100b88b0
add esp, 8
cmp dword [ebp - 0x1034], 8
lea ecx, [ebp - 0x1048]
push 0
cmovae ecx, dword [ebp - 0x1048]
lea eax, [ebp - 0x1060]
cmp dword [ebp - 0x104c], 8
push ecx
cmovae eax, dword [ebp - 0x1060]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
je 0x10094b2a
cmp byte [ebx + 8], 0
je 0x1009457e
mov byte [ebp - 4], 0x12
xorps xmm0, xmm0
mov ecx, dword [ebp - 0x1080]
or esi, 0x400
mov dword [ebp - 0x1020], 0
mov dword [ebp - 0x101c], 0xf
mov dword [ebp - 0x11d0], esi
movups xmmword [ebp - 0x1030], xmm0
mov byte [ebp - 0x1030], 0
test ecx, ecx
je 0x10094ab1
cmp dword [ebp - 0x107c], 8
lea eax, [ebp - 0x1090]
push 0
cmovae eax, dword [ebp - 0x1090]
push 0
push 0
push 0
push ecx
push eax
push 0
push 0
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov edi, eax
test edi, edi
jle 0x10094ab1
mov edx, dword [ebp - 0x1020]
cmp edi, edx
ja 0x100948d8
cmp dword [ebp - 0x101c], 0x10
lea ecx, [ebp - 0x1030]
mov dword [ebp - 0x1020], edi
cmovae ecx, dword [ebp - 0x1030]
mov byte [ecx + edi], 0
jmp 0x10094936
mov esi, dword [ebp - 0x101c]
mov ecx, edi
mov eax, esi
sub ecx, edx
sub eax, edx
mov dword [ebp - 0x11dc], ecx
cmp ecx, eax
ja 0x10094921
cmp esi, 0x10
mov dword [ebp - 0x1020], edi
lea eax, [ebp - 0x1030]
cmovae eax, dword [ebp - 0x1030]
push ecx
push 0
lea esi, [edx + eax]
push esi
call fcn.100c2fd0
mov eax, dword [ebp - 0x11dc]
add esp, 0xc
mov byte [esi + eax], 0
jmp 0x10094936
push 0
push ecx
push dword [ebp - 0x11dc]
push ecx
lea ecx, [ebp - 0x1030]
call fcn.10008400
cmp dword [ebp - 0x101c], 0x10
lea ecx, [ebp - 0x1030]
push 0
cmovae ecx, dword [ebp - 0x1030]
lea eax, [ebp - 0x1090]
cmp dword [ebp - 0x107c], 8
push 0
cmovae eax, dword [ebp - 0x1090]
push edi
push ecx
push dword [ebp - 0x1080]
push eax
push 0
push 0
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov edi, eax
test edi, edi
jg 0x100949a1
cmp dword [ebp - 0x101c], 0x10
lea ecx, [ebp - 0x1030]
mov dword [ebp - 0x1020], 0
cmovae ecx, dword [ebp - 0x1030]
mov byte [ecx], 0
jmp 0x10094a29
mov edx, dword [ebp - 0x1020]
cmp edi, edx
ja 0x100949cb
cmp dword [ebp - 0x101c], 0x10
lea eax, [ebp - 0x1030]
mov dword [ebp - 0x1020], edi
cmovae eax, dword [ebp - 0x1030]
mov byte [eax + edi], 0
jmp 0x10094a29
mov esi, dword [ebp - 0x101c]
mov ecx, edi
mov eax, esi
sub ecx, edx
sub eax, edx
mov dword [ebp - 0x11dc], ecx
cmp ecx, eax
ja 0x10094a14
cmp esi, 0x10
mov dword [ebp - 0x1020], edi
lea eax, [ebp - 0x1030]
cmovae eax, dword [ebp - 0x1030]
push ecx
push 0
lea esi, [edx + eax]
push esi
call fcn.100c2fd0
mov eax, dword [ebp - 0x11dc]
add esp, 0xc
mov byte [esi + eax], 0
jmp 0x10094a29
push 0
push ecx
push dword [ebp - 0x11dc]
push ecx
lea ecx, [ebp - 0x1030]
call fcn.10008400
mov edx, dword [ebp - 0x1020]
cmp edi, edx
ja 0x10094a53
cmp dword [ebp - 0x101c], 0x10
lea eax, [ebp - 0x1030]
mov dword [ebp - 0x1020], edi
cmovae eax, dword [ebp - 0x1030]
mov byte [eax + edi], 0
jmp 0x10094ab1
mov esi, dword [ebp - 0x101c]
mov ecx, edi
mov eax, esi
sub ecx, edx
sub eax, edx
mov dword [ebp - 0x11dc], ecx
cmp ecx, eax
ja 0x10094a9c
cmp esi, 0x10
mov dword [ebp - 0x1020], edi
lea eax, [ebp - 0x1030]
cmovae eax, dword [ebp - 0x1030]
push ecx
push 0
lea esi, [edx + eax]
push esi
call fcn.100c2fd0
mov eax, dword [ebp - 0x11dc]
add esp, 0xc
mov byte [esi + eax], 0
jmp 0x10094ab1
push 0
push ecx
push dword [ebp - 0x11dc]
push ecx
lea ecx, [ebp - 0x1030]
call fcn.10008400
cmp dword [ebp - 0x101c], 0x10
lea ecx, [ebp - 0x1030]
lea eax, [ebp - 0x1078]
cmovae ecx, dword [ebp - 0x1030]
cmp dword [ebp - 0x1064], 0x10
push ecx
cmovae eax, dword [ebp - 0x1078]
push eax
call fcn.100b5580
mov ecx, dword [ebp - 0x101c]
add esp, 8
mov esi, eax
cmp ecx, 0x10
jb 0x10094b1f
mov edx, dword [ebp - 0x1030]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10094b15
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10094ce8
push ecx
push edx
call fcn.100b88b0
add esp, 8
mov byte [ebp - 0x11c9], 1
test esi, esi
je 0x10094b31
mov byte [ebp - 0x11c9], 0
mov ecx, dword [ebp - 0x1034]
cmp ecx, 8
jb 0x10094b71
mov edx, dword [ebp - 0x1048]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x10094b67
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10094ced
push ecx
push edx
call fcn.100b88b0
add esp, 8
mov ecx, dword [ebp - 0x107c]
xor eax, eax
mov dword [ebp - 0x1038], 0
mov dword [ebp - 0x1034], 7
mov word [ebp - 0x1048], ax
cmp ecx, 8
jb 0x10094bce
mov edx, dword [ebp - 0x1090]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x10094bc4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10094ced
push ecx
push edx
call fcn.100b88b0
add esp, 8
mov ecx, dword [ebp - 0x104c]
xor eax, eax
mov dword [ebp - 0x1080], 0
mov dword [ebp - 0x107c], 7
mov word [ebp - 0x1090], ax
cmp ecx, 8
jb 0x10094c2b
mov edx, dword [ebp - 0x1060]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x10094c21
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10094ced
push ecx
push edx
call fcn.100b88b0
add esp, 8
mov ecx, dword [ebp - 0x1064]
xor eax, eax
mov dword [ebp - 0x1050], 0
mov dword [ebp - 0x104c], 7
mov word [ebp - 0x1060], ax
cmp ecx, 0x10
jb 0x10094c7e
mov edx, dword [ebp - 0x1078]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10094c74
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10094ced
push ecx
push edx
call fcn.100b88b0
add esp, 8
mov dword [ebp - 0x1068], 0
mov dword [ebp - 0x1064], 0xf
mov byte [ebp - 0x1078], 0
lea ecx, [ebp - 0x1138]
call fcn.10037f60
mov al, byte [ebp - 0x11c9]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.100b8868
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0xc
call fcn.10003eb0
call fcn.100c9aa4
call fcn.100c9aa4
call fcn.100c9aa4
call fcn.100c9aa4
call fcn.100c9aa4
call fcn.100c9aa4
call fcn.100c9aa4
int3