Function at 0x448100
Capabilities:
Create directory
Create thread
Delete file
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x6a0
mov eax, dword [0x57b270]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
push str.dlg_install_LifeNote_
mov dword [ebp - 0x69c], eax
mov dword [0x584570], eax
call fcn.00458770
add esp, 4
test eax, eax
je 0x448c3b
push 0x104
lea eax, [ebp - 0x108]
push 0
push eax
call fcn.004ed350
add esp, 0xc
lea eax, [ebp - 0x108]
push 0x104
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push 0x104
lea eax, [ebp - 0x518]
push 0
push eax
call fcn.004ed350
lea eax, [ebp - 0x518]
push eax
lea eax, [ebp - 0x108]
push eax
call fcn.004234b0
lea ecx, [ebp - 0x518]
mov dword [ebp - 0x63c], 0
add esp, 0x14
mov dword [ebp - 0x638], 0xf
mov byte [ebp - 0x64c], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4481b0
sub ecx, edx
lea eax, [ebp - 0x518]
push ecx
push eax
lea ecx, [ebp - 0x64c]
call fcn.00404d10
push 0x3a8
lea eax, [ebp - 0x64c]
push eax
lea eax, [ebp - 0x634]
push eax
call fcn.00428b90
add esp, 0xc
mov ecx, 0x57b068
push eax
call fcn.00428380
lea ecx, [ebp - 0x634]
call fcn.00419810
mov edx, dword [ebp - 0x638]
cmp edx, 0x10
jb 0x448237
mov ecx, dword [ebp - 0x64c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x44822d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x448c50
push edx
push ecx
call fcn.00460b61
add esp, 8
mov edi, dword [0x57b07c]
mov edx, 0x57b068
mov esi, dword [0x57b078]
cmp edi, 8
cmovae edx, dword [0x57b068]
or ebx, 0xffffffff
test esi, esi
je 0x4483b2
lea eax, [esi - 1]
mov ecx, ebx
cmp eax, ebx
cmovb ecx, eax
cmp word [edx + ecx*2], 0x2e
lea eax, [edx + ecx*2]
je 0x448282
cmp eax, edx
je 0x4483b2
sub eax, 2
cmp word [eax], 0x2e
jne 0x448271
sub eax, edx
sar eax, 1
cmp eax, 0xffffffff
je 0x4483b2
lea ecx, [eax + 1]
mov dword [ebp - 0x620], 7
xor eax, eax
mov word [ebp - 0x634], ax
cmp esi, ecx
jb 0x448c55
sub esi, ecx
mov eax, 0x57b068
cmp esi, 0xffffffff
cmovb ebx, esi
cmp edi, 8
cmovae eax, dword [0x57b068]
lea eax, [eax + ecx*2]
mov dword [ebp - 0x698], eax
cmp ebx, 7
ja 0x4482f8
lea esi, [ebx + ebx]
mov dword [ebp - 0x624], ebx
push esi
push eax
lea eax, [ebp - 0x634]
push eax
call fcn.004ecdd0
add esp, 0xc
xor eax, eax
mov word [ebp + esi - 0x634], ax
jmp 0x44835e
cmp ebx, 0x7ffffffe
ja 0x448c5a
mov esi, ebx
or esi, 7
cmp esi, 0x7ffffffe
jbe 0x448318
mov esi, SysReAllocString
jmp 0x448322
mov eax, 0xa
cmp esi, eax
cmovb esi, eax
lea eax, [esi + 1]
push eax
lea ecx, [ebp - 0x634]
call fcn.00416d20
mov dword [ebp - 0x620], esi
mov edi, eax
lea esi, [ebx + ebx]
mov dword [ebp - 0x624], ebx
push esi
push dword [ebp - 0x698]
push edi
call fcn.004ec850
add esp, 0xc
mov dword [ebp - 0x634], edi
xor eax, eax
mov word [edi + esi], ax
lea eax, [ebp - 0x634]
mov ecx, 0x57b080
push eax
call fcn.00428380
mov edx, dword [ebp - 0x620]
cmp edx, 8
jb 0x4483af
mov ecx, dword [ebp - 0x634]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4483a5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x448c5f
push edx
push ecx
call fcn.00460b61
add esp, 8
or ebx, 0xffffffff
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
call fcn.00458a90
lea eax, [ebp - 0x64c]
push 0
push eax
call fcn.0042db70
mov esi, eax
add esp, 8
cmp dword [esi + 0x14], 0x10
jb 0x4483da
mov esi, dword [esi]
call fcn.00448e40
mov ecx, eax
test ecx, ecx
je 0x448c64
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x698], eax
test esi, esi
je 0x448414
test esi, 0xffff0000
jne 0x448414
movzx eax, si
lea ecx, [ebp - 0x698]
push eax
call fcn.00448f40
jmp 0x448420
push esi
lea ecx, [ebp - 0x698]
call fcn.004492b0
mov edx, dword [ebp - 0x638]
cmp edx, 0x10
jb 0x44845a
mov ecx, dword [ebp - 0x64c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x448450
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x448c6e
push edx
push ecx
call fcn.00460b61
add esp, 8
mov edi, dword [ebp - 0x698]
push 0x5c
push edi
call fcn.004ff5cf
mov ecx, eax
add esp, 8
sub ecx, edi
test eax, eax
mov eax, dword [edi - 0xc]
cmove ecx, ebx
sub eax, ecx
lea ecx, [ebp - 0x698]
dec eax
push eax
lea eax, [ebp - 0x6a0]
push eax
call fcn.00449110
mov esi, dword [ebp - 0x6a0]
cmp dword [esi - 0xc], 0
jl 0x4484a7
push str._kins
push esi
call fcn.004ff67d
add esp, 8
cmp dword [0x57b218], 8
mov eax, 0x57b204
mov dword [0x584544], 1
cmovae eax, dword [0x57b204]
push eax
call fcn.00456d00
add esp, 4
test eax, eax
jne 0x4484ed
cmp dword [0x57b218], 8
mov eax, 0x57b204
push 0
cmovae eax, dword [0x57b204]
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
push 0x208
lea eax, [ebp - 0x20c]
push 0
push eax
call fcn.004ed350
cmp dword [0x57b218], 8
mov eax, 0x57b204
push 0x53fb48
cmovae eax, dword [0x57b204]
push eax
lea eax, [ebp - 0x20c]
push 0x53fa1c
push eax
call fcn.00420180
add esp, 0x1c
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
test eax, eax
jne 0x448550
push eax
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
je 0x4485ac
push 0x208
lea eax, [ebp - 0x61c]
push 0
push eax
call fcn.004ed350
cmp dword [0x57b218], 8
mov eax, 0x57b204
push str.LifeNote.7z
cmovae eax, dword [0x57b204]
push str.bin_
push eax
lea eax, [ebp - 0x61c]
push 0x53fb38
push eax
call fcn.00420180
push 0x5410ac
lea eax, [ebp - 0x61c]
push 0x67
push eax
call fcn.004588e0
add esp, 0x2c
test eax, eax
jne 0x4485e3
push 0
call fcn.00458d10
add esp, 4
call dword [sym.imp.ole32.dll_CoUninitialize]
add esi, 0xfffffff0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x4485d3
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
add edi, 0xfffffff0
lock xadd dword [edi + 0xc], ebx
dec ebx
test ebx, ebx
jmp 0x448c31
push 0x208
lea eax, [ebp - 0x414]
push 0
push eax
call fcn.004ed350
lea eax, [ebp - 0x414]
push eax
call fcn.00421390
add esp, 0x10
test eax, eax
je 0x448684
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenW]
lea eax, [ebp - 0x414]
push eax
call ebx
test eax, eax
jle 0x448684
lea eax, [ebp - 0x414]
mov dword [0x584550], 1
push eax
call ebx
cmp word [ebp + eax*2 - 0x416], 0x5c
jne 0x44865a
lea eax, [eax*2 - 2]
cmp eax, 0x208
jae 0x448c7d
xor ecx, ecx
mov word [ebp + eax - 0x414], cx
lea ecx, [ebp - 0x414]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x448663
sub ecx, edx
lea eax, [ebp - 0x414]
sar ecx, 1
push ecx
push eax
mov ecx, 0x57b1ec
call fcn.00416d80
cmp dword [0x584544], 0
jne 0x448777
call fcn.00448e40
mov ecx, eax
test ecx, ecx
je 0x448c73
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x628], 0
push 0x85
lea ecx, [ebp - 0x62c]
mov dword [ebp - 0x62c], eax
mov dword [ebp - 0x624], 0
mov dword [ebp - 0x620], 0
call fcn.0043f090
push dword [ebp - 0x69c]
call fcn.00466bd4
push 0x370
call fcn.00460b31
add esp, 8
test eax, eax
je 0x448767
mov ecx, eax
call fcn.0043ce80
mov ebx, eax
mov dword [ebp - 0x698], ebx
test ebx, ebx
je 0x448767
push 0
push SysReAllocStringLen
push SysReAllocStringLen
push SysReAllocStringLen
push SysReAllocStringLen
push 0
push 0x96c80000
push 0
push 0
mov ecx, ebx
call fcn.004630d3
mov ecx, ebx
call fcn.0046290f
mov ecx, dword [ebp - 0x698]
mov ebx, eax
call fcn.00462f7d
mov ecx, dword [ebp - 0x698]
push 1
call fcn.0046290f
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
call fcn.00465fee
push ebx
call dword [sym.imp.USER32.dll_DestroyWindow]
lea ecx, [ebp - 0x62c]
call fcn.0043ec90
jmp 0x4488c8
push 0x58452c
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
lea ecx, [ebp - 0x414]
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x448790
sub ecx, edx
sar ecx, 1
je 0x44881d
push 0x208
lea eax, [ebp - 0x20c]
push 0
push eax
call fcn.004ed350
push str.kangnotesvc.exe
lea eax, [ebp - 0x414]
push eax
lea eax, [ebp - 0x20c]
push 0x53fad0
push eax
call fcn.00420180
push 0
push 1
push 0
lea eax, [ebp - 0x20c]
push str._stop
push eax
call fcn.004587d0
push 0
push 0
push 0
lea eax, [ebp - 0x20c]
push str._uninstall
push eax
call fcn.004587d0
add esp, 0x44
push str.kangnotesvc.exe
call fcn.004592d0
push str.kangnote.exe
call fcn.004592d0
add esp, 8
lea eax, [ebp - 0x6a0]
push eax
push 0
push 0
push 0x421520
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov ebx, eax
push 0xffffffffffffffff
push ebx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [0x57b064], 0
je 0x448857
call fcn.004261a0
push 1
call fcn.004228c0
push 0
call fcn.004feed7
push eax
call fcn.004feb75
add esp, 0xc
call fcn.004feb54
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 0x14
jle 0x4488b3
push str.platform.txt
lea eax, [ebp - 0x64c]
push 0x57b1ec
push eax
call fcn.00427df0
add esp, 0xc
cmp dword [eax + 0x14], 8
jb 0x4488a1
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea ecx, [ebp - 0x64c]
call fcn.00419810
push 0x58452c
call dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
push 0
call fcn.00458d10
add esp, 4
sub esp, 0x18
xor eax, eax
mov ecx, esp
push 0x3f
push str.SoftwareMicrosoftwindowscurrentVersionUninstall_notetts.exe
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 7
mov word [ecx], ax
call fcn.00416d80
push SysReAllocStringLen
call fcn.00416f10
mov eax, dword [0x57b1fc]
add esp, 0x1c
cmp dword [0x57b200], 8
mov ecx, 0x57b1ec
mov dword [ebp - 0x654], 0
cmovae ecx, dword [0x57b1ec]
mov dword [ebp - 0x650], 0
mov dword [ebp - 0x698], eax
mov dword [ebp - 0x69c], ecx
cmp eax, 8
jae 0x44894c
movups xmm0, xmmword [ecx]
mov dword [ebp - 0x650], 7
movups xmmword [ebp - 0x664], xmm0
jmp 0x448999
mov ebx, eax
lea ecx, [ebp - 0x664]
mov eax, SysReAllocString
or ebx, 7
cmp ebx, eax
cmova ebx, eax
lea eax, [ebx + 1]
push eax
call fcn.00416d20
mov ecx, dword [ebp - 0x698]
mov dword [ebp - 0x664], eax
lea ecx, [ecx*2 + 2]
push ecx
push dword [ebp - 0x69c]
push eax
call fcn.004ec850
mov eax, dword [ebp - 0x698]
add esp, 0xc
mov dword [ebp - 0x650], ebx
push 8
push str.missent
lea ecx, [ebp - 0x664]
mov dword [ebp - 0x654], eax
call fcn.00419c70
cmp dword [ebp - 0x650], 8
lea eax, [ebp - 0x664]
push 1
cmovae eax, dword [ebp - 0x664]
push eax
call fcn.00457330
mov eax, dword [0x57b05c]
add esp, 8
test eax, eax
je 0x448a14
cmp dword [0x57b248], 8
mov ebx, 0x57b234
push eax
cmovae ebx, dword [0x57b234]
sub esp, 0x18
mov ecx, esp
push str.qdnews
call fcn.00428150
sub esp, 0x18
mov ecx, esp
push ebx
call fcn.00428150
push SysReAllocStringLen
call fcn.00418030
add esp, 0x38
cmp dword [0x57b060], 0
je 0x448ba9
push str.kangnote_plan
call fcn.00426c90
mov ax, word [0x5411d0]
movq xmm0, qword [str.__smostart]
mov word [ebp - 0x644], ax
lea eax, [ebp - 0x64c]
push 0x3a8
push eax
lea eax, [ebp - 0x694]
mov dword [ebp - 0x638], 0xf
push eax
mov dword [ebp - 0x63c], 0xa
movq qword [ebp - 0x64c], xmm0
mov byte [ebp - 0x642], 0
call fcn.00428b90
mov ebx, eax
add esp, 0x10
cmp dword [ebx + 0x14], 8
jb 0x448a88
mov ebx, dword [ebx]
push 0x53ed58
lea eax, [ebp - 0x67c]
push 0x57b1ec
push eax
call fcn.00427df0
add esp, 0xc
mov ecx, eax
push 0xc
push str.kangnote.exe
call fcn.00419c70
xor ecx, ecx
push ebx
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x634], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x624], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
lea eax, [ebp - 0x634]
cmp dword [ebp - 0x620], 8
cmovae eax, dword [ebp - 0x634]
push eax
push str.kangnote_plan
call fcn.00426990
mov edx, dword [ebp - 0x620]
add esp, 0xc
cmp edx, 8
jb 0x448b3c
mov ecx, dword [ebp - 0x634]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x448b32
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x448c82
push edx
push ecx
call fcn.00460b61
add esp, 8
xor eax, eax
mov dword [ebp - 0x624], 0
lea ecx, [ebp - 0x67c]
mov dword [ebp - 0x620], 7
mov word [ebp - 0x634], ax
call fcn.00419810
lea ecx, [ebp - 0x694]
call fcn.00419810
mov edx, dword [ebp - 0x638]
cmp edx, 0x10
jb 0x448ba9
mov ecx, dword [ebp - 0x64c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x448b9f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x448c82
push edx
push ecx
call fcn.00460b61
add esp, 8
call dword [sym.imp.ole32.dll_CoUninitialize]
mov edx, dword [ebp - 0x650]
cmp edx, 8
jb 0x448bef
mov ecx, dword [ebp - 0x664]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x448be5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x448c87
push edx
push ecx
call fcn.00460b61
add esp, 8
xor eax, eax
mov dword [ebp - 0x654], 0
lea edx, [esi - 0x10]
mov word [ebp - 0x664], ax
or esi, 0xffffffff
mov dword [ebp - 0x650], 7
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x448c26
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
add edi, 0xfffffff0
lock xadd dword [edi + 0xc], esi
dec esi
test esi, esi
jg 0x448c3b
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 4]
xor eax, eax
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00460b6f
mov esp, ebp
pop ebp
ret 0x10
call fcn.004f639a
call fcn.00403550
call fcn.00404fd0
call fcn.004f639a
push 0x80004005
call fcn.0043f2b0
call fcn.004f639a
push 0x80004005
call fcn.0043f2b0
call fcn.0046100c
call fcn.004f639a
call fcn.004f639a
int3