Function at 0x4245e0
Capabilities:
Create process on windows
Print debug messages

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5cd644
mov eax, dword fs:[0]
push eax
sub esp, 0x654
mov eax, dword [0x664340]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x60c], ecx
mov edi, dword [ebp + 8]
lea ecx, [ebp - 0x468]
xor eax, eax
mov dword [ebp - 0x5f4], edi
push eax
push 0x6568a4
mov dword [ebp - 0x458], 0
mov dword [ebp - 0x454], 7
mov word [ebp - 0x468], ax
call fcn.00403240
xor eax, eax
mov dword [ebp - 4], 0
push eax
push 0x6568a4
lea ecx, [ebp - 0x450]
mov dword [ebp - 0x440], 0
mov dword [ebp - 0x43c], 7
mov word [ebp - 0x450], ax
call fcn.00403240
push str.daa9
push edi
mov byte [ebp - 4], 1
call fcn.00425c10
push str.cf6d
push edi
mov dword [ebp - 0x604], eax
call fcn.00425c10
push str.63b8
push edi
mov dword [ebp - 0x600], eax
call fcn.00425c10
push str.a9e7
push edi
mov dword [ebp - 0x5fc], eax
call fcn.00425c10
push str.8744
push edi
mov dword [ebp - 0x5f8], eax
call fcn.00425c10
push str.624f
push edi
mov esi, eax
call fcn.00425c10
push str.59b8
push edi
mov dword [ebp - 0x610], eax
call fcn.00425c10
push str.9684
push edi
mov dword [ebp - 0x5b8], eax
call fcn.00425c10
add esp, 0x40
mov dword [ebp - 0x5e8], eax
push str.d55f
push edi
call fcn.00425c10
push str.c10b
push edi
mov dword [ebp - 0x5ec], eax
call fcn.00425c10
push str.e542
push edi
mov dword [ebp - 0x5f0], eax
call fcn.00425c10
push str.96f7
push edi
mov dword [ebp - 0x5c0], eax
call fcn.00425c10
push str.3330
push edi
mov dword [ebp - 0x5cc], eax
call fcn.00425c10
push str.13f2
push edi
mov dword [ebp - 0x608], eax
call fcn.00425c10
add esp, 0x30
mov byte [ebp - 0x5ae], 0
mov edi, eax
mov eax, dword [ebp - 0x5c0]
mov byte [ebp - 0x5b1], 0
test eax, eax
je 0x424796
push eax
call fcn.0045585a
add esp, 4
mov byte [ebp - 0x5ae], al
test edi, edi
je 0x4247a9
push edi
call fcn.0045585a
add esp, 4
mov byte [ebp - 0x5b1], al
cmp byte [ebp - 0x5ae], 0
je 0x4247c7
push 1
push str.2d8c5
push 1
call fcn.004081d0
mov ecx, eax
call fcn.00410ae0
push 0xb
xor eax, eax
mov dword [ebp - 0x470], 0
push 0x5d4df4
lea ecx, [ebp - 0x480]
mov dword [ebp - 0x46c], 7
mov word [ebp - 0x480], ax
call fcn.00403240
push 3
push 0x5d7a34
lea ecx, [ebp - 0x480]
mov byte [ebp - 4], 2
call fcn.004058f0
cmp dword [ebp - 0x46c], 8
lea eax, [ebp - 0x480]
lea ecx, [ebp - 0x618]
cmovae eax, dword [ebp - 0x480]
push eax
call fcn.0045b7d9
lea ecx, [ebp - 0x618]
mov byte [ebp - 4], 3
call fcn.0044b9e0
test eax, eax
je 0x424874
cmp byte [ebp - 0x5ae], 0
je 0x42485d
push 1
push str.f2901
push 1
call fcn.004081d0
mov ecx, eax
call fcn.00410ae0
push str.ExitMutex_r_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov byte [ebp - 0x5a9], 0
jmp 0x425acb
lea ecx, [ebp - 0x624]
call fcn.0045ff39
lea eax, [ebp - 0x4e0]
mov byte [ebp - 4], 4
push eax
lea ecx, [ebp - 0x624]
call fcn.0046419c
mov byte [ebp - 4], 5
call fcn.00404470
mov ecx, eax
call fcn.00439fe0
push 0
push 0x6568a4
push 0x5d5d88
lea eax, [ebp - 0x528]
push str.BKApp
push eax
call fcn.00404470
mov ecx, eax
call fcn.0044f3be
push 0
mov dword [ebp - 0x5bc], 1
mov dword [ebp - 0x5d0], 1
mov dword [ebp - 0x5c4], 0
mov dword [ebp - 0x5c8], 1
mov dword [ebp - 0x5e0], 0
mov dword [ebp - 0x5d4], 1
mov dword [ebp - 0x5e4], 0
mov byte [ebp - 0x5d8], 0
call fcn.00474f26
mov dword [ebp - 0x5dc], eax
add esp, 4
xor eax, eax
mov dword [ebp - 0x4a0], 0
mov dword [ebp - 0x49c], 7
mov word [ebp - 0x4b0], ax
mov ecx, dword [ebp - 0x60c]
mov byte [ebp - 4], 7
call fcn.004177c0
mov dword [ebp - 0x5c0], eax
test eax, eax
jne 0x42496b
push eax
call fcn.00474f26
add esp, 4
mov dword [ebp - 0x5c0], eax
push eax
lea eax, [ebp - 0x4f8]
push eax
call fcn.0045b5c3
add esp, 8
mov eax, dword [ebp - 0x608]
mov byte [ebp - 4], 8
test eax, eax
je 0x42499b
push eax
call fcn.0045585a
movzx eax, al
add esp, 4
mov dword [ebp - 0x5e4], eax
mov edx, dword [ebp - 0x604]
test edx, edx
je 0x424ac5
mov ecx, edx
lea edi, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4249b0
sub ecx, edi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x468]
call fcn.00403240
cmp dword [ebp - 0x5e4], 0
je 0x424af2
push 0x208
lea eax, [ebp - 0x218]
mov byte [ebp - 0x5aa], 0
push 0
push eax
mov byte [ebp - 0x5b0], 0
mov byte [ebp - 0x5af], 0
mov byte [ebp - 0x5a9], 0
mov byte [ebp - 0x5b4], 0
call fcn.0046cf80
add esp, 0xc
lea eax, [ebp - 0x5b4]
lea ecx, [ebp - 0x624]
push eax
lea eax, [ebp - 0x5a9]
push eax
lea eax, [ebp - 0x5af]
push eax
lea eax, [ebp - 0x5b0]
push eax
lea eax, [ebp - 0x5aa]
push eax
call fcn.004622d0
xor eax, eax
cmp byte [ebp - 0x5a9], al
setne al
push eax
xor eax, eax
cmp byte [ebp - 0x5af], al
setne al
push eax
xor eax, eax
cmp byte [ebp - 0x5b0], al
setne al
push eax
xor eax, eax
cmp byte [ebp - 0x5aa], al
setne al
push eax
lea eax, [ebp - 0x218]
push str.__d_d_d_d
push eax
call fcn.00405db0
mov eax, dword [ebp - 0x458]
lea ecx, [ebp - 0x218]
xor edx, edx
lea edi, [ecx + 2]
add esp, 0x18
add eax, 0xfffffffa
cmovns edx, eax
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x424aa0
sub ecx, edi
lea eax, [ebp - 0x218]
sar ecx, 1
push ecx
push eax
push edx
lea ecx, [ebp - 0x468]
call fcn.00425f30
jmp 0x424af2
call fcn.00404470
mov ecx, eax
call fcn.00439ba0
mov edx, eax
lea edi, [edx + 2]
mov cx, word [edx]
add edx, 2
test cx, cx
jne 0x424ad6
sub edx, edi
lea ecx, [ebp - 0x468]
sar edx, 1
push edx
push eax
call fcn.00403240
lea eax, [ebp - 0x528]
push 0x6568a4
push eax
call fcn.004239f0
add esp, 8
test al, al
je 0x424b30
cmp dword [ebp - 0x514], 8
lea eax, [ebp - 0x528]
push dword [ebp - 0x518]
cmovae eax, dword [ebp - 0x528]
lea ecx, [ebp - 0x450]
push eax
call fcn.00403240
mov edi, dword [ebp - 0x600]
test edi, edi
je 0x424b5c
mov ecx, edi
lea edx, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x424b40
sub ecx, edx
sar ecx, 1
push ecx
push edi
lea ecx, [ebp - 0x450]
call fcn.00403240
mov eax, dword [ebp - 0x5fc]
test eax, eax
je 0x424b78
push eax
call fcn.0045585a
movzx eax, al
add esp, 4
mov dword [ebp - 0x5c8], eax
mov eax, dword [ebp - 0x5f8]
test eax, eax
je 0x424b94
push eax
call fcn.0045585a
movzx eax, al
add esp, 4
mov dword [ebp - 0x5bc], eax
mov eax, dword [ebp - 0x610]
test eax, eax
je 0x424bb0
push eax
call fcn.0045585a
movzx eax, al
add esp, 4
mov dword [ebp - 0x5d0], eax
mov eax, dword [ebp - 0x5e8]
test eax, eax
je 0x424bcc
push eax
call fcn.0045585a
movzx eax, al
add esp, 4
mov dword [ebp - 0x5c4], eax
mov eax, dword [ebp - 0x5ec]
test eax, eax
je 0x424be8
push eax
call fcn.0045585a
movzx eax, al
add esp, 4
mov dword [ebp - 0x5d4], eax
mov eax, dword [ebp - 0x5f0]
test eax, eax
je 0x424c04
push eax
call fcn.0045585a
movzx eax, al
add esp, 4
mov dword [ebp - 0x5e0], eax
mov eax, dword [ebp - 0x5cc]
test eax, eax
je 0x424c39
push eax
call fcn.0045585a
add esp, 4
mov byte [ebp - 0x5d8], al
test al, al
je 0x424c39
push 1
push str.52ed2
push str.BKApp
call fcn.00404470
mov ecx, eax
call fcn.00450cfe
cmp dword [ebp + 0xc], 0
je 0x424ce8
mov edi, dword [ebp - 0x5b8]
test edi, edi
je 0x424c70
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x424c52
sub ecx, edx
sar ecx, 1
push ecx
push edi
lea ecx, [ebp - 0x4b0]
call fcn.00403240
jmp 0x424ce8
call fcn.00404470
mov ecx, eax
call fcn.0044f059
push eax
lea ecx, [ebp - 0x438]
call fcn.00403040
push 8
push 0x5d4934
lea ecx, [ebp - 0x438]
mov byte [ebp - 4], 9
call fcn.004058f0
cmp dword [ebp - 0x424], 8
lea eax, [ebp - 0x438]
cmovae eax, dword [ebp - 0x438]
push eax
lea eax, [ebp - 0x540]
push eax
call fcn.00464963
add esp, 8
lea ecx, [ebp - 0x4b0]
push eax
call fcn.00406eb0
lea ecx, [ebp - 0x540]
call fcn.00402fe0
lea ecx, [ebp - 0x438]
mov byte [ebp - 4], 8
call fcn.00402fe0
push 0
push str.updsp
lea ecx, [ebp - 0x468]
call fcn.00425e60
mov edi, eax
lea ecx, [ebp - 0x468]
not edi
push 0
shr edi, 0x1f
push str.uninstall
mov dword [ebp - 0x5b8], edi
call fcn.00425e60
cmp eax, 0xffffffff
mov ecx, 1
lea eax, [ebp - 0x4e0]
push eax
lea eax, [ebp - 0x558]
cmovg edi, ecx
push eax
call fcn.00455f69
push dword [ebp - 0x5d4]
cmp dword [ebp - 0x43c], 8
lea edx, [ebp - 0x450]
push edi
push dword [ebp - 0x5c8]
cmovae edx, dword [ebp - 0x450]
lea ecx, [ebp - 0x468]
push dword [ebp - 0x5c4]
cmp dword [ebp - 0x454], 8
lea eax, [ebp - 0x558]
push dword [ebp - 0x5d0]
cmovae ecx, dword [ebp - 0x468]
push dword [ebp - 0x5bc]
cmp dword [ebp - 0x544], 8
push edx
cmovae eax, dword [ebp - 0x558]
push ecx
push eax
push 0x66
mov byte [ebp - 4], 0xa
call fcn.00451635
add esp, 0x30
cmp dword [ebp - 0x5c8], 0
je 0x424ea6
test edi, edi
jne 0x424e0c
cmp dword [ebp - 0x4d0], 1
jbe 0x424e0c
cmp dword [ebp - 0x4cc], 0x10
lea eax, [ebp - 0x4e0]
cmovae eax, dword [ebp - 0x4e0]
cmp byte [eax + 1], 0x31
jne 0x424e0c
cmp byte [ebp - 0x5ae], 0
je 0x424df5
push 1
push str.19614
push 1
call fcn.004081d0
mov ecx, eax
call fcn.00410ae0
push str.ExitHR_r_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov byte [ebp - 0x5a9], 0
jmp 0x425a3f
cmp dword [ebp - 0x5e0], 0
jne 0x424eed
test edi, edi
jne 0x424eed
lea ecx, [ebp - 0x5a9]
call fcn.004087a0
cmp dword [ebp - 0x454], 8
lea eax, [ebp - 0x468]
lea ecx, [ebp - 0x5a9]
mov byte [ebp - 4], 0xb
cmovae eax, dword [ebp - 0x468]
push eax
call fcn.00417350
test eax, eax
je 0x424e9e
cmp byte [ebp - 0x5ae], 0
je 0x424e72
push 1
push str.deb11
push 1
call fcn.004081d0
mov ecx, eax
call fcn.00410ae0
push str.ExitRepeatInst_r_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
push 0x68
call fcn.00451635
add esp, 4
lea ecx, [ebp - 0x5a9]
call fcn.00403e70
mov byte [ebp - 0x5a9], 0
jmp 0x425a3f
lea ecx, [ebp - 0x5a9]
jmp 0x424ee4
lea ecx, [ebp - 0x5aa]
call fcn.004087a0
lea ecx, [ebp - 0x5aa]
mov byte [ebp - 4], 0xc
call fcn.00417500
cmp byte [ebp - 0x5ae], 0
je 0x424ede
push 1
push str.052f8
push 1
call fcn.004081d0
mov ecx, eax
call fcn.00410ae0
lea ecx, [ebp - 0x5aa]
mov byte [ebp - 4], 0xa
call fcn.00403e70
test esi, esi
je 0x424f94
mov eax, 0x5d7aac
nop word [eax + eax]
mov cx, word [esi]
cmp cx, word [eax]
jne 0x424f26
test cx, cx
je 0x424f22
mov cx, word [esi + 2]
cmp cx, word [eax + 2]
jne 0x424f26
add esi, 4
add eax, 4
test cx, cx
jne 0x424f00
xor eax, eax
jmp 0x424f2b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x424f94
call fcn.00404470
mov ecx, eax
call fcn.0044f059
push eax
lea ecx, [ebp - 0x438]
call fcn.00403040
push 8
push str.BKMo.exe
lea ecx, [ebp - 0x438]
mov byte [ebp - 4], 0xd
call fcn.004058f0
cmp dword [ebp - 0x424], 8
lea eax, [ebp - 0x438]
push 0
cmovae eax, dword [ebp - 0x438]
push 0
push 0
push 0x5d7ab8
push eax
call fcn.0045202f
add esp, 0x14
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x438]
call fcn.00402fe0
cmp dword [ebp - 0x440], 0
jne 0x425000
push 1
push 0x6568a4
push 0x5d5d88
lea eax, [ebp - 0x540]
push str.BKApp
push eax
call fcn.00404470
mov ecx, eax
call fcn.0044f3be
mov esi, eax
lea eax, [ebp - 0x450]
cmp eax, esi
je 0x425039
mov ecx, eax
call fcn.00402fe0
movups xmm0, xmmword [esi]
xor eax, eax
movups xmmword [ebp - 0x450], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [ebp - 0x440], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 7
mov word [esi], ax
jmp 0x425039
cmp dword [ebp - 0x5c4], 0
je 0x425044
push 1
push 0x6568a4
push 0x5d5d88
lea eax, [ebp - 0x540]
push str.BKApp
push eax
call fcn.00404470
mov ecx, eax
call fcn.0044f3be
push eax
lea ecx, [ebp - 0x450]
call fcn.00406eb0
lea ecx, [ebp - 0x540]
call fcn.00402fe0
call fcn.00454527
test eax, eax
je 0x425073
push 1
push 0x69
call fcn.00451635
add esp, 8
push 1
push 0x5d6e0c
push str.BKSetting
call fcn.00404470
mov ecx, eax
call fcn.00450d9e
jmp 0x42507f
push 0
push 0x69
call fcn.00451635
add esp, 8
lea eax, [ebp - 0x468]
push eax
lea ecx, [ebp - 0x498]
call fcn.00403ce0
lea eax, [ebp - 0x450]
mov byte [ebp - 4], 0xe
push eax
lea ecx, [ebp - 0x4c8]
call fcn.00403ce0
lea eax, [ebp - 0x498]
mov byte [ebp - 4], 0xf
push eax
call fcn.004560e5
lea eax, [ebp - 0x450]
push eax
call fcn.004560e5
add esp, 8
mov dword [ebp - 0x428], 0
xor eax, eax
mov dword [ebp - 0x424], 7
lea ecx, [ebp - 0x438]
mov word [ebp - 0x438], ax
push 6
push 0x5d79f8
call fcn.00403240
lea eax, [ebp - 0x4f8]
mov byte [ebp - 4], 0x10
push eax
lea eax, [ebp - 0x438]
push eax
lea eax, [ebp - 0x498]
push eax
call fcn.00455b97
add esp, 0xc
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x438]
call fcn.00402fe0
push 6
xor eax, eax
mov dword [ebp - 0x428], 0
push 0x5d79f8
lea ecx, [ebp - 0x438]
mov dword [ebp - 0x424], 7
mov word [ebp - 0x438], ax
call fcn.00403240
lea eax, [ebp - 0x4f8]
mov byte [ebp - 4], 0x11
push eax
lea eax, [ebp - 0x438]
push eax
lea eax, [ebp - 0x4c8]
push eax
call fcn.00455b97
add esp, 0xc
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x438]
call fcn.00402fe0
mov edi, dword [ebp - 0x5bc]
test edi, edi
je 0x4251ff
lea ecx, [ebp - 0x5aa]
call fcn.004087a0
cmp dword [ebp - 0x484], 8
lea ecx, [ebp - 0x498]
lea eax, [ebp - 0x4c8]
mov byte [ebp - 4], 0x12
cmovae ecx, dword [ebp - 0x498]
cmp dword [ebp - 0x4b4], 8
push ecx
cmovae eax, dword [ebp - 0x4c8]
lea ecx, [ebp - 0x5aa]
push eax
call fcn.004388b0
cmp byte [ebp - 0x5ae], 0
je 0x4251f0
push 1
push str.3cde3
push 1
call fcn.004081d0
mov ecx, eax
call fcn.00410ae0
lea ecx, [ebp - 0x5aa]
mov byte [ebp - 4], 0xf
call fcn.00403e70
call fcn.00404470
mov ecx, eax
call fcn.00450976
cmp dword [ebp - 0x5b8], 0
je 0x425546
push 0
push str.InstallTime
push str.BKApp
call fcn.00404470
mov ecx, eax
call fcn.0044f259
push 0
push str.InstallTime
push str.BKSetting
mov esi, eax
call fcn.00404470
mov ecx, eax
call fcn.0044f5b5
push 0
push str.FirstInstallTime
push str.BKApp
mov edi, eax
call fcn.00404470
mov ecx, eax
call fcn.0044f259
push 0
push str.FirstInstallTime
push str.BKSetting
mov dword [ebp - 0x5b8], eax
call fcn.00404470
mov ecx, eax
call fcn.0044f5b5
test esi, esi
mov dword [ebp - 0x5cc], eax
mov esi, dword [ebp - 0x5dc]
jne 0x4252a9
push esi
push str.InstallTime
push str.BKApp
call fcn.00404470
mov ecx, eax
call fcn.00450cfe
test edi, edi
jne 0x4252c4
push esi
push str.InstallTime
push str.BKSetting
call fcn.00404470
mov ecx, eax
call fcn.00450d9e
cmp dword [ebp - 0x5b8], 0
jne 0x4252e4
push esi
push str.FirstInstallTime
push str.BKApp
call fcn.00404470
mov ecx, eax
call fcn.00450cfe
cmp dword [ebp - 0x5cc], 0
jne 0x425304
push esi
push str.FirstInstallTime
push str.BKSetting
call fcn.00404470
mov ecx, eax
call fcn.00450d9e
mov edi, dword [ebp - 0x5bc]
cmp byte [ebp - 0x5d8], 0
jne 0x42535f
push 0xffffffffffffffff
push str.52ed2
push str.BKApp
call fcn.00404470
mov ecx, eax
call fcn.0044f259
test eax, eax
jle 0x42535f
push 0
push str.52ed2
push str.BKApp
call fcn.00404470
mov ecx, eax
call fcn.00450cfe
push 0
push str.100b0
push str.BKApp
call fcn.00404470
mov ecx, eax
call fcn.00450cfe
lea ecx, [ebp - 0x5b3]
call fcn.004087a0
cmp dword [ebp - 0x49c], 8
lea edx, [ebp - 0x4b0]
push dword [ebp - 0x5d8]
cmovae edx, dword [ebp - 0x4b0]
lea ecx, [ebp - 0x498]
cmp dword [ebp - 0x484], 8
lea eax, [ebp - 0x4c8]
push edx
cmovae ecx, dword [ebp - 0x498]
cmp dword [ebp - 0x4b4], 8
push ecx
cmovae eax, dword [ebp - 0x4c8]
lea ecx, [ebp - 0x5b3]
push eax
push dword [ebp - 0x5d4]
mov byte [ebp - 4], 0x13
push edi
push dword [ebp - 0x5d0]
push dword [ebp - 0x5c8]
call fcn.0041b870
cmp byte [ebp - 0x5ae], 0
je 0x4253ef
push 1
push str.7277c
push 1
call fcn.004081d0
mov ecx, eax
call fcn.00410ae0
lea ecx, [ebp - 0x5b2]
call fcn.004087a0
lea ecx, [ebp - 0x5b2]
mov byte [ebp - 4], 0x14
call fcn.00414930
lea ecx, [ebp - 0x5a8]
call fcn.00432980
push 0x208
lea eax, [ebp - 0x420]
mov byte [ebp - 4], 0x15
push 0
push eax
call fcn.0046cf80
push dword [ebp - 0x5c0]
lea eax, [ebp - 0x420]
push 0x5d4a54
push eax
call fcn.00405db0
add esp, 0x18
lea esi, [ebp - 0x4b0]
cmp dword [ebp - 0x49c], 8
lea edx, [ebp - 0x498]
lea ecx, [ebp - 0x4c8]
cmovae esi, dword [ebp - 0x4b0]
cmp dword [ebp - 0x484], 8
push dword [ebp - 0x5ae]
cmovae edx, dword [ebp - 0x498]
cmp dword [ebp - 0x4b4], 8
cmovae ecx, dword [ebp - 0x4c8]
cmp dword [ebp + 0xc], 0
setne al
movzx eax, al
push eax
push dword [ebp - 0x5c4]
lea eax, [ebp - 0x420]
push 0
push eax
push esi
push edx
push ecx
lea ecx, [ebp - 0x5a8]
call fcn.00432ac0
cmp byte [ebp - 0x5ae], 0
je 0x4254cd
push 1
push str.7bfcf
push 1
call fcn.004081d0
mov ecx, eax
call fcn.00410ae0
lea eax, [ebp - 0x510]
push eax
lea ecx, [ebp - 0x5a8]
call fcn.00434810
cmp dword [ebp - 0x4e4], 8
lea ecx, [ebp - 0x4f8]
mov edx, dword [ebp - 0x500]
lea esi, [ebp - 0x510]
cmovae ecx, dword [ebp - 0x4f8]
cmp dword [ebp - 0x4fc], 8
mov edi, dword [ebp - 0x4e8]
cmovae esi, dword [ebp - 0x510]
mov byte [ebp - 4], 0x16
cmp edx, edi
jne 0x4255ad
test edx, edx
je 0x4256d0
sub esi, ecx
nop dword [eax]
mov ax, word [esi + ecx]
cmp ax, word [ecx]
jne 0x4255ad
add ecx, 2
sub edx, 1
jne 0x425530
jmp 0x4256d0
mov esi, dword [ebp - 0x5dc]
push esi
push str.FirstInstallTime
push str.BKApp
call fcn.00404470
mov ecx, eax
call fcn.00450cfe
push esi
push str.FirstInstallTime
push str.BKSetting
call fcn.00404470
mov ecx, eax
call fcn.00450d9e
push esi
push str.InstallTime
push str.BKApp
call fcn.00404470
mov ecx, eax
call fcn.00450cfe
push esi
push str.InstallTime
push str.BKSetting
call fcn.00404470
mov ecx, eax
call fcn.00450d9e
jmp 0x42530a
push 0x5d79f8
lea ecx, [ebp - 0x438]
call fcn.00403040
test edi, edi
je 0x42560d
lea eax, [ebp - 0x4f8]
mov byte [ebp - 4], 0x17
push eax
lea eax, [ebp - 0x438]
push eax
lea eax, [ebp - 0x468]
push eax
call fcn.00455b97
add esp, 0xc
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x438]
call fcn.00402fe0
push 0x5d79f8
lea ecx, [ebp - 0x438]
call fcn.00403040
mov byte [ebp - 4], 0x18
lea eax, [ebp - 0x4f8]
jmp 0x425657
lea eax, [ebp - 0x510]
mov byte [ebp - 4], 0x19
push eax
lea eax, [ebp - 0x438]
push eax
lea eax, [ebp - 0x468]
push eax
call fcn.00455b97
add esp, 0xc
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x438]
call fcn.00402fe0
push 0x5d79f8
lea ecx, [ebp - 0x438]
call fcn.00403040
mov byte [ebp - 4], 0x1a
lea eax, [ebp - 0x510]
push eax
lea eax, [ebp - 0x438]
push eax
lea eax, [ebp - 0x450]
push eax
call fcn.00455b97
add esp, 0xc
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x438]
call fcn.00402fe0
lea ecx, [ebp - 0x5aa]
call fcn.004087a0
cmp dword [ebp - 0x454], 8
lea ecx, [ebp - 0x468]
lea eax, [ebp - 0x450]
mov byte [ebp - 4], 0x1b
cmovae ecx, dword [ebp - 0x468]
cmp dword [ebp - 0x43c], 8
push ecx
cmovae eax, dword [ebp - 0x450]
lea ecx, [ebp - 0x5aa]
push eax
call fcn.004388b0
lea ecx, [ebp - 0x5aa]
mov byte [ebp - 4], 0x16
call fcn.00403e70
cmp byte [ebp - 0x5ae], 0
je 0x4256ee
push 1
push str.c3f0e
push 1
call fcn.004081d0
mov ecx, eax
call fcn.00410ae0
mov eax, dword [0x669314]
test eax, eax
jne 0x425726
push 0x554
call fcn.0044a2e5
add esp, 4
mov dword [ebp - 0x5b8], eax
mov byte [ebp - 4], 0x1c
test eax, eax
je 0x42571b
mov ecx, eax
call fcn.0041d670
jmp 0x42571d
xor eax, eax
mov byte [ebp - 4], 0x16
mov dword [0x669314], eax
mov ecx, eax
call fcn.0041ef90
cmp byte [ebp - 0x5b1], 0
je 0x4259f6
push str.need_power
push 0
call fcn.00451405
add esp, 8
call fcn.004547c7
mov esi, eax
call fcn.00456d06
mov edi, eax
call fcn.00456c20
test esi, esi
jne 0x4259e7
test edi, edi
jne 0x4259e7
test eax, eax
je 0x4259e7
push str.no_power
push edi
call fcn.00451405
add esp, 8
cmp byte [ebp - 0x5ae], 0
je 0x42579f
push edi
push str.power_install_start
push 1
call fcn.004081d0
mov ecx, eax
call fcn.00410ae0
push 0x208
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.0046cf80
add esp, 0xc
lea eax, [ebp - 0x218]
push 0x104
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push 0x38
lea eax, [ebp - 0x65c]
mov dword [ebp - 0x660], 0x3c
push 0
push eax
call fcn.0046cf80
add esp, 0xc
mov dword [ebp - 0x65c], 0x240
lea eax, [ebp - 0x218]
mov dword [ebp - 0x644], 1
mov dword [ebp - 0x650], eax
call fcn.00456d06
test eax, eax
mov ecx, str.runas
lea eax, [ebp - 0x660]
cmovne ecx, dword [ebp - 0x654]
push eax
mov dword [ebp - 0x654], ecx
call dword [sym.imp.SHELL32.dll_ShellExecuteExW]
test eax, eax
jne 0x42588b
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x4c7
jne 0x425864
cmp byte [ebp - 0x5ae], 0
je 0x4259f6
push 0
push str.power_install_err_cancel
push 1
call fcn.004081d0
mov ecx, eax
call fcn.00410ae0
jmp 0x4259f6
cmp byte [ebp - 0x5ae], 0
je 0x4259f6
push 0
push str.power_install_err_other
push 1
call fcn.004081d0
mov ecx, eax
call fcn.00410ae0
jmp 0x4259f6
mov edi, dword [ebp - 0x5f4]
push 0x5d79b0
push 0x5d7b6c
push edi
call fcn.00425c70
cmp dword [ebp - 0x454], 8
lea eax, [ebp - 0x468]
cmovae eax, dword [ebp - 0x468]
push eax
push str.daa9
push edi
call fcn.00425c70
cmp dword [ebp - 0x43c], 8
lea eax, [ebp - 0x450]
cmovae eax, dword [ebp - 0x450]
push eax
push str.cf6d
push edi
call fcn.00425c70
add esp, 0x24
cmp byte [ebp - 0x5ae], 0
je 0x425902
push 0
push str.power_install_succ
push 1
call fcn.004081d0
mov ecx, eax
call fcn.00410ae0
push dword [ebp - 0x628]
call dword [sym.imp.KERNEL32.dll_GetProcessId]
mov esi, eax
mov dword [ebp - 0x428], 0
xor eax, eax
mov dword [ebp - 0x424], 7
mov word [ebp - 0x438], ax
push esi
push str.GetProcessId__d_
push eax
mov byte [ebp - 4], 0x1d
call fcn.00451405
push 0
lea eax, [ebp - 0x438]
push eax
push edi
push esi
call fcn.00467404
add esp, 0x1c
test al, al
jne 0x4259ba
push 1
lea eax, [ebp - 0x438]
push eax
push edi
push esi
call fcn.00467404
add esp, 0x10
test al, al
jne 0x4259ba
cmp dword [ebp - 0x424], 8
lea eax, [ebp - 0x438]
cmovae eax, dword [ebp - 0x438]
push eax
push str.SaveSharemapData_err__s_
push 0
call fcn.00451405
add esp, 0xc
cmp byte [ebp - 0x5ae], 0
je 0x4259da
push 0
push str.power_install_err_mem
push 1
call fcn.004081d0
mov ecx, eax
call fcn.00410ae0
lea ecx, [ebp - 0x438]
call fcn.00402fe0
jmp 0x4259f6
push str.WaitForSingleObject_3_sec
push 0
call fcn.00451405
add esp, 8
push 0xbb8
push dword [ebp - 0x628]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
lea ecx, [ebp - 0x438]
call fcn.00402fe0
jmp 0x4259f6
push str.have_power
push 0
call fcn.00451405
add esp, 8
lea ecx, [ebp - 0x510]
mov byte [ebp - 0x5a9], 1
call fcn.00402fe0
lea ecx, [ebp - 0x5a8]
call fcn.004329d0
lea ecx, [ebp - 0x5b2]
call fcn.00403e70
lea ecx, [ebp - 0x5b3]
call fcn.00403e70
lea ecx, [ebp - 0x4c8]
call fcn.00402fe0
lea ecx, [ebp - 0x498]
call fcn.00402fe0
lea ecx, [ebp - 0x558]
call fcn.00402fe0
lea ecx, [ebp - 0x4f8]
call fcn.00402fe0
lea ecx, [ebp - 0x4b0]
call fcn.00402fe0
lea ecx, [ebp - 0x528]
call fcn.00402fe0
mov edx, dword [ebp - 0x4cc]
cmp edx, 0x10
jb 0x425aa5
mov ecx, dword [ebp - 0x4e0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x425a9b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x425bef
push edx
push ecx
call fcn.0044a315
add esp, 8
lea ecx, [ebp - 0x624]
mov dword [ebp - 0x4d0], 0
mov dword [ebp - 0x4cc], 0xf
mov byte [ebp - 0x4e0], 0
call fcn.00403e70
lea ecx, [ebp - 0x618]
call fcn.0045b7ee
mov edx, dword [ebp - 0x46c]
cmp edx, 8
jb 0x425b16
mov ecx, dword [ebp - 0x480]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x425b0c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x425bf4
push edx
push ecx
call fcn.0044a315
add esp, 8
mov edx, dword [ebp - 0x43c]
xor eax, eax
mov dword [ebp - 0x470], 0
mov dword [ebp - 0x46c], 7
mov word [ebp - 0x480], ax
cmp edx, 8
jb 0x425b73
mov ecx, dword [ebp - 0x450]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x425b69
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x425bf9
push edx
push ecx
call fcn.0044a315
add esp, 8
mov edx, dword [ebp - 0x454]
xor eax, eax
mov dword [ebp - 0x440], 0
mov dword [ebp - 0x43c], 7
mov word [ebp - 0x450], ax
cmp edx, 8
jb 0x425bcc
mov ecx, dword [ebp - 0x468]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x425bc2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x425bfe
push edx
push ecx
call fcn.0044a315
add esp, 8
mov al, byte [ebp - 0x5a9]
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.0044a851
mov esp, ebp
pop ebp
ret 8
call fcn.00470179
call fcn.00470179
call fcn.00470179
call fcn.00470179
int3