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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5cdcbc
mov eax, dword fs:[0]
push eax
sub esp, 0x660
mov eax, dword [0x667d00]
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 - 0x5c8], ecx
mov esi, dword [ebp + 8]
lea ecx, [ebp - 0x468]
xor eax, eax
mov dword [ebp - 0x5e4], esi
push eax
push 0x6568d8
mov dword [ebp - 0x458], 0
mov dword [ebp - 0x454], 7
mov word [ebp - 0x468], ax
call fcn.004032c0
xor eax, eax
mov dword [ebp - 4], 0
push eax
push 0x6568d8
lea ecx, [ebp - 0x450]
mov dword [ebp - 0x440], 0
mov dword [ebp - 0x43c], 7
mov word [ebp - 0x450], ax
call fcn.004032c0
push str.daa9
push esi
mov byte [ebp - 4], 1
call fcn.00426340
push str.cf6d
push esi
mov dword [ebp - 0x618], eax
call fcn.00426340
push str.63b8
push esi
mov dword [ebp - 0x614], eax
call fcn.00426340
push str.a9e7
push esi
mov dword [ebp - 0x610], eax
call fcn.00426340
push str.d969
push esi
mov dword [ebp - 0x60c], eax
call fcn.00426340
push str.8744
push esi
mov dword [ebp - 0x608], eax
call fcn.00426340
push str.624f
push esi
mov dword [ebp - 0x5c4], eax
call fcn.00426340
push str.59b8
push esi
mov dword [ebp - 0x604], eax
call fcn.00426340
add esp, 0x40
mov dword [ebp - 0x5d0], eax
push str.9684
push esi
call fcn.00426340
push str.d55f
push esi
mov dword [ebp - 0x5f0], eax
call fcn.00426340
push str.c10b
push esi
mov dword [ebp - 0x5f4], eax
call fcn.00426340
push str.e542
push esi
mov dword [ebp - 0x5f8], eax
call fcn.00426340
push str.96f7
push esi
mov edi, eax
call fcn.00426340
push str.3330
push esi
mov dword [ebp - 0x5fc], eax
call fcn.00426340
push str.13f2
mov dword [ebp - 0x61c], eax
push esi
call fcn.00426340
push str.b591
push dword [ebp - 0x5e4]
mov esi, eax
call fcn.00426340
add esp, 0x40
mov dword [ebp - 0x600], eax
mov byte [ebp - 0x5ae], 0
mov byte [ebp - 0x5b1], 0
test edi, edi
je 0x424d57
push edi
call fcn.00443ccf
add esp, 4
mov byte [ebp - 0x5ae], al
test esi, esi
je 0x424d6a
push esi
call fcn.00443ccf
add esp, 4
mov byte [ebp - 0x5b1], al
cmp byte [ebp - 0x5ae], 0
je 0x424d88
push 1
push str.2d8c5
push 1
call fcn.00408220
mov ecx, eax
call fcn.00410db0
push 0xb
xor eax, eax
mov dword [ebp - 0x470], 0
push 0x5d4e18
lea ecx, [ebp - 0x480]
mov dword [ebp - 0x46c], 7
mov word [ebp - 0x480], ax
call fcn.004032c0
push 3
push 0x5d7a64
lea ecx, [ebp - 0x480]
mov byte [ebp - 4], 2
call fcn.00405ab0
cmp dword [ebp - 0x46c], 8
lea eax, [ebp - 0x480]
lea ecx, [ebp - 0x624]
cmovae eax, dword [ebp - 0x480]
push eax
call fcn.0044a8e9
lea ecx, [ebp - 0x624]
mov byte [ebp - 4], 3
call fcn.0044a930
test eax, eax
je 0x424e35
cmp byte [ebp - 0x5ae], 0
je 0x424e1e
push 1
push str.f2901
push 1
call fcn.00408220
mov ecx, eax
call fcn.00410db0
push str.ExitMutex_r_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov byte [ebp - 0x5a9], 0
jmp 0x426200
lea ecx, [ebp - 0x630]
call fcn.0044f13d
lea eax, [ebp - 0x4e0]
mov byte [ebp - 4], 4
push eax
lea ecx, [ebp - 0x630]
call fcn.0045339b
mov byte [ebp - 4], 5
call fcn.00404610
mov ecx, eax
call fcn.0043a390
push 0
push 0x6568d8
push 0x5d5db0
lea eax, [ebp - 0x528]
push str.BKApp
push eax
call fcn.00404610
mov ecx, eax
call fcn.0043d0fd
xor edi, edi
mov dword [ebp - 0x5c0], 1
push edi
mov dword [ebp - 0x5d4], 1
mov dword [ebp - 0x5bc], 0
mov dword [ebp - 0x5b8], 1
mov dword [ebp - 0x5ec], 0
mov dword [ebp - 0x5d8], 1
mov byte [ebp - 0x5cc], 0
mov dword [ebp - 0x5e0], edi
mov byte [ebp - 0x5e8], 1
call fcn.005aaa26
mov dword [ebp - 0x5dc], eax
add esp, 4
xor eax, eax
mov dword [ebp - 0x4a0], edi
mov dword [ebp - 0x49c], 7
mov word [ebp - 0x4b0], ax
mov ecx, dword [ebp - 0x5c8]
mov byte [ebp - 4], 7
call fcn.00417b90
mov dword [ebp - 0x5c8], eax
test eax, eax
jne 0x424f2c
push eax
call fcn.005aaa26
add esp, 4
mov dword [ebp - 0x5c8], eax
push eax
lea eax, [ebp - 0x4f8]
push eax
call fcn.0044a6d3
add esp, 8
mov eax, dword [ebp - 0x61c]
mov byte [ebp - 4], 8
test eax, eax
je 0x424f56
push eax
call fcn.00443ccf
add esp, 4
movzx edi, al
mov edx, dword [ebp - 0x618]
test edx, edx
je 0x42507b
mov ecx, edx
lea esi, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x424f70
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x468]
call fcn.004032c0
test edi, edi
je 0x4250ac
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.005a26c0
add esp, 0xc
lea eax, [ebp - 0x5b4]
lea ecx, [ebp - 0x630]
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.004514d4
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.00405e00
mov eax, dword [ebp - 0x458]
lea ecx, [ebp - 0x218]
xor edx, edx
lea esi, [ecx + 2]
add esp, 0x18
add eax, 0xfffffffa
cmovns edx, eax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x425056
sub ecx, esi
lea eax, [ebp - 0x218]
sar ecx, 1
push ecx
push eax
push edx
lea ecx, [ebp - 0x468]
call fcn.00426660
jmp 0x4250ac
call fcn.00404610
mov ecx, eax
call fcn.00439f50
mov edx, eax
lea esi, [edx + 2]
nop dword [eax]
mov cx, word [edx]
add edx, 2
test cx, cx
jne 0x425090
sub edx, esi
lea ecx, [ebp - 0x468]
sar edx, 1
push edx
push eax
call fcn.004032c0
lea eax, [ebp - 0x528]
push 0x6568d8
push eax
call fcn.00423f30
add esp, 8
test al, al
je 0x4250ea
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.004032c0
mov esi, dword [ebp - 0x614]
test esi, esi
je 0x42511c
mov ecx, esi
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x425100
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebp - 0x450]
call fcn.004032c0
mov eax, dword [ebp - 0x610]
test eax, eax
je 0x425138
push eax
call fcn.00443ccf
movzx eax, al
add esp, 4
mov dword [ebp - 0x5b8], eax
mov eax, dword [ebp - 0x60c]
test eax, eax
je 0x425156
push eax
call fcn.00443ccf
movzx esi, al
add esp, 4
mov dword [ebp - 0x5c0], esi
jmp 0x42515b
mov esi, 1
mov eax, dword [ebp - 0x608]
test eax, eax
je 0x425176
push eax
call fcn.005aa953
add esp, 4
mov dword [ebp - 0x5e0], eax
jmp 0x425178
xor eax, eax
test esi, esi
je 0x42518d
test eax, eax
je 0x42518d
push eax
call fcn.00422000
mov ecx, eax
call fcn.0042fe80
mov eax, dword [ebp - 0x604]
test eax, eax
je 0x4251a9
push eax
call fcn.00443ccf
movzx eax, al
add esp, 4
mov dword [ebp - 0x5d4], eax
mov eax, dword [ebp - 0x5f0]
test eax, eax
je 0x4251c5
push eax
call fcn.00443ccf
movzx eax, al
add esp, 4
mov dword [ebp - 0x5bc], eax
mov eax, dword [ebp - 0x5f4]
test eax, eax
je 0x4251e1
push eax
call fcn.00443ccf
movzx eax, al
add esp, 4
mov dword [ebp - 0x5d8], eax
mov eax, dword [ebp - 0x5f8]
test eax, eax
je 0x4251fd
push eax
call fcn.00443ccf
movzx eax, al
add esp, 4
mov dword [ebp - 0x5ec], eax
mov eax, dword [ebp - 0x5fc]
test eax, eax
je 0x425232
push eax
call fcn.00443ccf
add esp, 4
mov byte [ebp - 0x5cc], al
test al, al
je 0x425232
push 1
push str.52ed2
push str.BKApp
call fcn.00404610
mov ecx, eax
call fcn.0043ea4c
mov eax, dword [ebp - 0x600]
test eax, eax
je 0x42524b
push eax
call fcn.00443ccf
add esp, 4
mov byte [ebp - 0x5e8], al
cmp dword [ebp + 0xc], 0
je 0x4252fa
mov esi, dword [ebp - 0x5d0]
test esi, esi
je 0x425282
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x425264
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebp - 0x4b0]
call fcn.004032c0
jmp 0x4252fa
call fcn.00404610
mov ecx, eax
call fcn.0043cd98
push eax
lea ecx, [ebp - 0x438]
call fcn.004030c0
push 8
push str.BKUt.exe
lea ecx, [ebp - 0x438]
mov byte [ebp - 4], 9
call fcn.00405ab0
cmp dword [ebp - 0x424], 8
lea eax, [ebp - 0x438]
cmovae eax, dword [ebp - 0x438]
push eax
lea eax, [ebp - 0x540]
push eax
call fcn.00453b65
add esp, 8
lea ecx, [ebp - 0x4b0]
push eax
call fcn.00406f00
lea ecx, [ebp - 0x540]
call fcn.00403060
lea ecx, [ebp - 0x438]
mov byte [ebp - 4], 8
call fcn.00403060
push 0
push str.updsp
lea ecx, [ebp - 0x468]
call fcn.00426590
mov edi, eax
lea ecx, [ebp - 0x468]
push 0
not edi
push str.uninstall
shr edi, 0x1f
call fcn.00426590
cmp eax, 0xffffffff
mov ecx, 1
lea eax, [ebp - 0x4e0]
mov esi, edi
push eax
lea eax, [ebp - 0x558]
cmovg esi, ecx
push eax
call fcn.004443de
push dword [ebp - 0x5d8]
cmp dword [ebp - 0x43c], 8
lea edx, [ebp - 0x450]
push esi
push dword [ebp - 0x5b8]
cmovae edx, dword [ebp - 0x450]
lea ecx, [ebp - 0x468]
push dword [ebp - 0x5bc]
cmp dword [ebp - 0x454], 8
lea eax, [ebp - 0x558]
push dword [ebp - 0x5d4]
cmovae ecx, dword [ebp - 0x468]
push dword [ebp - 0x5c0]
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.0043f58a
add esp, 0x30
cmp dword [ebp - 0x5b8], 0
je 0x4254b4
test esi, esi
jne 0x42541a
cmp dword [ebp - 0x4d0], 1
jbe 0x42541a
cmp dword [ebp - 0x4cc], 0x10
lea eax, [ebp - 0x4e0]
cmovae eax, dword [ebp - 0x4e0]
cmp byte [eax + 1], 0x31
jne 0x42541a
cmp byte [ebp - 0x5ae], 0
je 0x425403
push 1
push str.19614
push 1
call fcn.00408220
mov ecx, eax
call fcn.00410db0
push str.ExitHR_r_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov byte [ebp - 0x5a9], 0
jmp 0x426174
cmp dword [ebp - 0x5ec], 0
jne 0x4254fb
test esi, esi
jne 0x4254fb
lea ecx, [ebp - 0x5a9]
call fcn.004087f0
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.00417720
test eax, eax
je 0x4254ac
cmp byte [ebp - 0x5ae], 0
je 0x425480
push 1
push str.deb11
push 1
call fcn.00408220
mov ecx, eax
call fcn.00410db0
push str.ExitRepeatInst_r_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
push 0x68
call fcn.0043f58a
add esp, 4
lea ecx, [ebp - 0x5a9]
call fcn.00403f30
mov byte [ebp - 0x5a9], 0
jmp 0x426174
lea ecx, [ebp - 0x5a9]
jmp 0x4254f2
lea ecx, [ebp - 0x5aa]
call fcn.004087f0
lea ecx, [ebp - 0x5aa]
mov byte [ebp - 4], 0xc
call fcn.004178d0
cmp byte [ebp - 0x5ae], 0
je 0x4254ec
push 1
push str.052f8
push 1
call fcn.00408220
mov ecx, eax
call fcn.00410db0
lea ecx, [ebp - 0x5aa]
mov byte [ebp - 4], 0xa
call fcn.00403f30
mov eax, dword [ebp - 0x5c4]
test eax, eax
je 0x425577
push eax
call fcn.00443ccf
add esp, 4
test al, al
je 0x425577
call fcn.00404610
mov ecx, eax
call fcn.0043cd98
push eax
lea ecx, [ebp - 0x438]
call fcn.004030c0
push 8
push str.BKMo.exe
lea ecx, [ebp - 0x438]
mov byte [ebp - 4], 0xd
call fcn.00405ab0
cmp dword [ebp - 0x424], 8
lea eax, [ebp - 0x438]
push 0
cmovae eax, dword [ebp - 0x438]
push 0
push 0
push 0x5d7adc
push eax
call fcn.004400bc
add esp, 0x14
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x438]
call fcn.00403060
cmp dword [ebp - 0x440], 0
jne 0x4255e3
push 1
push 0x6568d8
push 0x5d5db0
lea eax, [ebp - 0x540]
push str.BKApp
push eax
call fcn.00404610
mov ecx, eax
call fcn.0043d0fd
mov esi, eax
lea eax, [ebp - 0x450]
cmp eax, esi
je 0x42561c
mov ecx, eax
call fcn.00403060
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 0x42561c
cmp dword [ebp - 0x5bc], 0
je 0x425627
push 1
push 0x6568d8
push 0x5d5db0
lea eax, [ebp - 0x540]
push str.BKApp
push eax
call fcn.00404610
mov ecx, eax
call fcn.0043d0fd
push eax
lea ecx, [ebp - 0x450]
call fcn.00406f00
lea ecx, [ebp - 0x540]
call fcn.00403060
call fcn.004425b4
test eax, eax
je 0x425656
push 1
push 0x69
call fcn.0043f58a
add esp, 8
push 1
push 0x5d6e20
push str.BKSetting
call fcn.00404610
mov ecx, eax
call fcn.0043eaec
jmp 0x425662
push 0
push 0x69
call fcn.0043f58a
add esp, 8
lea eax, [ebp - 0x468]
push eax
lea ecx, [ebp - 0x498]
call fcn.00403da0
lea eax, [ebp - 0x450]
mov byte [ebp - 4], 0xe
push eax
lea ecx, [ebp - 0x4c8]
call fcn.00403da0
lea eax, [ebp - 0x498]
mov byte [ebp - 4], 0xf
push eax
call fcn.0044455a
lea eax, [ebp - 0x450]
push eax
call fcn.0044455a
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 0x5d7a1c
call fcn.004032c0
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.0044400c
add esp, 0xc
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x438]
call fcn.00403060
push 6
xor eax, eax
mov dword [ebp - 0x428], 0
push 0x5d7a1c
lea ecx, [ebp - 0x438]
mov dword [ebp - 0x424], 7
mov word [ebp - 0x438], ax
call fcn.004032c0
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.0044400c
add esp, 0xc
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x438]
call fcn.00403060
lea ecx, [ebp - 0x5aa]
call fcn.004087f0
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.00438c60
cmp byte [ebp - 0x5ae], 0
je 0x4257c9
push 1
push str.3cde3
push 1
call fcn.00408220
mov ecx, eax
call fcn.00410db0
lea ecx, [ebp - 0x5aa]
mov byte [ebp - 4], 0xf
call fcn.00403f30
call fcn.00404610
mov ecx, eax
call fcn.0043e6c4
call fcn.00408220
mov ecx, eax
call fcn.0040ff70
test edi, edi
je 0x4258d5
push 0
push str.InstallTime
push str.BKApp
call fcn.00404610
mov ecx, eax
call fcn.0043cf98
push 0
push str.InstallTime
push str.BKSetting
mov esi, eax
call fcn.00404610
mov ecx, eax
call fcn.0043d2f4
push 0
push str.FirstInstallTime
push str.BKApp
mov edi, eax
call fcn.00404610
mov ecx, eax
call fcn.0043cf98
push 0
push str.FirstInstallTime
push str.BKSetting
mov dword [ebp - 0x5c4], eax
call fcn.00404610
mov ecx, eax
call fcn.0043d2f4
test esi, esi
mov dword [ebp - 0x5d0], eax
mov esi, dword [ebp - 0x5dc]
jne 0x425889
push esi
push str.InstallTime
push str.BKApp
call fcn.00404610
mov ecx, eax
call fcn.0043ea4c
test edi, edi
jne 0x4258a4
push esi
push str.InstallTime
push str.BKSetting
call fcn.00404610
mov ecx, eax
call fcn.0043eaec
cmp dword [ebp - 0x5c4], 0
jne 0x4258c4
push esi
push str.FirstInstallTime
push str.BKApp
call fcn.00404610
mov ecx, eax
call fcn.0043ea4c
cmp dword [ebp - 0x5d0], 0
jne 0x425937
push esi
push str.FirstInstallTime
jmp 0x425926
mov esi, dword [ebp - 0x5dc]
push esi
push str.FirstInstallTime
push str.BKApp
call fcn.00404610
mov ecx, eax
call fcn.0043ea4c
push esi
push str.FirstInstallTime
push str.BKSetting
call fcn.00404610
mov ecx, eax
call fcn.0043eaec
push esi
push str.InstallTime
push str.BKApp
call fcn.00404610
mov ecx, eax
call fcn.0043ea4c
push esi
push str.InstallTime
push str.BKSetting
call fcn.00404610
mov ecx, eax
call fcn.0043eaec
cmp byte [ebp - 0x5cc], 0
jne 0x42598c
push 0xffffffffffffffff
push str.52ed2
push str.BKApp
call fcn.00404610
mov ecx, eax
call fcn.0043cf98
test eax, eax
jle 0x42598c
push 0
push str.52ed2
push str.BKApp
call fcn.00404610
mov ecx, eax
call fcn.0043ea4c
push 0
push str.100b0
push str.BKApp
call fcn.00404610
mov ecx, eax
call fcn.0043ea4c
lea ecx, [ebp - 0x5b3]
call fcn.004087f0
push dword [ebp - 0x5e8]
cmp dword [ebp - 0x49c], 8
lea edx, [ebp - 0x4b0]
push dword [ebp - 0x5cc]
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 - 0x5d8]
mov byte [ebp - 4], 0x13
push dword [ebp - 0x5c0]
push dword [ebp - 0x5d4]
push dword [ebp - 0x5b8]
call fcn.0041bdb0
cmp byte [ebp - 0x5ae], 0
je 0x425a27
push 1
push str.7277c
push 1
call fcn.00408220
mov ecx, eax
call fcn.00410db0
lea ecx, [ebp - 0x5b2]
call fcn.004087f0
lea ecx, [ebp - 0x5b2]
mov byte [ebp - 4], 0x14
call fcn.00414d00
lea ecx, [ebp - 0x5a8]
call fcn.00432d30
push 0x208
lea eax, [ebp - 0x420]
mov byte [ebp - 4], 0x15
push 0
push eax
call fcn.005a26c0
push dword [ebp - 0x5c8]
lea eax, [ebp - 0x420]
push 0x5d4a5c
push eax
call fcn.00405e00
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 - 0x5bc]
lea eax, [ebp - 0x420]
push 0
push eax
push esi
push edx
push ecx
lea ecx, [ebp - 0x5a8]
call fcn.00432e70
cmp byte [ebp - 0x5ae], 0
je 0x425b05
push 1
push str.7bfcf
push 1
call fcn.00408220
mov ecx, eax
call fcn.00410db0
lea eax, [ebp - 0x510]
push eax
lea ecx, [ebp - 0x5a8]
call fcn.00434bc0
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 0x425b76
test edx, edx
je 0x425c99
sub esi, ecx
nop dword [eax]
mov ax, word [esi + ecx]
cmp ax, word [ecx]
jne 0x425b76
add ecx, 2
sub edx, 1
jne 0x425b60
jmp 0x425c99
push 0x5d7a1c
lea ecx, [ebp - 0x438]
call fcn.004030c0
test edi, edi
je 0x425bd6
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.0044400c
add esp, 0xc
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x438]
call fcn.00403060
push 0x5d7a1c
lea ecx, [ebp - 0x438]
call fcn.004030c0
mov byte [ebp - 4], 0x18
lea eax, [ebp - 0x4f8]
jmp 0x425c20
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.0044400c
add esp, 0xc
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x438]
call fcn.00403060
push 0x5d7a1c
lea ecx, [ebp - 0x438]
call fcn.004030c0
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.0044400c
add esp, 0xc
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x438]
call fcn.00403060
lea ecx, [ebp - 0x5aa]
call fcn.004087f0
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.00438c60
lea ecx, [ebp - 0x5aa]
mov byte [ebp - 4], 0x16
call fcn.00403f30
cmp byte [ebp - 0x5ae], 0
je 0x425cb7
push 1
push str.c3f0e
push 1
call fcn.00408220
mov ecx, eax
call fcn.00410db0
call fcn.0041bd30
mov ecx, eax
call fcn.0041f450
cmp byte [ebp - 0x5b1], 0
je 0x425f94
push str.need_power
push 0
call fcn.0043f35d
add esp, 8
call fcn.00442854
mov esi, eax
call fcn.004451d2
mov edi, eax
call fcn.004450ec
test esi, esi
jne 0x425f85
test edi, edi
jne 0x425f85
test eax, eax
je 0x425f85
push str.no_power
push edi
call fcn.0043f35d
add esp, 8
cmp byte [ebp - 0x5ae], 0
je 0x425d35
push edi
push str.power_install_start
push 1
call fcn.00408220
mov ecx, eax
call fcn.00410db0
push 0x208
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.005a26c0
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 - 0x668]
mov dword [ebp - 0x66c], 0x3c
push 0
push eax
call fcn.005a26c0
add esp, 0xc
mov dword [ebp - 0x668], 0x240
lea eax, [ebp - 0x218]
mov dword [ebp - 0x650], 1
mov dword [ebp - 0x65c], eax
call fcn.004451d2
test eax, eax
mov ecx, str.runas
lea eax, [ebp - 0x66c]
cmovne ecx, dword [ebp - 0x660]
push eax
mov dword [ebp - 0x660], ecx
call dword [sym.imp.SHELL32.dll_ShellExecuteExW]
test eax, eax
jne 0x425e21
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x4c7
jne 0x425dfa
cmp byte [ebp - 0x5ae], 0
je 0x425f94
push 0
push str.power_install_err_cancel
push 1
call fcn.00408220
mov ecx, eax
call fcn.00410db0
jmp 0x425f94
cmp byte [ebp - 0x5ae], 0
je 0x425f94
push 0
push str.power_install_err_other
push 1
call fcn.00408220
mov ecx, eax
call fcn.00410db0
jmp 0x425f94
mov edi, dword [ebp - 0x5e4]
push 0x5d79d4
push 0x5d7b90
push edi
call fcn.004263a0
cmp dword [ebp - 0x454], 8
lea eax, [ebp - 0x468]
cmovae eax, dword [ebp - 0x468]
push eax
push str.daa9
push edi
call fcn.004263a0
cmp dword [ebp - 0x43c], 8
lea eax, [ebp - 0x450]
cmovae eax, dword [ebp - 0x450]
push eax
push str.cf6d
push edi
call fcn.004263a0
add esp, 0x24
cmp byte [ebp - 0x5ae], 0
je 0x425e98
push 0
push str.power_install_succ
push 1
call fcn.00408220
mov ecx, eax
call fcn.00410db0
push dword [ebp - 0x634]
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], 0x1c
call fcn.0043f35d
push 0
lea eax, [ebp - 0x438]
push eax
push edi
push esi
call fcn.00456606
add esp, 0x1c
test al, al
jne 0x425f54
push 1
lea eax, [ebp - 0x438]
push eax
push edi
push esi
call fcn.00456606
add esp, 0x10
test al, al
jne 0x425f54
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.0043f35d
add esp, 0xc
cmp byte [ebp - 0x5ae], 0
je 0x425f74
push 0
push str.power_install_err_mem
push 1
call fcn.00408220
mov ecx, eax
call fcn.00410db0
lea ecx, [ebp - 0x438]
mov byte [ebp - 4], 0x16
call fcn.00403060
jmp 0x425f94
push str.WaitForSingleObject_3_sec
push 0
call fcn.0043f35d
add esp, 8
push 0xbb8
push dword [ebp - 0x634]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
lea ecx, [ebp - 0x438]
mov byte [ebp - 4], 0x16
call fcn.00403060
jmp 0x425f94
push str.have_power
push 0
call fcn.0043f35d
add esp, 8
cmp dword [ebp - 0x5c0], 0
je 0x42600d
mov eax, dword [ebp - 0x5e0]
test eax, eax
je 0x42600d
mov ecx, 0xe10
cmp eax, ecx
cmova eax, ecx
imul eax, eax, 0x3e8
push eax
call dword [sym.imp.KERNEL32.dll_Sleep]
call fcn.00422000
mov ecx, eax
call fcn.0042e6e0
call fcn.00422000
lea esi, [eax + 0xf4]
call fcn.0041bd30
add eax, 0xb8
cmp eax, esi
je 0x425ff8
cmp dword [esi + 0x14], 8
mov ecx, esi
jb 0x425fed
mov ecx, dword [esi]
push dword [esi + 0x10]
push ecx
mov ecx, eax
call fcn.004032c0
push 1
push str.5f550
push 1
call fcn.00408220
mov ecx, eax
call fcn.00410db0
call fcn.0041bd30
mov ecx, eax
call fcn.00421ff0
test al, al
je 0x42612b
push 0xe
xor eax, eax
mov dword [ebp - 0x428], 0
push 0x5d4798
lea ecx, [ebp - 0x438]
mov dword [ebp - 0x424], 7
mov word [ebp - 0x438], ax
call fcn.004032c0
lea eax, [ebp - 0x438]
mov byte [ebp - 4], 0x1d
push eax
mov ecx, 0x669364
call fcn.004068c0
mov edx, dword [ebp - 0x424]
mov edi, eax
mov byte [ebp - 4], 0x16
cmp edx, 8
jb 0x4260ab
mov ecx, dword [ebp - 0x438]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4260a1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x426324
push edx
push ecx
call fcn.0059ce4e
add esp, 8
xor eax, eax
mov dword [ebp - 0x428], 0
mov dword [ebp - 0x424], 7
mov word [ebp - 0x438], ax
test edi, edi
jne 0x42610c
push 4
call fcn.0059ce1e
mov edi, eax
add esp, 4
mov dword [ebp - 0x5c4], edi
mov byte [ebp - 4], 0x1e
test edi, edi
je 0x4260fb
mov ecx, edi
mov dword [edi], 0
call fcn.004064f0
mov dword [edi], vtable.CUtilityOperate.0
jmp 0x4260fd
xor edi, edi
mov byte [ebp - 4], 0x16
test edi, edi
je 0x42610c
mov ecx, edi
call fcn.00406960
cmp byte [ebp - 0x5cc], 0
jne 0x42612b
test edi, edi
je 0x42612b
mov esi, dword [edi]
call fcn.0041bd30
add eax, 0xb8
mov ecx, edi
push eax
call dword [esi + 0x40]
lea ecx, [ebp - 0x510]
mov byte [ebp - 0x5a9], 1
call fcn.00403060
lea ecx, [ebp - 0x5a8]
call fcn.00432d80
lea ecx, [ebp - 0x5b2]
call fcn.00403f30
lea ecx, [ebp - 0x5b3]
call fcn.00403f30
lea ecx, [ebp - 0x4c8]
call fcn.00403060
lea ecx, [ebp - 0x498]
call fcn.00403060
lea ecx, [ebp - 0x558]
call fcn.00403060
lea ecx, [ebp - 0x4f8]
call fcn.00403060
lea ecx, [ebp - 0x4b0]
call fcn.00403060
lea ecx, [ebp - 0x528]
call fcn.00403060
mov edx, dword [ebp - 0x4cc]
cmp edx, 0x10
jb 0x4261da
mov ecx, dword [ebp - 0x4e0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4261d0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x426329
push edx
push ecx
call fcn.0059ce4e
add esp, 8
lea ecx, [ebp - 0x630]
mov dword [ebp - 0x4d0], 0
mov dword [ebp - 0x4cc], 0xf
mov byte [ebp - 0x4e0], 0
call fcn.00403f30
lea ecx, [ebp - 0x624]
call fcn.0044a8fe
mov edx, dword [ebp - 0x46c]
cmp edx, 8
jb 0x42624b
mov ecx, dword [ebp - 0x480]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x426241
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42632e
push edx
push ecx
call fcn.0059ce4e
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 0x4262a8
mov ecx, dword [ebp - 0x450]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x42629e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x426333
push edx
push ecx
call fcn.0059ce4e
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 0x426301
mov ecx, dword [ebp - 0x468]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4262f7
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x426338
push edx
push ecx
call fcn.0059ce4e
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.0059d38a
mov esp, ebp
pop ebp
ret 8
call fcn.005a5c79
call fcn.005a5c79
call fcn.005a5c79
call fcn.005a5c79
call fcn.005a5c79
int3