Function at 0x10017500
Capabilities:
Move file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100a858a
mov eax, dword fs:[0]
push eax
sub esp, 0x100
mov eax, dword [0x100ed040]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
sub esp, 0x18
mov dword [ebp - 4], 1
lea eax, [ebp + 0x20]
mov ecx, esp
push eax
call fcn.10005fc0
lea ecx, [ebp - 0x40]
call fcn.10014660
add esp, 0x18
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x30]
test ecx, ecx
jne 0x10017563
mov byte [ebp - 0xbd], cl
jmp 0x10017ba8
mov eax, closesocket
sub eax, ecx
cmp eax, 0xe
jb 0x10017c85
cmp dword [ebp - 0x2c], 0xf
lea eax, [ebp - 0x40]
push ecx
cmova eax, dword [ebp - 0x40]
push eax
push 0xe
push str.Suspend_task_
push ecx
push dword [ebp - 0xc4]
lea ecx, [ebp - 0xdc]
call fcn.10007ae0
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0xc8]
mov eax, edx
mov ecx, dword [ebp - 0xcc]
sub eax, ecx
push 6
push str._.dat
cmp eax, 6
jb 0x100175e9
cmp edx, 0xf
lea esi, [ebp - 0xdc]
lea eax, [ecx + 6]
cmova esi, dword [ebp - 0xdc]
add esi, ecx
mov dword [ebp - 0xcc], eax
push esi
call fcn.1002b670
add esp, 0xc
mov byte [esi + 6], 0
lea eax, [ebp - 0xdc]
jmp 0x100175fc
push dword [ebp - 0xc4]
lea ecx, [ebp - 0xdc]
push 6
call fcn.10007790
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0xa0], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x90], xmm0
mov byte [ebp - 4], 5
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov ecx, dword [ebp - 0xc8]
cmp ecx, 0xf
jbe 0x10017662
mov edx, dword [ebp - 0xdc]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10017658
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10017c8a
push ecx
push edx
call fcn.100289c0
add esp, 8
sub esp, 0x18
mov dword [ebp - 0xcc], 0
lea eax, [ebp - 0xa0]
mov dword [ebp - 0xc8], 0xf
xorps xmm0, xmm0
mov byte [ebp - 0xdc], 0
mov ecx, esp
movq qword [ebp - 0x28], xmm0
push eax
mov dword [ebp - 0x20], 0
call fcn.10005fc0
lea ecx, [ebp - 0x28]
call fcn.100136f0
add esp, 0x18
mov byte [ebp - 4], 6
mov eax, 0x2aaaaaab
mov ecx, dword [ebp - 0x24]
mov esi, dword [ebp - 0x28]
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
jne 0x100176d2
mov byte [ebp - 0xbd], al
jmp 0x10017b66
lea eax, [eax + eax*2]
lea eax, [eax - 3]
lea eax, [esi + eax*8]
push eax
lea ecx, [ebp - 0xb8]
call fcn.10005fc0
sub esp, 0x18
mov byte [ebp - 4], 7
mov ecx, esp
mov dword [ebp - 0xc4], esp
xorps xmm0, xmm0
mov dword [ebp - 0x14], 0
movq qword [ebp - 0x1c], xmm0
push 1
movups xmmword [ecx], xmm0
push 0x100e268c
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.10001fe0
sub esp, 0x18
mov byte [ebp - 4], 8
lea eax, [ebp - 0xb8]
mov ecx, esp
push eax
call fcn.10005fc0
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 7
call fcn.1001a8e0
add esp, 0x30
mov byte [ebp - 4], 9
mov eax, 0x2aaaaaab
mov ecx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x1c]
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 4
jbe 0x10017b1d
lea eax, [esi + 0x30]
push eax
lea ecx, [ebp - 0x70]
call fcn.10005fc0
mov byte [ebp - 4], 0xa
mov esi, dword [ebp - 0x1c]
add esi, 0x48
call fcn.100321ca
cmp dword [esi + 0x14], 0xf
mov edi, eax
jbe 0x10017791
mov esi, dword [esi]
push 0xa
lea eax, [ebp - 0xbc]
mov dword [edi], 0
push eax
push esi
call fcn.10032e1b
add esp, 0xc
cmp esi, dword [ebp - 0xbc]
je 0x10017c8f
cmp dword [edi], 0x22
je 0x10017c99
inc eax
mov dword [ebp - 0xc4], eax
call fcn.100321ca
cmp dword [ebp - 0x5c], 0xf
lea esi, [ebp - 0x70]
mov edi, eax
lea eax, [ebp - 0xbc]
cmova esi, dword [ebp - 0x70]
push 0xa
push eax
push esi
mov dword [edi], 0
call fcn.10032e1b
add esp, 0xc
cmp esi, dword [ebp - 0xbc]
je 0x10017ca3
cmp dword [edi], 0x22
je 0x10017cad
push eax
call fcn.1002eac6
call fcn.1002eaa5
cdq
mov ecx, 0x64
idiv ecx
lea eax, [ebp - 0xbc]
push eax
lea eax, [ebp - 0x40]
mov dword [ebp - 0xbc], edx
push eax
lea eax, [ebp - 0xc4]
push eax
lea eax, [ebp - 0x70]
push eax
push 0x29
push str.Suspend_task_____Suspended.dat
lea edx, [ebp + 8]
lea ecx, [ebp - 0x58]
call fcn.10018cd0
add esp, 0x1c
mov byte [ebp - 4], 0xb
mov eax, closesocket
mov ecx, dword [ebp + 0x18]
sub eax, ecx
cmp eax, 1
jb 0x10017cb7
cmp dword [ebp + 0x1c], 0xf
lea eax, [ebp + 8]
push 1
cmova eax, dword [ebp + 8]
push 0x100e26a8
push ecx
push eax
push ecx
push dword [ebp - 0xc4]
lea ecx, [ebp - 0xf4]
call fcn.10007ae0
mov byte [ebp - 4], 0xc
lea ecx, [ebp + 0x20]
cmp dword [ebp + 0x34], 0xf
mov edx, dword [ebp - 0xe4]
cmova ecx, dword [ebp + 0x20]
mov eax, dword [ebp - 0xe0]
mov edi, dword [ebp + 0x30]
sub eax, edx
mov dword [ebp - 0xc4], edx
push edi
push ecx
cmp edi, eax
ja 0x100178ef
cmp dword [ebp - 0xe0], 0xf
lea esi, [ebp - 0xf4]
lea eax, [edi + edx]
cmova esi, dword [ebp - 0xf4]
mov dword [ebp - 0xe4], eax
lea eax, [esi + edx]
push eax
call fcn.1002b670
mov ecx, dword [ebp - 0xc4]
lea eax, [edi + esi]
add esp, 0xc
mov byte [eax + ecx], 0
lea eax, [ebp - 0xf4]
jmp 0x10017901
push dword [ebp - 0xc4]
lea ecx, [ebp - 0xf4]
push edi
call fcn.10007790
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x88], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x78], xmm0
mov byte [ebp - 4], 0xe
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov ecx, dword [ebp - 0xe0]
cmp ecx, 0xf
jbe 0x10017964
mov edx, dword [ebp - 0xf4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1001795a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10017cbc
push ecx
push edx
call fcn.100289c0
add esp, 8
lea eax, [ebp - 0x58]
mov dword [ebp - 0xe4], 0
push eax
lea ecx, [ebp - 0x10c]
mov dword [ebp - 0xe0], 0xf
mov byte [ebp - 0xf4], 0
call fcn.10005fc0
lea eax, [ebp - 0x88]
mov byte [ebp - 4], 0xf
push eax
lea ecx, [ebp - 0xdc]
call fcn.10005fc0
cmp dword [ebp - 0xf8], 0xf
lea ecx, [ebp - 0x10c]
lea eax, [ebp - 0xdc]
cmova ecx, dword [ebp - 0x10c]
cmp dword [ebp - 0xc8], 0xf
push ecx
cmova eax, dword [ebp - 0xdc]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileA]
mov ecx, dword [ebp - 0xc8]
cmp ecx, 0xf
jbe 0x10017a0e
mov edx, dword [ebp - 0xdc]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10017a04
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10017cc1
push ecx
push edx
call fcn.100289c0
add esp, 8
mov ecx, dword [ebp - 0xf8]
mov dword [ebp - 0xcc], 0
mov dword [ebp - 0xc8], 0xf
mov byte [ebp - 0xdc], 0
cmp ecx, 0xf
jbe 0x10017a63
mov edx, dword [ebp - 0x10c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10017a59
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10017cc1
push ecx
push edx
call fcn.100289c0
add esp, 8
mov ecx, dword [ebp - 0x74]
cmp ecx, 0xf
jbe 0x10017a9a
mov edx, dword [ebp - 0x88]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10017a90
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10017cc6
push ecx
push edx
call fcn.100289c0
add esp, 8
mov ecx, dword [ebp - 0x44]
cmp ecx, 0xf
jbe 0x10017ace
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10017ac4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10017cc6
push ecx
push edx
call fcn.100289c0
add esp, 8
mov ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0xf
mov byte [ebp - 0x58], 0
cmp ecx, 0xf
jbe 0x10017b14
mov edx, dword [ebp - 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10017b0a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10017cc6
push ecx
push edx
call fcn.100289c0
add esp, 8
mov byte [ebp - 0xbd], 1
jmp 0x10017b24
mov byte [ebp - 0xbd], 0
lea ecx, [ebp - 0x1c]
call fcn.100060c0
mov ecx, dword [ebp - 0xa4]
cmp ecx, 0xf
jbe 0x10017b66
mov edx, dword [ebp - 0xb8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10017b5c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10017ccb
push ecx
push edx
call fcn.100289c0
add esp, 8
lea ecx, [ebp - 0x28]
call fcn.100060c0
mov ecx, dword [ebp - 0x8c]
cmp ecx, 0xf
jbe 0x10017ba8
mov edx, dword [ebp - 0xa0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10017b9e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10017ccb
push ecx
push edx
call fcn.100289c0
add esp, 8
mov ecx, dword [ebp - 0x2c]
cmp ecx, 0xf
jbe 0x10017bdc
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10017bd2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10017ccb
push ecx
push edx
call fcn.100289c0
add esp, 8
mov ecx, dword [ebp + 0x1c]
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
cmp ecx, 0xf
jbe 0x10017c22
mov edx, dword [ebp + 8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10017c18
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10017ccb
push ecx
push edx
call fcn.100289c0
add esp, 8
mov ecx, dword [ebp + 0x34]
mov dword [ebp + 0x18], 0
mov dword [ebp + 0x1c], 0xf
mov byte [ebp + 8], 0
cmp ecx, 0xf
jbe 0x10017c64
mov edx, dword [ebp + 0x20]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10017c5a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10017ccb
push ecx
push edx
call fcn.100289c0
add esp, 8
mov al, byte [ebp - 0xbd]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1002897d
mov esp, ebp
pop ebp
ret
call fcn.10001290
call fcn.1002ea49
push str.invalid_stoi_argument
call fcn.1002992b
push str.stoi_argument_out_of_range
call fcn.1002996b
push str.invalid_stoi_argument
call fcn.1002992b
push str.stoi_argument_out_of_range
call fcn.1002996b
call fcn.10001290
call fcn.1002ea49
call fcn.1002ea49
call fcn.1002ea49
call fcn.1002ea49
int3