Function at 0x1001aa50
Capabilities:
Move file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1008613e
mov eax, dword fs:[0]
push eax
sub esp, 0x794
mov eax, dword [0x100a5c90]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
xor edi, edi
xor ecx, ecx
mov dword [ebp - 0x790], eax
mov eax, dword [ebp + 0xc]
mov word [ebp - 0x6d0], cx
mov ecx, eax
mov dword [ebp - 0x794], eax
mov dword [ebp - 0x77c], 1
mov dword [ebp - 0x6bc], 7
mov dword [ebp - 0x6c0], edi
lea esi, [ecx + 2]
lea ebx, [ebx]
mov dx, word [ecx]
add ecx, 2
cmp dx, di
jne 0x1001aac0
sub ecx, esi
sar ecx, 1
push ecx
lea esi, [ebp - 0x6d0]
call fcn.10003a30
push 4
mov eax, str..tmp
mov ecx, esi
mov dword [ebp - 4], edi
call fcn.10005b60
mov eax, dword [ebp - 0x6d0]
mov esi, 8
cmp dword [ebp - 0x6bc], esi
jae 0x1001ab05
lea eax, [ebp - 0x6d0]
push edi
push 0x80
push 2
push edi
push edi
push 0x40000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x1001ab40
cmp dword [ebp - 0x6bc], esi
jb 0x1001ab39
mov edx, dword [ebp - 0x6d0]
push edx
call fcn.10066b10
add esp, 4
xor al, al
jmp 0x1001b5e6
lea edi, [ebp - 0x6b4]
call fcn.1000e690
mov ecx, eax
mov byte [ebp - 4], 1
mov eax, dword [ecx + 0x10]
push str.681E_B0L3_UC27_I7QZ_H6PP
mov edi, 0x18
call fcn.10004240
test eax, eax
sete byte [ebp - 0x77d]
mov byte [ebp - 4], 0
cmp dword [ebp - 0x6a0], esi
jb 0x1001ab87
mov eax, dword [ebp - 0x6b4]
push eax
call fcn.10066b10
add esp, 4
cmp byte [ebp - 0x77d], 0
je 0x1001ab9a
mov dword [ebp - 0x77c], 2
mov ecx, dword [ebp - 0x77c]
push ecx
push str._encry_mode__t_t_t_d
lea edx, [ebp - 0x218]
push 0x201
push edx
call fcn.1006791a
add esp, 0x10
push 0
push eax
lea eax, [ebp - 0x218]
push eax
call fcn.10019740
lea edi, [ebp - 0x6b4]
call fcn.1000e690
mov ecx, eax
mov byte [ebp - 4], 2
mov eax, dword [ecx + 0x10]
push str.681E_B0L3_UC27_I7QZ_H6PP
mov edi, 0x18
call fcn.10004240
test eax, eax
sete byte [ebp - 0x77d]
mov byte [ebp - 4], 0
cmp dword [ebp - 0x6a0], 8
jb 0x1001ac11
mov ecx, dword [ebp - 0x6b4]
push ecx
call fcn.10066b10
add esp, 4
cmp byte [ebp - 0x77d], 0
je 0x1001ac24
mov dword [ebp - 0x77c], 1
mov edi, dword [ebp - 0x790]
mov ecx, dword [edi + 0x90]
sub ecx, dword [edi + 0x8c]
mov eax, 0x78787879
imul ecx
sar edx, 6
mov esi, edx
shr esi, 0x1f
add esi, edx
mov edx, dword [edi + 0x1d8]
push edx
push str._bind_num__t_t_t_d
lea eax, [ebp - 0x218]
push 0x201
push eax
call fcn.1006791a
mov ecx, dword [ebp - 0x77c]
add esp, 0x10
push ecx
push eax
lea edx, [ebp - 0x218]
push edx
call fcn.10019740
push esi
push str._hardware_count__t_t_t_d
lea eax, [ebp - 0x218]
push 0x201
push eax
call fcn.1006791a
mov ecx, dword [ebp - 0x77c]
add esp, 0x10
push ecx
push eax
lea edx, [ebp - 0x218]
push edx
call fcn.10019740
test esi, esi
jle 0x1001ade6
mov dword [ebp - 0x78c], 0
mov dword [ebp - 0x790], esi
mov eax, dword [edi + 0x8c]
mov esi, dword [ebp - 0x78c]
mov eax, dword [eax + esi]
push eax
push str._hardware_type__t_t_t_d
lea ecx, [ebp - 0x218]
push 0x201
push ecx
call fcn.1006791a
mov edx, dword [ebp - 0x77c]
add esp, 0x10
push edx
push eax
lea eax, [ebp - 0x218]
push eax
call fcn.10019740
xor ecx, ecx
mov dword [ebp - 0x6a0], 0xf
mov dword [ebp - 0x6a4], ecx
mov byte [ebp - 0x6b4], cl
mov byte [ebp - 4], 3
mov eax, dword [edi + 0x8c]
lea edx, [ebp - 0x6b4]
add eax, esi
push edx
add eax, 4
sub esp, 0x1c
mov esi, esp
mov dword [esi + 0x10], ecx
mov dword [esi + 0x14], 7
mov word [esi], cx
mov ecx, eax
lea edx, [ecx + 2]
mov dword [ebp - 0x784], esp
mov dword [ebp - 0x788], edx
nop
mov dx, word [ecx]
add ecx, 2
test dx, dx
jne 0x1001ad50
sub ecx, dword [ebp - 0x788]
sar ecx, 1
push ecx
call fcn.10003a30
call fcn.10020cd0
mov eax, dword [ebp - 0x6b4]
add esp, 0x20
cmp dword [ebp - 0x6a0], 0x10
jae 0x1001ad86
lea eax, [ebp - 0x6b4]
push eax
push str._hardware_No__t_t_t_s
lea eax, [ebp - 0x218]
push 0x201
push eax
call fcn.1006791a
mov ecx, dword [ebp - 0x77c]
add esp, 0x10
push ecx
push eax
lea edx, [ebp - 0x218]
push edx
call fcn.10019740
mov byte [ebp - 4], 0
cmp dword [ebp - 0x6a0], 0x10
jb 0x1001add0
mov eax, dword [ebp - 0x6b4]
push eax
call fcn.10066b10
add esp, 4
add dword [ebp - 0x78c], 0x88
dec dword [ebp - 0x790]
jne 0x1001acc1
mov ecx, dword [edi + 0xa0]
sub ecx, dword [edi + 0x9c]
mov eax, 0x551c979b
imul ecx
sar edx, 0xa
mov esi, edx
shr esi, 0x1f
add esi, edx
push esi
push str._key_count__t_t_t_d
lea ecx, [ebp - 0x218]
push 0x201
push ecx
mov dword [ebp - 0x790], esi
call fcn.1006791a
mov edx, dword [ebp - 0x77c]
add esp, 0x10
push edx
push eax
lea eax, [ebp - 0x218]
push eax
call fcn.10019740
test esi, esi
jle 0x1001aee1
mov ecx, esi
mov dword [ebp - 0x788], 0
mov dword [ebp - 0x78c], ecx
mov edx, dword [edi + 0x9c]
mov eax, dword [ebp - 0x788]
mov ecx, dword [eax + edx + 0x404]
mov edx, dword [eax + edx]
push ecx
push edx
push str._unit_key__t_t_t_d_t_t_t_d_t_t_t
lea eax, [ebp - 0x218]
push 0x201
push eax
call fcn.1006791a
mov esi, eax
mov eax, dword [edi + 0x9c]
add eax, dword [ebp - 0x788]
add esp, 0x14
mov edx, dword [eax + 0x404]
xor ecx, ecx
mov dword [ebp - 0x784], edx
test edx, edx
jle 0x1001aeb7
mov dl, byte [ecx + eax + 4]
mov byte [ebp + esi - 0x218], dl
inc ecx
inc esi
cmp ecx, dword [ebp - 0x784]
jl 0x1001aea2
mov eax, dword [ebp - 0x77c]
push eax
push esi
lea ecx, [ebp - 0x218]
push ecx
call fcn.10019740
add dword [ebp - 0x788], 0xc08
dec dword [ebp - 0x78c]
jne 0x1001ae51
lea edx, [ebp - 0x7a0]
push edx
call fcn.1006802c
lea eax, [ebp - 0x7a0]
add esp, 4
push eax
call fcn.10068005
add esp, 4
push eax
push str._Y__m__d__H:_M:_S
lea ecx, [ebp - 0x298]
push 0x80
push ecx
call fcn.10069188
lea edx, [ebp - 0x298]
push edx
push str._file_create_time__t_t_t_s
lea eax, [ebp - 0x218]
push 0x201
push eax
call fcn.1006791a
mov esi, dword [ebp - 0x77c]
add esp, 0x20
push esi
push eax
lea ecx, [ebp - 0x218]
push ecx
call fcn.10019740
mov edx, dword [edi + 0xe0]
push edx
push str._main_key_id__t_t_t_d
lea eax, [ebp - 0x218]
push 0x201
push eax
call fcn.1006791a
add esp, 0x10
push esi
push eax
lea ecx, [ebp - 0x218]
push ecx
call fcn.10019740
xor ecx, ecx
mov dword [ebp - 0x6f4], 0xf
mov dword [ebp - 0x6f8], ecx
mov byte [ebp - 0x708], cl
mov byte [ebp - 4], 4
lea eax, [edi + 0x174]
xor edx, edx
mov dword [ebp - 0x714], ecx
mov ecx, eax
mov word [ebp - 0x724], dx
mov dword [ebp - 0x710], 7
lea edx, [ecx + 2]
jmp 0x1001afc0
mov si, word [ecx]
add ecx, 2
test si, si
jne 0x1001afc0
sub ecx, edx
sar ecx, 1
push ecx
lea esi, [ebp - 0x724]
call fcn.10003a30
lea eax, [ebp - 0x708]
push eax
sub esp, 0x1c
mov ecx, esp
xor edx, edx
mov dword [ebp - 0x784], esp
mov byte [ebp - 4], 5
push edx
mov eax, esi
push eax
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], 0
or eax, 0xffffffff
mov word [ecx], dx
call fcn.10003850
call fcn.10020cd0
mov eax, dword [ebp - 0x708]
add esp, 0x20
cmp dword [ebp - 0x6f4], 0x10
jae 0x1001b02d
lea eax, [ebp - 0x708]
push eax
push str._start_time__t_t_t_s
lea ecx, [ebp - 0x218]
push 0x201
push ecx
call fcn.1006791a
mov edx, dword [ebp - 0x77c]
add esp, 0x10
push edx
push eax
lea eax, [ebp - 0x218]
push eax
call fcn.10019740
xor ecx, ecx
mov dword [ebp - 0x6d8], 0xf
mov dword [ebp - 0x6dc], ecx
mov byte [ebp - 0x6ec], cl
mov byte [ebp - 4], 6
lea eax, [edi + 0x1a6]
mov dword [ebp - 0x730], ecx
mov word [ebp - 0x740], cx
mov ecx, eax
mov dword [ebp - 0x72c], 7
lea edx, [ecx + 2]
lea esp, [esp]
mov si, word [ecx]
add ecx, 2
test si, si
jne 0x1001b0a0
sub ecx, edx
sar ecx, 1
push ecx
lea esi, [ebp - 0x740]
call fcn.10003a30
lea edx, [ebp - 0x6ec]
push edx
sub esp, 0x1c
mov ecx, esp
xor eax, eax
mov byte [ebp - 4], 7
mov dword [ebp - 0x784], esp
push eax
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], 0
mov edx, esi
mov word [ecx], ax
push edx
or eax, 0xffffffff
call fcn.10003850
call fcn.10020cd0
mov eax, dword [ebp - 0x6ec]
add esp, 0x20
cmp dword [ebp - 0x6d8], 0x10
jae 0x1001b10d
lea eax, [ebp - 0x6ec]
push eax
push str._end_time__t_t_t_s
lea eax, [ebp - 0x218]
push 0x201
push eax
call fcn.1006791a
mov ecx, dword [ebp - 0x77c]
add esp, 0x10
push ecx
push eax
lea edx, [ebp - 0x218]
push edx
call fcn.10019740
mov esi, dword [ebp - 0x790]
push esi
push str._keydesc_count__t_t_t_d
lea eax, [ebp - 0x218]
push 0x201
push eax
call fcn.1006791a
mov ecx, dword [ebp - 0x77c]
add esp, 0x10
push ecx
push eax
lea edx, [ebp - 0x218]
push edx
call fcn.10019740
test esi, esi
jle 0x1001b29b
mov eax, esi
mov dword [ebp - 0x78c], 0
mov dword [ebp - 0x790], eax
mov ecx, dword [edi + 0x9c]
add ecx, dword [ebp - 0x78c]
lea eax, [ecx + 0x408]
lea edx, [eax + 2]
mov edi, edi
mov si, word [eax]
add eax, 2
test si, si
jne 0x1001b1a0
sub eax, edx
sar eax, 1
lea esi, [eax + eax]
mov eax, dword [ecx]
push esi
push eax
push str._unit_keydesc__t_t_t_d_t_t_t_d_t_t_t
lea ecx, [ebp - 0x218]
push 0x201
push ecx
call fcn.1006791a
add esp, 0x14
push 0x3ff
lea edx, [ebp - 0x697]
push 0
push edx
mov dword [ebp - 0x788], eax
mov byte [ebp - 0x698], 0
call fcn.1006b580
mov eax, dword [edi + 0x9c]
mov ecx, dword [ebp - 0x78c]
add esp, 0xc
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
lea eax, [eax + ecx + 0x408]
push eax
push 0
push 0
mov dword [ebp - 0x784], eax
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
test eax, eax
je 0x1001b243
push 0
push 0
push eax
mov eax, dword [ebp - 0x784]
lea edx, [ebp - 0x698]
push edx
push 0xffffffffffffffff
push eax
push 0
push 0
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
test esi, esi
jle 0x1001b26b
mov eax, dword [ebp - 0x788]
push esi
lea ecx, [ebp - 0x698]
lea eax, [ebp + eax - 0x218]
push ecx
push eax
call fcn.10073cd0
add esp, 0xc
add dword [ebp - 0x788], esi
mov edx, dword [ebp - 0x77c]
mov eax, dword [ebp - 0x788]
push edx
push eax
lea ecx, [ebp - 0x218]
push ecx
call fcn.10019740
add dword [ebp - 0x78c], 0xc08
dec dword [ebp - 0x790]
jne 0x1001b189
sub esp, 0x1c
mov esi, esp
lea eax, [edi + 0xe4]
xor edx, edx
mov dword [esi + 0x14], 7
mov dword [esi + 0x10], 0
mov ecx, eax
mov word [esi], dx
lea edx, [ecx + 2]
mov dword [ebp - 0x784], esp
mov dword [ebp - 0x784], edx
lea ebx, [ebx]
mov dx, word [ecx]
add ecx, 2
test dx, dx
jne 0x1001b2d0
sub ecx, dword [ebp - 0x784]
sar ecx, 1
push ecx
call fcn.10003a30
lea esi, [ebp - 0x75c]
call fcn.10020f30
add esp, 0x1c
mov byte [ebp - 4], 8
cmp dword [ebp - 0x748], 0x10
mov eax, dword [ebp - 0x75c]
jae 0x1001b30c
mov eax, esi
push eax
push str._producr_key__t_t_t_s
lea eax, [ebp - 0x218]
push 0x201
push eax
call fcn.1006791a
mov esi, dword [ebp - 0x77c]
add esp, 0x10
push esi
push eax
lea ecx, [ebp - 0x218]
push ecx
call fcn.10019740
mov eax, dword [edi + 0x148]
push eax
push str._version_type__t_t_t_d
lea edx, [ebp - 0x218]
push 0x201
push edx
call fcn.1006791a
add esp, 0x10
push esi
push eax
lea eax, [ebp - 0x218]
push eax
call fcn.10019740
sub esp, 0x1c
mov esi, esp
xor ecx, ecx
lea eax, [edi + 0x14c]
mov dword [esi + 0x14], 7
mov dword [esi + 0x10], 0
mov word [esi], cx
mov ecx, eax
lea edx, [ecx + 2]
mov dword [ebp - 0x784], esp
mov dword [ebp - 0x784], edx
mov dx, word [ecx]
add ecx, 2
test dx, dx
jne 0x1001b397
sub ecx, dword [ebp - 0x784]
sar ecx, 1
push ecx
call fcn.10003a30
lea esi, [ebp - 0x778]
call fcn.10020f30
add esp, 0x1c
mov byte [ebp - 4], 9
cmp dword [ebp - 0x764], 0x10
mov eax, dword [ebp - 0x778]
jae 0x1001b3d3
mov eax, esi
push eax
push str._verification_code__t_t_t_s
lea eax, [ebp - 0x218]
push 0x201
push eax
call fcn.1006791a
mov esi, dword [ebp - 0x77c]
add esp, 0x10
push esi
push eax
lea ecx, [ebp - 0x218]
push ecx
call fcn.10019740
mov edx, dword [edi]
push edx
push str._ver_num__t_t_t_d
lea eax, [ebp - 0x218]
push 0x201
push eax
call fcn.1006791a
add esp, 0x10
push esi
push eax
lea ecx, [ebp - 0x218]
push ecx
call fcn.10019740
mov edx, dword [edi + 0x1e4]
push edx
push str._text_copy__t_t_t_d
lea eax, [ebp - 0x218]
push 0x201
push eax
call fcn.1006791a
add esp, 0x10
push esi
push eax
lea ecx, [ebp - 0x218]
push ecx
call fcn.10019740
mov edx, dword [edi + 0x1e8]
push edx
push str._print_control__t_t_t_d
lea eax, [ebp - 0x218]
push 0x201
push eax
call fcn.1006791a
add esp, 0x10
push esi
push eax
lea ecx, [ebp - 0x218]
push ecx
call fcn.10019740
push ebx
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x6bc], 8
mov eax, dword [ebp - 0x6d0]
jae 0x1001b4aa
lea eax, [ebp - 0x6d0]
mov edx, dword [ebp - 0x794]
push 1
push edx
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
mov edi, 0x10
cmp dword [ebp - 0x764], edi
jb 0x1001b4d6
mov eax, dword [ebp - 0x778]
push eax
call fcn.10066b10
add esp, 4
xor ebx, ebx
mov esi, 0xf
mov dword [ebp - 0x764], esi
mov dword [ebp - 0x768], ebx
mov byte [ebp - 0x778], bl
cmp dword [ebp - 0x748], edi
jb 0x1001b506
mov ecx, dword [ebp - 0x75c]
push ecx
call fcn.10066b10
add esp, 4
cmp dword [ebp - 0x72c], 8
mov dword [ebp - 0x748], esi
mov dword [ebp - 0x74c], ebx
mov byte [ebp - 0x75c], bl
jb 0x1001b530
mov edx, dword [ebp - 0x740]
push edx
call fcn.10066b10
add esp, 4
xor eax, eax
mov dword [ebp - 0x72c], 7
mov dword [ebp - 0x730], ebx
mov word [ebp - 0x740], ax
cmp dword [ebp - 0x6d8], edi
jb 0x1001b560
mov ecx, dword [ebp - 0x6ec]
push ecx
call fcn.10066b10
add esp, 4
cmp dword [ebp - 0x710], 8
mov dword [ebp - 0x6d8], esi
mov dword [ebp - 0x6dc], ebx
mov byte [ebp - 0x6ec], bl
jb 0x1001b58a
mov edx, dword [ebp - 0x724]
push edx
call fcn.10066b10
add esp, 4
xor eax, eax
mov dword [ebp - 0x710], 7
mov dword [ebp - 0x714], ebx
mov word [ebp - 0x724], ax
cmp dword [ebp - 0x6f4], edi
jb 0x1001b5ba
mov ecx, dword [ebp - 0x708]
push ecx
call fcn.10066b10
add esp, 4
cmp dword [ebp - 0x6bc], 8
mov dword [ebp - 0x6f4], esi
mov dword [ebp - 0x6f8], ebx
mov byte [ebp - 0x708], bl
jb 0x1001b5e4
mov edx, dword [ebp - 0x6d0]
push edx
call fcn.10066b10
add esp, 4
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10066b1b
mov esp, ebp
pop ebp
ret 8