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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5cd774
mov eax, dword fs:[0]
push eax
sub esp, 0x654
mov eax, dword [0x667ce0]
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 0x656858
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 0x656858
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.00425d30
push str.cf6d
push edi
mov dword [ebp - 0x604], eax
call fcn.00425d30
push str.63b8
push edi
mov dword [ebp - 0x600], eax
call fcn.00425d30
push str.a9e7
push edi
mov dword [ebp - 0x5fc], eax
call fcn.00425d30
push str.8744
push edi
mov dword [ebp - 0x5f8], eax
call fcn.00425d30
push str.624f
push edi
mov esi, eax
call fcn.00425d30
push str.59b8
push edi
mov dword [ebp - 0x610], eax
call fcn.00425d30
push str.9684
push edi
mov dword [ebp - 0x5b8], eax
call fcn.00425d30
add esp, 0x40
mov dword [ebp - 0x5e8], eax
push str.d55f
push edi
call fcn.00425d30
push str.c10b
push edi
mov dword [ebp - 0x5ec], eax
call fcn.00425d30
push str.e542
push edi
mov dword [ebp - 0x5f0], eax
call fcn.00425d30
push str.96f7
push edi
mov dword [ebp - 0x5c0], eax
call fcn.00425d30
push str.3330
push edi
mov dword [ebp - 0x5cc], eax
call fcn.00425d30
push str.13f2
push edi
mov dword [ebp - 0x608], eax
call fcn.00425d30
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 0x4248b6
push eax
call fcn.00443922
add esp, 4
mov byte [ebp - 0x5ae], al
test edi, edi
je 0x4248c9
push edi
call fcn.00443922
add esp, 4
mov byte [ebp - 0x5b1], al
cmp byte [ebp - 0x5ae], 0
je 0x4248e7
push 1
push str.2d8c5
push 1
call fcn.004081a0
mov ecx, eax
call fcn.00410ab0
push 0xb
xor eax, eax
mov dword [ebp - 0x470], 0
push 0x5d4e0c
lea ecx, [ebp - 0x480]
mov dword [ebp - 0x46c], 7
mov word [ebp - 0x480], ax
call fcn.00403240
push 3
push 0x5d7a3c
lea ecx, [ebp - 0x480]
mov byte [ebp - 4], 2
call fcn.00405a30
cmp dword [ebp - 0x46c], 8
lea eax, [ebp - 0x480]
lea ecx, [ebp - 0x618]
cmovae eax, dword [ebp - 0x480]
push eax
call fcn.0044a4b2
lea ecx, [ebp - 0x618]
mov byte [ebp - 4], 3
call fcn.0044a500
test eax, eax
je 0x424994
cmp byte [ebp - 0x5ae], 0
je 0x42497d
push 1
push str.f2901
push 1
call fcn.004081a0
mov ecx, eax
call fcn.00410ab0
push str.ExitMutex_r_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov byte [ebp - 0x5a9], 0
jmp 0x425beb
lea ecx, [ebp - 0x624]
call fcn.0044ed0d
lea eax, [ebp - 0x4e0]
mov byte [ebp - 4], 4
push eax
lea ecx, [ebp - 0x624]
call fcn.00452f70
mov byte [ebp - 4], 5
call fcn.00404590
mov ecx, eax
call fcn.0043a100
push 0
push 0x656858
push 0x5d5da0
lea eax, [ebp - 0x528]
push str.BKApp
push eax
call fcn.00404590
mov ecx, eax
call fcn.0043cd5d
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.005aa5a6
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.00417770
mov dword [ebp - 0x5c0], eax
test eax, eax
jne 0x424a8b
push eax
call fcn.005aa5a6
add esp, 4
mov dword [ebp - 0x5c0], eax
push eax
lea eax, [ebp - 0x4f8]
push eax
call fcn.0044a29c
add esp, 8
mov eax, dword [ebp - 0x608]
mov byte [ebp - 4], 8
test eax, eax
je 0x424abb
push eax
call fcn.00443922
movzx eax, al
add esp, 4
mov dword [ebp - 0x5e4], eax
mov edx, dword [ebp - 0x604]
test edx, edx
je 0x424be5
mov ecx, edx
lea edi, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x424ad0
sub ecx, edi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x468]
call fcn.00403240
cmp dword [ebp - 0x5e4], 0
je 0x424c12
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.005a2240
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.004510a4
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.00405d80
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 0x424bc0
sub ecx, edi
lea eax, [ebp - 0x218]
sar ecx, 1
push ecx
push eax
push edx
lea ecx, [ebp - 0x468]
call fcn.00426050
jmp 0x424c12
call fcn.00404590
mov ecx, eax
call fcn.00439cc0
mov edx, eax
lea edi, [edx + 2]
mov cx, word [edx]
add edx, 2
test cx, cx
jne 0x424bf6
sub edx, edi
lea ecx, [ebp - 0x468]
sar edx, 1
push edx
push eax
call fcn.00403240
lea eax, [ebp - 0x528]
push 0x656858
push eax
call fcn.00423b10
add esp, 8
test al, al
je 0x424c50
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 0x424c7c
mov ecx, edi
lea edx, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x424c60
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 0x424c98
push eax
call fcn.00443922
movzx eax, al
add esp, 4
mov dword [ebp - 0x5c8], eax
mov eax, dword [ebp - 0x5f8]
test eax, eax
je 0x424cb4
push eax
call fcn.00443922
movzx eax, al
add esp, 4
mov dword [ebp - 0x5bc], eax
mov eax, dword [ebp - 0x610]
test eax, eax
je 0x424cd0
push eax
call fcn.00443922
movzx eax, al
add esp, 4
mov dword [ebp - 0x5d0], eax
mov eax, dword [ebp - 0x5e8]
test eax, eax
je 0x424cec
push eax
call fcn.00443922
movzx eax, al
add esp, 4
mov dword [ebp - 0x5c4], eax
mov eax, dword [ebp - 0x5ec]
test eax, eax
je 0x424d08
push eax
call fcn.00443922
movzx eax, al
add esp, 4
mov dword [ebp - 0x5d4], eax
mov eax, dword [ebp - 0x5f0]
test eax, eax
je 0x424d24
push eax
call fcn.00443922
movzx eax, al
add esp, 4
mov dword [ebp - 0x5e0], eax
mov eax, dword [ebp - 0x5cc]
test eax, eax
je 0x424d59
push eax
call fcn.00443922
add esp, 4
mov byte [ebp - 0x5d8], al
test al, al
je 0x424d59
push 1
push str.52ed2
push str.BKApp
call fcn.00404590
mov ecx, eax
call fcn.0043e69d
cmp dword [ebp + 0xc], 0
je 0x424e08
mov edi, dword [ebp - 0x5b8]
test edi, edi
je 0x424d90
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x424d72
sub ecx, edx
sar ecx, 1
push ecx
push edi
lea ecx, [ebp - 0x4b0]
call fcn.00403240
jmp 0x424e08
call fcn.00404590
mov ecx, eax
call fcn.0043c9f8
push eax
lea ecx, [ebp - 0x438]
call fcn.00403040
push 8
push 0x5d493c
lea ecx, [ebp - 0x438]
mov byte [ebp - 4], 9
call fcn.00405a30
cmp dword [ebp - 0x424], 8
lea eax, [ebp - 0x438]
cmovae eax, dword [ebp - 0x438]
push eax
lea eax, [ebp - 0x540]
push eax
call fcn.00453737
add esp, 8
lea ecx, [ebp - 0x4b0]
push eax
call fcn.00406e80
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.00425f80
mov edi, eax
lea ecx, [ebp - 0x468]
not edi
push 0
shr edi, 0x1f
push str.uninstall
mov dword [ebp - 0x5b8], edi
call fcn.00425f80
cmp eax, 0xffffffff
mov ecx, 1
lea eax, [ebp - 0x4e0]
push eax
lea eax, [ebp - 0x558]
cmovg edi, ecx
push eax
call fcn.00444031
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.0043f1dd
add esp, 0x30
cmp dword [ebp - 0x5c8], 0
je 0x424fc6
test edi, edi
jne 0x424f2c
cmp dword [ebp - 0x4d0], 1
jbe 0x424f2c
cmp dword [ebp - 0x4cc], 0x10
lea eax, [ebp - 0x4e0]
cmovae eax, dword [ebp - 0x4e0]
cmp byte [eax + 1], 0x31
jne 0x424f2c
cmp byte [ebp - 0x5ae], 0
je 0x424f15
push 1
push str.19614
push 1
call fcn.004081a0
mov ecx, eax
call fcn.00410ab0
push str.ExitHR_r_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov byte [ebp - 0x5a9], 0
jmp 0x425b5f
cmp dword [ebp - 0x5e0], 0
jne 0x42500d
test edi, edi
jne 0x42500d
lea ecx, [ebp - 0x5a9]
call fcn.00408770
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.00417300
test eax, eax
je 0x424fbe
cmp byte [ebp - 0x5ae], 0
je 0x424f92
push 1
push str.deb11
push 1
call fcn.004081a0
mov ecx, eax
call fcn.00410ab0
push str.ExitRepeatInst_r_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
push 0x68
call fcn.0043f1dd
add esp, 4
lea ecx, [ebp - 0x5a9]
call fcn.00403eb0
mov byte [ebp - 0x5a9], 0
jmp 0x425b5f
lea ecx, [ebp - 0x5a9]
jmp 0x425004
lea ecx, [ebp - 0x5aa]
call fcn.00408770
lea ecx, [ebp - 0x5aa]
mov byte [ebp - 4], 0xc
call fcn.004174b0
cmp byte [ebp - 0x5ae], 0
je 0x424ffe
push 1
push str.052f8
push 1
call fcn.004081a0
mov ecx, eax
call fcn.00410ab0
lea ecx, [ebp - 0x5aa]
mov byte [ebp - 4], 0xa
call fcn.00403eb0
test esi, esi
je 0x4250b4
mov eax, 0x5d7ab4
nop word [eax + eax]
mov cx, word [esi]
cmp cx, word [eax]
jne 0x425046
test cx, cx
je 0x425042
mov cx, word [esi + 2]
cmp cx, word [eax + 2]
jne 0x425046
add esi, 4
add eax, 4
test cx, cx
jne 0x425020
xor eax, eax
jmp 0x42504b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4250b4
call fcn.00404590
mov ecx, eax
call fcn.0043c9f8
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.00405a30
cmp dword [ebp - 0x424], 8
lea eax, [ebp - 0x438]
push 0
cmovae eax, dword [ebp - 0x438]
push 0
push 0
push 0x5d7ac0
push eax
call fcn.0043fd0f
add esp, 0x14
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x438]
call fcn.00402fe0
cmp dword [ebp - 0x440], 0
jne 0x425120
push 1
push 0x656858
push 0x5d5da0
lea eax, [ebp - 0x540]
push str.BKApp
push eax
call fcn.00404590
mov ecx, eax
call fcn.0043cd5d
mov esi, eax
lea eax, [ebp - 0x450]
cmp eax, esi
je 0x425159
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 0x425159
cmp dword [ebp - 0x5c4], 0
je 0x425164
push 1
push 0x656858
push 0x5d5da0
lea eax, [ebp - 0x540]
push str.BKApp
push eax
call fcn.00404590
mov ecx, eax
call fcn.0043cd5d
push eax
lea ecx, [ebp - 0x450]
call fcn.00406e80
lea ecx, [ebp - 0x540]
call fcn.00402fe0
call fcn.00442207
test eax, eax
je 0x425193
push 1
push 0x69
call fcn.0043f1dd
add esp, 8
push 1
push 0x5d6e10
push str.BKSetting
call fcn.00404590
mov ecx, eax
call fcn.0043e73d
jmp 0x42519f
push 0
push 0x69
call fcn.0043f1dd
add esp, 8
lea eax, [ebp - 0x468]
push eax
lea ecx, [ebp - 0x498]
call fcn.00403d20
lea eax, [ebp - 0x450]
mov byte [ebp - 4], 0xe
push eax
lea ecx, [ebp - 0x4c8]
call fcn.00403d20
lea eax, [ebp - 0x498]
mov byte [ebp - 4], 0xf
push eax
call fcn.004441ad
lea eax, [ebp - 0x450]
push eax
call fcn.004441ad
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 0x5d7a00
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.00443c5f
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 0x5d7a00
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.00443c5f
add esp, 0xc
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x438]
call fcn.00402fe0
mov edi, dword [ebp - 0x5bc]
test edi, edi
je 0x42531f
lea ecx, [ebp - 0x5aa]
call fcn.00408770
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.004389d0
cmp byte [ebp - 0x5ae], 0
je 0x425310
push 1
push str.3cde3
push 1
call fcn.004081a0
mov ecx, eax
call fcn.00410ab0
lea ecx, [ebp - 0x5aa]
mov byte [ebp - 4], 0xf
call fcn.00403eb0
call fcn.00404590
mov ecx, eax
call fcn.0043e315
cmp dword [ebp - 0x5b8], 0
je 0x425666
push 0
push str.InstallTime
push str.BKApp
call fcn.00404590
mov ecx, eax
call fcn.0043cbf8
push 0
push str.InstallTime
push str.BKSetting
mov esi, eax
call fcn.00404590
mov ecx, eax
call fcn.0043cf54
push 0
push str.FirstInstallTime
push str.BKApp
mov edi, eax
call fcn.00404590
mov ecx, eax
call fcn.0043cbf8
push 0
push str.FirstInstallTime
push str.BKSetting
mov dword [ebp - 0x5b8], eax
call fcn.00404590
mov ecx, eax
call fcn.0043cf54
test esi, esi
mov dword [ebp - 0x5cc], eax
mov esi, dword [ebp - 0x5dc]
jne 0x4253c9
push esi
push str.InstallTime
push str.BKApp
call fcn.00404590
mov ecx, eax
call fcn.0043e69d
test edi, edi
jne 0x4253e4
push esi
push str.InstallTime
push str.BKSetting
call fcn.00404590
mov ecx, eax
call fcn.0043e73d
cmp dword [ebp - 0x5b8], 0
jne 0x425404
push esi
push str.FirstInstallTime
push str.BKApp
call fcn.00404590
mov ecx, eax
call fcn.0043e69d
cmp dword [ebp - 0x5cc], 0
jne 0x425424
push esi
push str.FirstInstallTime
push str.BKSetting
call fcn.00404590
mov ecx, eax
call fcn.0043e73d
mov edi, dword [ebp - 0x5bc]
cmp byte [ebp - 0x5d8], 0
jne 0x42547f
push 0xffffffffffffffff
push str.52ed2
push str.BKApp
call fcn.00404590
mov ecx, eax
call fcn.0043cbf8
test eax, eax
jle 0x42547f
push 0
push str.52ed2
push str.BKApp
call fcn.00404590
mov ecx, eax
call fcn.0043e69d
push 0
push str.100b0
push str.BKApp
call fcn.00404590
mov ecx, eax
call fcn.0043e69d
lea ecx, [ebp - 0x5b3]
call fcn.00408770
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.0041b990
cmp byte [ebp - 0x5ae], 0
je 0x42550f
push 1
push str.7277c
push 1
call fcn.004081a0
mov ecx, eax
call fcn.00410ab0
lea ecx, [ebp - 0x5b2]
call fcn.00408770
lea ecx, [ebp - 0x5b2]
mov byte [ebp - 4], 0x14
call fcn.004148e0
lea ecx, [ebp - 0x5a8]
call fcn.00432aa0
push 0x208
lea eax, [ebp - 0x420]
mov byte [ebp - 4], 0x15
push 0
push eax
call fcn.005a2240
push dword [ebp - 0x5c0]
lea eax, [ebp - 0x420]
push 0x5d4a5c
push eax
call fcn.00405d80
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.00432be0
cmp byte [ebp - 0x5ae], 0
je 0x4255ed
push 1
push str.7bfcf
push 1
call fcn.004081a0
mov ecx, eax
call fcn.00410ab0
lea eax, [ebp - 0x510]
push eax
lea ecx, [ebp - 0x5a8]
call fcn.00434930
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 0x4256cd
test edx, edx
je 0x4257f0
sub esi, ecx
nop dword [eax]
mov ax, word [esi + ecx]
cmp ax, word [ecx]
jne 0x4256cd
add ecx, 2
sub edx, 1
jne 0x425650
jmp 0x4257f0
mov esi, dword [ebp - 0x5dc]
push esi
push str.FirstInstallTime
push str.BKApp
call fcn.00404590
mov ecx, eax
call fcn.0043e69d
push esi
push str.FirstInstallTime
push str.BKSetting
call fcn.00404590
mov ecx, eax
call fcn.0043e73d
push esi
push str.InstallTime
push str.BKApp
call fcn.00404590
mov ecx, eax
call fcn.0043e69d
push esi
push str.InstallTime
push str.BKSetting
call fcn.00404590
mov ecx, eax
call fcn.0043e73d
jmp 0x42542a
push 0x5d7a00
lea ecx, [ebp - 0x438]
call fcn.00403040
test edi, edi
je 0x42572d
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.00443c5f
add esp, 0xc
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x438]
call fcn.00402fe0
push 0x5d7a00
lea ecx, [ebp - 0x438]
call fcn.00403040
mov byte [ebp - 4], 0x18
lea eax, [ebp - 0x4f8]
jmp 0x425777
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.00443c5f
add esp, 0xc
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x438]
call fcn.00402fe0
push 0x5d7a00
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.00443c5f
add esp, 0xc
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x438]
call fcn.00402fe0
lea ecx, [ebp - 0x5aa]
call fcn.00408770
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.004389d0
lea ecx, [ebp - 0x5aa]
mov byte [ebp - 4], 0x16
call fcn.00403eb0
cmp byte [ebp - 0x5ae], 0
je 0x42580e
push 1
push str.c3f0e
push 1
call fcn.004081a0
mov ecx, eax
call fcn.00410ab0
mov eax, dword [0x669334]
test eax, eax
jne 0x425846
push 0x554
call fcn.0059c99d
add esp, 4
mov dword [ebp - 0x5b8], eax
mov byte [ebp - 4], 0x1c
test eax, eax
je 0x42583b
mov ecx, eax
call fcn.0041d790
jmp 0x42583d
xor eax, eax
mov byte [ebp - 4], 0x16
mov dword [0x669334], eax
mov ecx, eax
call fcn.0041f0b0
cmp byte [ebp - 0x5b1], 0
je 0x425b16
push str.need_power
push 0
call fcn.0043efad
add esp, 8
call fcn.004424a7
mov esi, eax
call fcn.00444e25
mov edi, eax
call fcn.00444d3f
test esi, esi
jne 0x425b07
test edi, edi
jne 0x425b07
test eax, eax
je 0x425b07
push str.no_power
push edi
call fcn.0043efad
add esp, 8
cmp byte [ebp - 0x5ae], 0
je 0x4258bf
push edi
push str.power_install_start
push 1
call fcn.004081a0
mov ecx, eax
call fcn.00410ab0
push 0x208
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.005a2240
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.005a2240
add esp, 0xc
mov dword [ebp - 0x65c], 0x240
lea eax, [ebp - 0x218]
mov dword [ebp - 0x644], 1
mov dword [ebp - 0x650], eax
call fcn.00444e25
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 0x4259ab
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x4c7
jne 0x425984
cmp byte [ebp - 0x5ae], 0
je 0x425b16
push 0
push str.power_install_err_cancel
push 1
call fcn.004081a0
mov ecx, eax
call fcn.00410ab0
jmp 0x425b16
cmp byte [ebp - 0x5ae], 0
je 0x425b16
push 0
push str.power_install_err_other
push 1
call fcn.004081a0
mov ecx, eax
call fcn.00410ab0
jmp 0x425b16
mov edi, dword [ebp - 0x5f4]
push 0x5d79b8
push 0x5d7b74
push edi
call fcn.00425d90
cmp dword [ebp - 0x454], 8
lea eax, [ebp - 0x468]
cmovae eax, dword [ebp - 0x468]
push eax
push str.daa9
push edi
call fcn.00425d90
cmp dword [ebp - 0x43c], 8
lea eax, [ebp - 0x450]
cmovae eax, dword [ebp - 0x450]
push eax
push str.cf6d
push edi
call fcn.00425d90
add esp, 0x24
cmp byte [ebp - 0x5ae], 0
je 0x425a22
push 0
push str.power_install_succ
push 1
call fcn.004081a0
mov ecx, eax
call fcn.00410ab0
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.0043efad
push 0
lea eax, [ebp - 0x438]
push eax
push edi
push esi
call fcn.004561d8
add esp, 0x1c
test al, al
jne 0x425ada
push 1
lea eax, [ebp - 0x438]
push eax
push edi
push esi
call fcn.004561d8
add esp, 0x10
test al, al
jne 0x425ada
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.0043efad
add esp, 0xc
cmp byte [ebp - 0x5ae], 0
je 0x425afa
push 0
push str.power_install_err_mem
push 1
call fcn.004081a0
mov ecx, eax
call fcn.00410ab0
lea ecx, [ebp - 0x438]
call fcn.00402fe0
jmp 0x425b16
push str.WaitForSingleObject_3_sec
push 0
call fcn.0043efad
add esp, 8
push 0xbb8
push dword [ebp - 0x628]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
lea ecx, [ebp - 0x438]
call fcn.00402fe0
jmp 0x425b16
push str.have_power
push 0
call fcn.0043efad
add esp, 8
lea ecx, [ebp - 0x510]
mov byte [ebp - 0x5a9], 1
call fcn.00402fe0
lea ecx, [ebp - 0x5a8]
call fcn.00432af0
lea ecx, [ebp - 0x5b2]
call fcn.00403eb0
lea ecx, [ebp - 0x5b3]
call fcn.00403eb0
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 0x425bc5
mov ecx, dword [ebp - 0x4e0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x425bbb
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x425d0f
push edx
push ecx
call fcn.0059c9cd
add esp, 8
lea ecx, [ebp - 0x624]
mov dword [ebp - 0x4d0], 0
mov dword [ebp - 0x4cc], 0xf
mov byte [ebp - 0x4e0], 0
call fcn.00403eb0
lea ecx, [ebp - 0x618]
call fcn.0044a4c7
mov edx, dword [ebp - 0x46c]
cmp edx, 8
jb 0x425c36
mov ecx, dword [ebp - 0x480]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x425c2c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x425d14
push edx
push ecx
call fcn.0059c9cd
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 0x425c93
mov ecx, dword [ebp - 0x450]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x425c89
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x425d19
push edx
push ecx
call fcn.0059c9cd
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 0x425cec
mov ecx, dword [ebp - 0x468]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x425ce2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x425d1e
push edx
push ecx
call fcn.0059c9cd
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.0059cf09
mov esp, ebp
pop ebp
ret 8
call fcn.005a57f9
call fcn.005a57f9
call fcn.005a57f9
call fcn.005a57f9
int3