Function at 0x40184b
Capabilities:
Delete directory
Delete file

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x1a84
call fcn.0040d810
mov eax, dword [0x42e024]
xor eax, esp
mov dword [esp + 0x1a80], eax
push ebx
mov ebx, dword [ebp + 0x10]
xor eax, eax
push esi
push edi
mov dword [esp + 0x1c], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x20], eax
call fcn.004072d0
mov edi, 0x200
mov dword [esp + 0x24], eax
push edi
xor esi, esi
lea eax, [esp + 0xc8c]
push esi
push eax
call fcn.0040f380
add esp, 0xc
lea eax, [esp + 0x88]
push edi
push esi
push eax
call fcn.0040f380
add esp, 0xc
lea eax, [esp + 0xa88]
push edi
push esi
push eax
call fcn.0040f380
add esp, 0xc
xor eax, eax
mov byte [esp + 0x13], al
mov byte [esp + 0x2f], al
call fcn.00405880
mov esi, eax
lea eax, [esp + 0xc88]
push esi
push str.ServiSignWorker__s
push edi
push eax
call fcn.0040111f
add esp, 0x10
test esi, esi
je 0x4018f6
push esi
call fcn.004131f1
pop ecx
lea edx, [esp + 0xc88]
call fcn.004043d0
push str.15:54:03
push str.Mar_26_2018
push 0x429a68
push edi
mov esi, 0x430310
push esi
call fcn.0040111f
add esp, 0x14
mov edx, esi
mov ecx, str.Compile_time:
call fcn.00404c60
mov edx, ebx
mov ecx, str.Command:
call fcn.00404c60
push str._stop
push ebx
call fcn.0041310f
mov esi, str._start
mov edi, str._reset
pop ecx
pop ecx
test eax, eax
je 0x4019a0
push str._allstop
push ebx
call fcn.0041310f
pop ecx
pop ecx
test eax, eax
je 0x4019a0
push esi
push ebx
call fcn.0041310f
pop ecx
pop ecx
test eax, eax
je 0x4019a0
push str._restart
push ebx
call fcn.0041310f
pop ecx
pop ecx
test eax, eax
je 0x4019a0
push str._monitorstart
push ebx
call fcn.0041310f
pop ecx
pop ecx
test eax, eax
je 0x4019a0
push edi
push ebx
call fcn.0041310f
pop ecx
pop ecx
test eax, eax
jne 0x4019f8
mov edx, 0xc8
mov ecx, 0x429acc
call fcn.004070d0
mov edi, eax
mov dword [esp + 0x20], edi
test edi, edi
jne 0x4019f3
xor esi, esi
mov edi, 0x1f4
push edi
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp esi, 0x1388
jae 0x401bb5
mov edx, 0xc8
mov ecx, 0x429acc
add esi, edi
call fcn.004070d0
mov edi, eax
mov dword [esp + 0x20], edi
test edi, edi
je 0x4019bb
mov esi, str._start
mov edi, str._reset
push str._stop
push ebx
call fcn.0041310f
pop ecx
pop ecx
test eax, eax
je 0x401a49
push str._allstop
push ebx
call fcn.0041310f
pop ecx
pop ecx
test eax, eax
je 0x401a49
push esi
push ebx
call fcn.0041310f
pop ecx
pop ecx
test eax, eax
je 0x401a49
push str._restart
push ebx
call fcn.0041310f
pop ecx
pop ecx
test eax, eax
je 0x401a49
push edi
push ebx
call fcn.0041310f
pop ecx
pop ecx
test eax, eax
jne 0x401b0b
mov edx, str.Stop_area
mov ecx, 0x4299e8
call fcn.00404c60
mov ecx, 0x429b10
call fcn.00406330
mov esi, str.BOKServiSignKeeper.exe
mov byte [esp + 0x2f], al
mov edx, esi
call fcn.004064a0
push esi
mov edi, str.ServiSignWorker
mov esi, str.__s__Send_close_message_to__s:
push edi
push esi
push 0x200
push 0x430310
mov bl, al
call fcn.0040111f
add esp, 0xc
mov dl, bl
mov ecx, 0x430310
call fcn.00405710
mov edx, str.BOKServiSign.exe
call fcn.004064a0
push str.BOKServiSign.exe
push edi
push esi
mov esi, 0x200
mov bl, al
push esi
push 0x430310
call fcn.0040111f
mov dl, bl
add esp, 0x14
mov ebx, 0x430310
mov ecx, ebx
call fcn.00405710
push edi
push str.__s_
push esi
push ebx
call fcn.0040111f
push str.Execute_success
push esi
mov esi, 0x430110
push esi
call fcn.0040111f
add esp, 0x24
mov edx, esi
mov ecx, ebx
call fcn.00404c60
mov ebx, dword [esp + 0x1c]
mov edi, str._reset
mov esi, str._start
push esi
push ebx
call fcn.0041310f
pop ecx
pop ecx
test eax, eax
je 0x401b3a
push str._restart
push ebx
call fcn.0041310f
pop ecx
pop ecx
test eax, eax
je 0x401b3a
push edi
push ebx
call fcn.0041310f
pop ecx
pop ecx
test eax, eax
jne 0x401c03
mov edx, str.Start_area
mov ecx, 0x4299e8
call fcn.00404c60
push 0x200
lea eax, [esp + 0x28c]
push 0
push eax
call fcn.0040f380
add esp, 0xc
lea eax, [esp + 0x288]
push str.BOKServiSignKeeper.exe
push str._s__keep
push 0x200
push eax
call fcn.0040111f
push edi
push ebx
call fcn.0041310f
add esp, 0x18
test eax, eax
jne 0x401b90
cmp byte [esp + 0x2f], al
jne 0x401bc9
push esi
push ebx
call fcn.0041310f
pop ecx
pop ecx
test eax, eax
je 0x401bc9
push str._restart
push ebx
call fcn.0041310f
pop ecx
pop ecx
test eax, eax
je 0x401bc9
mov edx, str.Pass_start_keeper_process
jmp 0x401bf9
mov edx, str.Get_mutex_lock_time_out
mov ecx, 0x4299e8
call fcn.00404c60
jmp 0x402b66
lea edx, [esp + 0x288]
lea ecx, [esp + 0x18]
call fcn.00403ce0
mov ecx, eax
call fcn.004012e7
mov ecx, dword [eax]
call fcn.00406100
mov ecx, dword [esp + 0x18]
test ecx, ecx
je 0x401bf4
call fcn.00401375
mov edx, str.Start_keeper_complete
mov ecx, 0x4299e8
call fcn.00404c60
push str._allstop
push ebx
call fcn.0041310f
pop ecx
pop ecx
test eax, eax
je 0x401c21
push edi
push ebx
call fcn.0041310f
pop ecx
pop ecx
test eax, eax
jne 0x401c9e
mov edx, str.Stop_Monitor_area
mov ecx, 0x4299e8
call fcn.00404c60
push ecx
push str.ServiSignInstruction_Suicide
mov edx, 0x429c38
lea ecx, [esp + 0xc90]
call fcn.004087b0
pop ecx
pop ecx
xor esi, esi
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
add esi, 0x1f4
cmp esi, 0x1388
jg 0x401c72
mov ecx, str.BOKServiSignMonitor.exe
call fcn.00406330
test al, al
jne 0x401c4b
mov ecx, str.BOKServiSignMonitor.exe
call fcn.00406330
mov ecx, str.Kill_Monitor:
test al, al
je 0x401c94
mov edx, str.Fail
call fcn.00405050
jmp 0x402b66
mov edx, str.Success
call fcn.00404c60
push edi
push ebx
call fcn.0041310f
pop ecx
pop ecx
test eax, eax
jne 0x401cc4
mov ecx, str.BOKServiSignMonitor.exe
call fcn.00406100
mov edx, str.Reset_complete
mov ecx, 0x4299e8
call fcn.00404c60
mov edx, ebx
mov ecx, str._uninstalldetect
call fcn.004059c0
mov esi, 0x429ccc
test al, al
je 0x4022ec
mov edx, str.Uninstall_detect_area
mov ecx, 0x4299e8
call fcn.00404c60
push esi
push ebx
mov byte [esp + 0x1b], 1
call fcn.0040eb20
inc eax
push eax
lea eax, [esp + 0xa94]
push 0x200
push eax
call fcn.0040111f
add esp, 0x14
lea edx, [esp + 0xa88]
mov ecx, str.CmdLine:
call fcn.00404c60
lea eax, [esp + 0xa88]
push esi
push eax
lea edi, [esp + 0x50]
call fcn.0040ffb7
pop ecx
pop ecx
test eax, eax
jne 0x401ebd
mov esi, dword [0x430510]
mov edx, esi
mov ecx, str.SplitLength:
call fcn.00404da0
and dword [esp + 0x18], 0
mov eax, dword [0x430510]
test eax, eax
jle 0x401e39
mov ebx, dword [esp + 0x18]
push str..exe
push dword [esp + ebx*4 + 0x4c]
call fcn.0040eb20
pop ecx
pop ecx
test eax, eax
jne 0x401e2b
mov ecx, 0x200
mov dword [esp + 0x14], ebx
call fcn.00403e60
mov edi, eax
mov edx, ebx
mov dword [esp + 0x18], edi
mov dword [esp + ebx*4 + 0x48], edi
mov ecx, edi
mov ebx, edx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x401d9d
sub ecx, edx
xor eax, eax
mov byte [edi + ecx], al
mov eax, dword [esp + 0x14]
cmp dword [esp + eax*4 + 0x48], 0
je 0x401e09
mov edx, dword [esp + eax*4 + 0x48]
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x401dbd
sub edx, ecx
lea ecx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x401dc9
sub edi, ecx
mov ecx, dword [esp + 0x18]
lea eax, [ecx + 1]
mov dword [esp + 0x28], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x401ddd
sub ecx, dword [esp + 0x28]
push edx
mov edx, dword [esp + 0x18]
push dword [esp + edx*4 + 0x4c]
mov edx, 0x200
sub edx, edi
mov edi, dword [esp + 0x20]
add ecx, edi
call fcn.00401010
mov eax, dword [esp + 0x1c]
pop ecx
pop ecx
push str..exe
push dword [esp + eax*4 + 0x4c]
dec esi
call fcn.0040eb20
mov edx, dword [esp + 0x1c]
inc edx
mov dword [esp + 0x1c], edx
pop ecx
pop ecx
test eax, eax
je 0x401d96
mov eax, dword [0x430510]
inc ebx
cmp ebx, eax
jl 0x401d64
cmp esi, eax
je 0x401e3e
inc esi
mov edx, esi
mov ecx, str.SplitLength:
call fcn.00404da0
xor eax, eax
mov edi, eax
test esi, esi
jle 0x401e9a
xor ebx, ebx
push 0x200
lea eax, [esp + 0x28c]
push ebx
push eax
call fcn.0040f380
add esp, 0xc
lea eax, [esp + 0x288]
push dword [esp + edi*4 + 0x48]
push edi
push str.__d____s
push eax
call fcn.004010ed
add esp, 0x10
lea edx, [esp + 0x288]
mov ecx, str.argv
call fcn.00404c60
inc edi
cmp edi, esi
jl 0x401e54
cmp esi, 3
je 0x401ee2
mov edx, str.Parameter_error
mov ecx, str.ServiSign_uninstall_detect:
call fcn.00405440
mov eax, 0xee4d
jmp 0x402b92
mov esi, 0x429ccc
push esi
mov dword [edi], eax
lea edi, [edi + 4]
push 0
call fcn.0040ffb7
mov esi, dword [0x430510]
inc esi
mov dword [0x430510], esi
pop ecx
pop ecx
test eax, eax
jne 0x401eb8
jmp 0x401d42
mov esi, 0x200
lea eax, [esp + 0x1488]
push esi
xor ebx, ebx
push ebx
push eax
call fcn.0040f380
add esp, 0xc
lea eax, [esp + 0xe88]
push esi
push ebx
push eax
call fcn.0040f380
add esp, 0xc
lea eax, [esp + 0x688]
push esi
push ebx
push eax
call fcn.0040f380
add esp, 0xc
lea eax, [esp + 0x1488]
push dword [esp + 0x48]
push eax
call fcn.004010ed
push dword [esp + 0x54]
lea eax, [esp + 0xe94]
push eax
call fcn.004010ed
push dword [esp + 0x60]
lea eax, [esp + 0x69c]
push eax
call fcn.004010ed
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
mov esi, ebx
mov ebx, dword [esp + 0x24]
add esp, 0x18
push 0x429d38
lea ecx, [esp + 0x18]
or ebx, 1
call fcn.00401224
mov ecx, dword [eax]
test ecx, ecx
je 0x401f7c
mov ecx, dword [ecx]
jmp 0x401f80
xor eax, eax
mov ecx, eax
call fcn.00406330
test al, al
jne 0x401fb9
push 0x429d40
lea ecx, [esp + 0x1c]
or ebx, 2
call fcn.00401224
mov ecx, dword [eax]
test ecx, ecx
je 0x401fa4
mov ecx, dword [ecx]
jmp 0x401fa8
xor eax, eax
mov ecx, eax
call fcn.00406330
test al, al
jne 0x401fb9
xor eax, eax
mov byte [esp + 0x2f], al
jmp 0x401fbe
mov byte [esp + 0x2f], 1
test bl, 2
je 0x401fd9
mov ecx, dword [esp + 0x18]
and ebx, 0xfffffffd
test ecx, ecx
je 0x401fd9
call fcn.00401375
xor eax, eax
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x14]
and ebx, 0xfffffffe
test ecx, ecx
je 0x401fef
call fcn.00401375
xor eax, eax
mov dword [esp + 0x14], eax
cmp byte [esp + 0x2f], 0
je 0x402007
push 0x3e8
call edi
inc esi
cmp esi, 0x10
jl 0x401f61
push 0x3e8
call edi
xor eax, eax
lea edi, [esp + 0x3c]
stosd dword es:[edi], eax
xor ecx, ecx
sub esp, 0x18
mov dword [esp + 0x2c], ecx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
lea edi, [esp + 0x48]
mov dword [esp + 0x54], ecx
stosd dword es:[edi], eax
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], ecx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov dword [esp + 0x48], ecx
mov edi, ecx
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], ecx
mov ecx, esp
push 0x429d4c
call fcn.00402c6f
mov esi, dword [esp + 0x3c]
sub esp, 0x18
mov ecx, esp
push esi
call fcn.00402c6f
lea ecx, [esp + 0x6c]
call fcn.004013bd
mov ebx, dword [esp + 0x4c]
add esp, 0x30
test al, al
jne 0x402098
mov edx, str.Detect_error
mov ecx, str.TotolFileList:
call fcn.00405440
lea ecx, [esp + 0x30]
call fcn.00402c0e
lea ecx, [esp + 0x3c]
call fcn.00402c0e
jmp 0x402b66
sub esp, 0x18
mov ecx, esp
push 0x429d70
call fcn.00402c6f
sub esp, 0x18
mov ecx, esp
push esi
call fcn.00402c6f
lea ecx, [esp + 0x60]
call fcn.004013bd
add esp, 0x30
test al, al
jne 0x4020e4
mov esi, str.MainFileList:
mov edx, str.Detect_error
mov ecx, esi
call fcn.00405440
mov edx, str.Uninstall_mode
mov ecx, esi
call fcn.00405440
jmp 0x40217f
mov esi, dword [esp + 0x3c]
jmp 0x40210c
mov ecx, 0x429d9c
call fcn.0040113d
push eax
push ecx
push ecx
mov ecx, esi
call fcn.00402dcd
add esi, 0x18
lea ecx, [edi + 1]
cmp eax, 0xffffffff
cmove ecx, edi
mov edi, ecx
cmp esi, dword [esp + 0x40]
jne 0x4020ea
mov esi, dword [esp + 0x30]
cmp esi, dword [esp + 0x34]
je 0x402150
mov ebx, dword [esp + 0x14]
mov ecx, 0x429d9c
call fcn.0040113d
push eax
push ecx
push ecx
mov ecx, esi
call fcn.00402dcd
add esi, 0x18
lea ecx, [ebx + 1]
cmp eax, 0xffffffff
cmove ecx, ebx
mov ebx, ecx
cmp esi, dword [esp + 0x34]
jne 0x402120
mov dword [esp + 0x14], ebx
mov ebx, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
push esi
push edi
push str.TotolSize___d_MainSize___d
push 0x430310
call fcn.004010ed
add esp, 0x10
mov edx, 0x430310
mov ecx, str.Uninstall_detect_result:
call fcn.00404c60
cmp esi, edi
jne 0x4022b2
mov edx, str.Unstall
mov ecx, 0x429dec
call fcn.00404c60
mov esi, 0x400
xor eax, eax
push esi
push eax
lea eax, [esp + 0x1690]
push eax
call fcn.0040f380
add esp, 0xc
xor eax, eax
push esi
push eax
lea eax, [esp + 0x1090]
push eax
call fcn.0040f380
add esp, 0xc
xor eax, eax
push esi
push eax
lea eax, [esp + 0x290]
push eax
call fcn.0040f380
add esp, 0xc
lea edx, [esp + 0xe88]
lea ecx, [esp + 0xc]
call fcn.00403ce0
mov ecx, eax
call fcn.004012e7
mov edi, dword [sym.imp.USER32.dll_wsprintfW]
push dword [eax]
lea eax, [esp + 0x168c]
push str._s__S
push eax
call edi
mov ecx, dword [esp + 0x18]
add esp, 0xc
test ecx, ecx
je 0x40220d
call fcn.00401375
lea ecx, [esp + 0x1688]
call fcn.00406100
call fcn.00406f00
mov esi, eax
xor eax, eax
mov word [esp + 0x288], ax
test esi, esi
je 0x40225b
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x402233
sub ecx, edx
mov edx, 0x200
lea eax, [ecx + 1]
push eax
push esi
lea ecx, [esp + 0x290]
call fcn.00401010
push esi
call fcn.004131f1
add esp, 0xc
lea eax, [esp + 0x288]
push eax
lea eax, [esp + 0x108c]
push str.del__Q__s.dll
push eax
call edi
add esp, 0xc
lea ecx, [esp + 0x1088]
mov dl, 1
push 0xffffffffffffffff
call fcn.00405ed0
pop ecx
lea eax, [esp + 0x288]
push eax
lea eax, [esp + 0x108c]
push str.del__A:H__Q__s.dll
push eax
call edi
add esp, 0xc
lea ecx, [esp + 0x1088]
mov dl, 1
push 0xffffffffffffffff
call fcn.00405ed0
jmp 0x4022d9
mov edx, str.MonitorStart
mov ecx, 0x429dec
call fcn.00404c60
push ecx
push str.ServiSignInstruction_MonitorStart
mov edx, 0x429c38
lea ecx, [esp + 0xc90]
call fcn.004087b0
pop ecx
pop ecx
lea ecx, [esp + 0x30]
call fcn.00402c0e
lea ecx, [esp + 0x3c]
call fcn.00402c0e
mov edx, ebx
mov ecx, str._delete
call fcn.004059c0
test al, al
je 0x402830
mov edx, str.Delete_area
mov ecx, 0x4299e8
call fcn.00404c60
xor eax, eax
push 0x400
push eax
lea eax, [esp + 0x690]
push eax
call fcn.0040f380
add esp, 0xc
mov byte [esp + 0x13], 1
mov edi, 0x430310
xor eax, eax
mov edx, str.Start
mov ecx, edi
call fcn.00404c60
mov edx, ebx
lea esi, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x402344
sub edx, esi
jne 0x40235b
mov edx, str.Input_is_empty
mov ecx, edi
jmp 0x401bbf
push 0x429ccc
push ebx
call fcn.0040eb20
inc eax
mov edi, 0x200
push eax
lea eax, [esp + 0xa94]
push edi
push eax
call fcn.0040111f
add esp, 0x14
lea edx, [esp + 0xa88]
mov ecx, str.CmdLine:
call fcn.00404c60
push 0x4299e8
mov edx, 0x429ea8
mov ecx, ebx
call fcn.00404170
mov esi, eax
xor eax, eax
mov byte [esp + 0x8c], al
pop ecx
test esi, esi
je 0x4023da
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4023b5
sub ecx, edx
mov edx, edi
lea eax, [ecx + 1]
push eax
push esi
lea ecx, [esp + 0x90]
call fcn.00401010
push esi
call fcn.004131f1
add esp, 0xc
lea edx, [esp + 0x88]
lea ecx, [esp + 0xc]
call fcn.00403ce0
mov ecx, eax
call fcn.004012e7
mov edi, 0x429eac
mov esi, 0x200
push dword [eax]
lea eax, [esp + 0x68c]
push edi
push esi
push eax
call fcn.00401090
mov ecx, dword [esp + 0x1c]
add esp, 0x10
test ecx, ecx
je 0x40241c
call fcn.00401375
lea eax, [esp + 0xc88]
push eax
push str._ServiSignWorker__s__Input:
push esi
mov esi, 0x430310
push esi
call fcn.0040111f
lea edx, [esp + 0xa98]
mov ecx, esi
call fcn.00404c60
push 0x4299e8
mov edx, 0x429ea8
lea ecx, [esp + 0xa9c]
call fcn.00404170
mov esi, eax
add esp, 0x14
xor eax, eax
mov byte [esp + 0x88], al
test esi, esi
je 0x402498
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x402470
sub ecx, edx
mov edx, 0x200
lea eax, [ecx + 1]
push eax
push esi
lea ecx, [esp + 0x90]
call fcn.00401010
push esi
call fcn.004131f1
add esp, 0xc
lea edx, [esp + 0x88]
lea ecx, [esp + 0xc]
call fcn.00403ce0
mov ecx, eax
call fcn.004012e7
push dword [eax]
lea eax, [esp + 0x68c]
push edi
push 0x200
push eax
call fcn.00401090
mov ecx, dword [esp + 0x1c]
add esp, 0x10
test ecx, ecx
je 0x4024d4
call fcn.00401375
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
xor eax, eax
mov esi, eax
mov bl, al
mov ecx, str.Au_.exe
call fcn.00406330
test al, al
jne 0x4024fc
mov ecx, str.Un_A.exe
call fcn.00406330
test al, al
je 0x40253d
test bl, bl
jne 0x402530
lea eax, [esp + 0xc88]
inc bl
push eax
push str._ServiSignWorker__s_
push 0x200
push 0x430310
call fcn.0040111f
add esp, 0x10
mov edx, str.NSIS_uninstaller_is_running__wait
mov ecx, 0x430310
call fcn.00404c60
push 0x3e8
call edi
inc esi
cmp esi, 0x1e
jl 0x4024e0
push 0xc8
call edi
push ecx
lea eax, [esp + 0x68c]
mov ecx, esp
push eax
call fcn.00401285
call fcn.00403ae0
mov ebx, dword [esp + 0x20]
mov edx, eax
pop ecx
test edx, edx
jne 0x4025bd
mov edx, str.Memory_allocate_fail
mov ecx, 0x4299e8
call fcn.00405050
mov ebx, 0x200
xor eax, eax
push ebx
push eax
lea eax, [esp + 0xe90]
push eax
call fcn.0040f380
add esp, 0xc
lea eax, [esp + 0xe88]
push str.ServiSignWorker.cpp
push 0x15c
push str.Safe_at__d_lines_in__s
push ebx
push eax
call fcn.0040111f
add esp, 0x14
lea edx, [esp + 0xe88]
mov ecx, str._Safe_Line_
jmp 0x401c8a
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4025c2
sub ecx, esi
dec ecx
add ecx, edx
mov al, byte [ecx]
cmp al, 0x5c
je 0x402707
cmp al, 0x2f
je 0x402707
cmp al, 0x2e
je 0x4025e7
dec ecx
jmp 0x4025ce
push edx
call fcn.004131f1
pop ecx
mov edx, str.File_mode
mov ecx, 0x4299e8
call fcn.00404c60
xor eax, eax
mov edi, eax
mov esi, eax
lea eax, [esp + 0x688]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x40267e
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp esi, 0x1388
jae 0x402636
inc edi
add esi, 0x1f4
cmp edi, 0xffffffff
jb 0x402603
jmp 0x4026aa
push ecx
lea eax, [esp + 0x68c]
mov ecx, esp
push eax
call fcn.00401285
call fcn.00403ae0
pop ecx
mov esi, eax
lea eax, [esp + 0x88]
push esi
push str.Delete__s_retry_too_many_times
push 0x200
push eax
call fcn.0040111f
add esp, 0x10
test esi, esi
je 0x402674
push esi
call fcn.004131f1
pop ecx
mov edx, str.Try_too_many_times
jmp 0x401bba
push ebx
push str.Delete__s_success
lea eax, [esp + 0x90]
push 0x200
push eax
call fcn.0040111f
add esp, 0x10
lea edx, [esp + 0x88]
mov ecx, 0x4299e8
call fcn.00404c60
lea ecx, [esp + 0x688]
xor esi, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, si
jne 0x4026b6
sub ecx, edx
sar ecx, 1
sub ecx, 1
js 0x4026dc
push 0x5c
pop eax
cmp word [esp + ecx*2 + 0x688], ax
je 0x4026ed
sub ecx, 1
jns 0x4026cd
mov edx, str.Folder_mode
mov ecx, 0x430310
call fcn.00404c60
jmp 0x40271f
add ecx, ecx
cmp ecx, 0x400
jae 0x402ba9
xor eax, eax
mov word [esp + ecx + 0x688], ax
jmp 0x4026dc
push edx
call fcn.004131f1
pop ecx
mov edx, str.Folder_mode
mov ecx, 0x4299e8
call fcn.00404c60
xor esi, esi
lea ecx, [esp + 0x688]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, si
jne 0x402729
jmp 0x402826
xor eax, eax
mov edi, eax
mov esi, eax
lea eax, [esp + 0x688]
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
test eax, eax
jne 0x402776
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp esi, 0x1388
jae 0x4029b9
inc edi
add esi, 0x1f4
cmp edi, 0xffffffff
jb 0x40273f
jmp 0x4027c5
push ecx
lea eax, [esp + 0x68c]
mov ecx, esp
push eax
call fcn.00401285
call fcn.00403ae0
pop ecx
mov esi, eax
lea eax, [esp + 0x88]
push esi
push str.Delete__s_success
push 0x200
push eax
call fcn.0040111f
add esp, 0x10
test esi, esi
je 0x4027b4
push esi
call fcn.004131f1
pop ecx
lea edx, [esp + 0x88]
mov ecx, 0x4299e8
call fcn.00404c60
lea ecx, [esp + 0x688]
xor esi, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, si
jne 0x4027d1
sub ecx, edx
sar ecx, 1
sub ecx, 1
js 0x402811
push 0x5c
pop eax
cmp word [esp + ecx*2 + 0x688], ax
je 0x4027f9
sub ecx, 1
jns 0x4027e8
jmp 0x402811
add ecx, ecx
cmp ecx, 0x400
jae 0x402ba9
xor eax, eax
mov word [esp + ecx + 0x688], ax
lea ecx, [esp + 0x688]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, si
jne 0x40281b
sub ecx, edx
sar ecx, 1
jne 0x402739
push str._keep
push ebx
call fcn.0041310f
pop ecx
pop ecx
test eax, eax
jne 0x402b66
mov edx, str.Keep_area
mov ecx, 0x4299e8
call fcn.00404c60
xor eax, eax
mov esi, 0x200
push esi
push eax
mov byte [esp + 0x37], al
mov bl, al
lea eax, [esp + 0x290]
push eax
call fcn.0040f380
lea ecx, [esp + 0x294]
add esp, 0xc
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40287d
mov edi, dword [esp + 0x24]
sub ecx, edx
xor eax, eax
mov byte [esp + ecx + 0x288], al
test edi, edi
je 0x4028d3
mov edx, edi
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x40289c
sub edx, ecx
lea ecx, [esp + 0x288]
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4028af
sub ecx, esi
lea eax, [esp + 0x288]
push edx
mov esi, 0x200
mov edx, esi
sub edx, ecx
add ecx, eax
push edi
call fcn.00401010
pop ecx
pop ecx
lea ecx, [esp + 0x288]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4028dd
sub ecx, edx
xor eax, eax
mov byte [esp + ecx + 0x288], al
lea ecx, [esp + 0x288]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4028f9
sub ecx, edx
lea eax, [esp + 0x288]
mov edx, esi
push 1
sub edx, ecx
add ecx, eax
push 0x429ffc
call fcn.00401010
pop ecx
pop ecx
lea ecx, [esp + 0x288]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x402927
sub ecx, edx
xor eax, eax
mov byte [esp + ecx + 0x288], al
lea ecx, [esp + 0x288]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x402943
sub ecx, edx
lea eax, [esp + 0x288]
mov edx, esi
push 0x10
sub edx, ecx
add ecx, eax
push str.BOKServiSign.exe
call fcn.00401010
pop ecx
pop ecx
mov edx, str.BOKServiSignKeeper.exe
lea ecx, [esp + 0x18]
call fcn.00403ce0
mov ecx, eax
call fcn.004012e7
mov edx, 0xc8
mov ecx, dword [eax]
call fcn.004070d0
mov ecx, dword [esp + 0x18]
mov esi, eax
mov dword [esp + 0x20], esi
test ecx, ecx
je 0x4029a1
call fcn.00401375
xor eax, eax
mov dword [esp + 0x18], eax
mov ecx, str.Metux_lock_state:
test esi, esi
jne 0x402a03
mov edx, str.Fail
call fcn.00404c60
jmp 0x402b79
push ecx
lea eax, [esp + 0x68c]
mov ecx, esp
push eax
call fcn.00401285
call fcn.00403ae0
pop ecx
mov esi, eax
lea eax, [esp + 0x88]
push esi
push str.Delete__s_retry_too_many_times
push 0x200
push eax
call fcn.0040111f
add esp, 0x10
test esi, esi
je 0x4029f7
push esi
call fcn.004131f1
pop ecx
lea edx, [esp + 0x88]
jmp 0x401bba
mov edx, str.Success
call fcn.00404c60
mov edi, str.BOKServiSignMonitor.exe
mov ecx, edi
call fcn.00406330
mov esi, 0x4299e8
mov edx, esi
test al, al
jne 0x402a37
mov ecx, str.Start_monitor
call fcn.00404c60
mov ecx, edi
call fcn.00406100
jmp 0x402a41
mov ecx, str.Monitor_is_launched
call fcn.00404c60
mov ecx, 0x429b10
call fcn.00406330
test al, al
je 0x402a76
mov edx, str.Detected_other_ServiSign_is_running
mov ecx, esi
call fcn.00405440
mov edx, str.Stop_other_ServiSign
mov ecx, esi
call fcn.00405440
push 0xffffffffffffffff
xor dl, dl
mov ecx, str.ServiSignWorker.exe__stop
call fcn.00405ed0
pop ecx
mov edx, esi
mov ecx, str.Start_import_CA_cert
call fcn.00404c60
push 0xbb8
mov dl, 1
mov ecx, str.importCACertFirefoxV2.bat
call fcn.00405ed0
test eax, eax
push ecx
sete dl
mov ecx, str.Import_Firefox_cert_state:
call fcn.00405710
pop ecx
lea eax, [esp + 0x33]
pop ecx
mov dword [0x431188], eax
call fcn.00409bd0
mov edi, str._Keeper_
jmp 0x402ac5
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp byte [esp + 0x2f], 0
jne 0x402aba
xor eax, eax
mov esi, eax
mov edx, str.Start_ServiSign_main_program
mov ecx, 0x4299e8
call fcn.00404c60
push esi
push str.BOKServiSign.exe
push str._s__d
push 0x200
push 0x430310
call fcn.0040111f
add esp, 0x14
lea ecx, [esp + 0x1c]
mov edx, 0x430310
call fcn.00403ce0
mov ecx, eax
call fcn.004012e7
push 0xffffffffffffffff
xor dl, dl
mov ecx, dword [eax]
call fcn.00405ed0
pop ecx
mov ecx, dword [esp + 0x1c]
test ecx, ecx
je 0x402b30
call fcn.00401375
xor eax, eax
mov dword [esp + 0x1c], eax
cmp byte [esp + 0x2f], 0
jne 0x402b52
cmp esi, 0x3f
jne 0x402b4a
mov edx, str.Restart_main_program_too_times__shutdown_Keeper
mov ecx, edi
call fcn.00404c60
mov bl, 1
inc esi
cmp esi, 0x40
jl 0x402ad0
jmp 0x402b5e
mov edx, str.Detect_user_switch_out_event__into_sleep_mode
mov ecx, edi
call fcn.00404c60
test bl, bl
je 0x402ac5
mov eax, dword [esp + 0x20]
test eax, eax
je 0x402b75
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov edi, dword [esp + 0x24]
test edi, edi
je 0x402b84
push edi
call fcn.004131f1
pop ecx
cmp byte [esp + 0x13], 0
je 0x402b90
call fcn.00407530
xor eax, eax
mov ecx, dword [esp + 0x1a8c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0040cad5
mov esp, ebp
pop ebp
ret 0x10
call fcn.0040cc0e
int3