Function at 0x410d90
Capabilities:
Check if file exists
Check os version
Create process on windows
Create thread
Get common file path
Get file attributes
Log keystrokes via application hook
Read .ini file
Terminate process

Disassembly:
push 0xffffffffffffffff
push 0x47351a
mov eax, dword fs:[0]
push eax
sub esp, 0x42c
mov eax, dword [0x4878d4]
xor eax, esp
mov dword [esp + 0x428], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4878d4]
xor eax, esp
push eax
lea eax, [esp + 0x440]
mov dword fs:[0], eax
mov esi, ecx
lea edi, [esi + 0x14]
call fcn.0041e4b0
push 0x86
call fcn.0041dfa0
push ecx
mov dword [esi + 0x44], eax
mov eax, esp
mov dword [esp + 0x1c], esp
push eax
mov ecx, str.QvodPlayer.exe
call fcn.004040c0
call fcn.00419430
cmp eax, 0xffffffff
je 0x410e16
push eax
push 0
push 1
call dword [sym.imp.KERNEL32.dll_OpenProcess]
test eax, eax
je 0x410e16
push 0
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push ecx
mov ecx, str.QvodTerminal.exe
call fcn.004040c0
call fcn.00419430
cmp eax, 0xffffffff
je 0x410e4a
push eax
push 0
push 1
call dword [sym.imp.KERNEL32.dll_OpenProcess]
test eax, eax
je 0x410e4a
push 0
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
lea ebp, [esi + 0x78]
push str.listctner
mov ecx, ebp
call fcn.004345a0
test eax, eax
je 0x410f1f
mov edx, dword [eax + 0x3b4]
lea ecx, [eax + 0x3b4]
mov eax, dword [edx + 0x10]
lea edi, [esi + 0x9d0]
push edi
call eax
mov edx, dword [edi]
mov eax, dword [edx + 0xc0]
push 0
mov ecx, edi
call eax
mov ecx, dword [0x47465c]
mov edx, dword [0x474660]
push 0
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [0x474664]
mov dword [eax + 4], edx
mov edx, dword [0x474668]
mov dword [eax + 8], ecx
mov ecx, edi
mov dword [eax + 0xc], edx
call fcn.00441670
mov ecx, dword [0x47463c]
mov edx, dword [0x474640]
lea ebx, [esi + 0xdb8]
push ebx
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [0x474644]
mov dword [eax + 4], edx
mov edx, dword [0x474648]
mov dword [eax + 8], ecx
mov ecx, edi
mov dword [eax + 0xc], edx
call fcn.004417d0
mov ebx, dword [ebx]
test ebx, ebx
jne 0x410f12
push ebx
push 0x47c248
push 0x47c250
push ebx
call dword [sym.imp.USER32.dll_MessageBoxW]
push ebx
call dword [sym.imp.USER32.dll_PostQuitMessage]
jmp 0x411dba
mov eax, dword [ebx]
mov ecx, dword [eax + 0xf0]
push 0xffffffffffffffff
push ebx
call ecx
lea edx, [esi + 0x48]
push edx
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov edi, dword [sym.imp.KERNEL32.dll_CreateThread]
lea eax, [esp + 0x28]
push eax
push 0
push esi
push 0x40f7b0
push 0
push 0
call edi
mov ebx, dword [sym.imp.KERNEL32.dll_CloseHandle]
push eax
call ebx
lea ecx, [esp + 0x28]
push ecx
push 0
push esi
push 0x40fb30
push 0
push 0
call edi
push eax
call ebx
push 0x114
lea edi, [esi + 0x36c]
push 0
push edi
call fcn.0045cac0
add esp, 0xc
push edi
mov dword [edi], 0x114
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
xor edx, edx
push 0x206
push edx
lea eax, [esp + 0x36]
push eax
mov word [esp + 0x38], dx
call fcn.0045cac0
add esp, 0xc
push 0x104
lea ecx, [esp + 0x30]
push ecx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea eax, [esp + 0x2c]
lea ecx, [eax + 2]
mov dx, word [eax]
add eax, 2
test dx, dx
jne 0x410fb7
sub eax, ecx
sar eax, 1
lea edx, [esp + 0x2c]
mov ebx, eax
lea edi, [esi + 0x594]
push edx
mov eax, edi
call fcn.00404be0
lea ebx, [esi + 0x59c]
mov eax, edi
mov edi, ebx
call fcn.004048f0
lea edi, [esi + 0x598]
mov eax, ebx
call fcn.004048f0
push str.ttkvodlist.db
push 0x47b320
push edi
call fcn.00404320
push str.ttkvodConfig.db
push 0x47b320
push ebx
call fcn.00404320
mov eax, dword [esi + 0x370]
cmp eax, 6
je 0x41103a
cmp eax, 7
je 0x41103a
lea edi, [esi + 0x5a0]
lea edx, [esp + 0x2c]
call fcn.00404220
jmp 0x411103
mov ebx, dword [ebx]
push ebx
push 0x47c2a8
push 0x47c2ac
push str.memory
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
lea eax, [esp + 0x1c]
push eax
push 0x23
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderLocation]
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x4110d3
lea ecx, [esp + 0x234]
push ecx
push eax
call dword [sym.imp.SHELL32.dll_SHGetPathFromIDListW]
lea eax, [esp + 0x234]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x411082
sub eax, edx
sar eax, 1
lea edx, [esp + 0x234]
mov ebx, eax
lea edi, [esi + 0x5a0]
push edx
mov eax, edi
call fcn.00404be0
push 0x17
push str.QvodPlayerQvodCfg.ini
push edi
call fcn.00404fe0
lea eax, [esp + 0x18]
push eax
call dword [sym.imp.SHELL32.dll_SHGetMalloc]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ecx, dword [eax]
push edx
push eax
mov eax, dword [ecx + 0x14]
call eax
jmp 0x411113
lea eax, [esp + 0x2c]
lea edx, [eax + 2]
lea ebx, [ebx]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4110e0
sub eax, edx
sar eax, 1
lea ecx, [esp + 0x2c]
mov ebx, eax
lea edi, [esi + 0x5a0]
push ecx
mov eax, edi
call fcn.00404be0
push str.QvodCfg.ini
push 0x47b320
push edi
call fcn.00404320
lea edx, [esp + 0x20]
push edx
lea ecx, [esp + 0x30]
call fcn.004040c0
xor ebx, ebx
push 0x44
lea edi, [esi + 0x1014]
push ebx
push edi
mov dword [esp + 0x454], ebx
call fcn.0045cac0
add esp, 8
mov ecx, esp
mov dword [esp + 0x1c], esp
mov eax, 5
push ecx
mov ecx, str.FilmAcc.exe
mov dword [edi], 0x44
mov word [esi + 0x1044], ax
mov dword [esi + 0x1040], 1
call fcn.004040c0
call fcn.00419430
cmp eax, 0xffffffff
je 0x41118c
push eax
push ebx
push 0x1fffff
call dword [sym.imp.KERNEL32.dll_OpenProcess]
cmp eax, ebx
je 0x41118c
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
push str.FilmAcc.exe
push 0x47b320
lea edx, [esp + 0x28]
push edx
call fcn.00404320
mov ecx, dword [esp + 0x20]
lea eax, [esi + 0x1004]
push eax
push edi
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ecx
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
cmp eax, ebx
je 0x4111cf
lea edx, [esp + 0x28]
push edx
push ebx
push esi
push 0x40f730
jmp 0x411261
mov eax, dword [esp + 0x20]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x411270
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
jne 0x411270
push 8
call fcn.00459c10
mov edi, eax
add esp, 4
cmp edi, ebx
je 0x411233
mov edx, dword [0x489490]
mov eax, dword [edx + 0xc]
mov ecx, 0x489490
call eax
add eax, 0x10
mov dword [edi], eax
mov edx, dword [0x489490]
mov eax, dword [edx + 0xc]
mov ecx, 0x489490
call eax
add eax, 0x10
mov dword [edi + 4], eax
mov dword [esp + 0x1c], edi
jmp 0x411237
mov dword [esp + 0x1c], ebx
mov edi, dword [esp + 0x1c]
mov edx, str.http:__up.hao.kaikai001.com_new_up_FilmAcc.exe
call fcn.00404220
add edi, 4
lea eax, [esp + 0x20]
call fcn.004048f0
mov edx, dword [esp + 0x1c]
lea ecx, [esp + 0x28]
push ecx
push ebx
push edx
push 0x40f6b0
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateThread]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [esi + 4]
push 1
push str.NewFilmEveryday
push eax
call dword [sym.imp.USER32.dll_SetPropW]
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
push ebx
push 0x410710
push 2
call dword [sym.imp.USER32.dll_SetWindowsHookExW]
mov ecx, dword [esi + 4]
mov dword [0x48a5bc], ecx
push str.simple
mov ecx, ebp
mov dword [0x48a5b8], eax
call fcn.004345a0
push str.closebtn
mov ecx, ebp
mov dword [esi + 0x488], eax
call fcn.004345a0
push str.maxbtn
mov ecx, ebp
mov dword [esi + 0x48c], eax
call fcn.004345a0
push str.restorebtn
mov ecx, ebp
mov dword [esi + 0x490], eax
call fcn.004345a0
push str.minbtn
mov ecx, ebp
mov dword [esi + 0x494], eax
call fcn.004345a0
push str.munubtn
mov ecx, ebp
mov dword [esi + 0x498], eax
call fcn.004345a0
push str.Mylist
mov ecx, ebp
mov dword [esi + 0x49c], eax
call fcn.004345a0
push str.cleanall
mov ecx, ebp
mov dword [esi + 0x520], eax
call fcn.004345a0
push 0x47c3d8
mov ecx, ebp
mov dword [esi + 0x4ac], eax
call fcn.004345a0
push str.pause
mov ecx, ebp
mov dword [esi + 0x4a0], eax
call fcn.004345a0
push str.stop
mov ecx, ebp
mov dword [esi + 0x4a4], eax
call fcn.004345a0
mov dword [esi + 0x4a8], eax
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xcc]
push ebx
call eax
push str.left
mov ecx, ebp
call fcn.004345a0
push str.right
mov ecx, ebp
mov dword [esi + 0x4b8], eax
call fcn.004345a0
push str.sound
mov ecx, ebp
mov dword [esi + 0x4bc], eax
call fcn.004345a0
push str.mute
mov ecx, ebp
mov dword [esi + 0x4b0], eax
call fcn.004345a0
mov dword [esi + 0x4b4], eax
push str.soundbar
mov ecx, ebp
call fcn.004345a0
push 0x64
mov ecx, eax
mov dword [esi + 0x508], eax
call fcn.0042d660
push str.timeandstatus
mov ecx, ebp
call fcn.004345a0
push str.speed
mov ecx, ebp
mov dword [esi + 0x4fc], eax
call fcn.004345a0
push 0x47c458
mov ecx, ebp
mov dword [esi + 0x500], eax
call fcn.004345a0
push str.lstbtn
mov ecx, ebp
mov dword [esi + 0x504], eax
call fcn.004345a0
push str.lstbtn2
mov ecx, ebp
mov dword [esi + 0x4c0], eax
call fcn.004345a0
push str.hdlstbtn
mov ecx, ebp
mov dword [esi + 0x4c4], eax
call fcn.004345a0
push str.shlstbtn
mov ecx, ebp
mov dword [esi + 0x4c8], eax
call fcn.004345a0
push str.fullscreen
mov ecx, ebp
mov dword [esi + 0x4cc], eax
call fcn.004345a0
push str.openfile
mov ecx, ebp
mov dword [esi + 0x4d0], eax
call fcn.004345a0
push str.lheadtxt
mov ecx, ebp
mov dword [esi + 0x4d4], eax
call fcn.004345a0
push str.downloadpage
mov ecx, ebp
mov dword [esi + 0x4d8], eax
call fcn.004345a0
push str.return
mov ecx, ebp
mov dword [esi + 0x4e0], eax
call fcn.004345a0
push 0x47c514
mov ecx, ebp
mov dword [esi + 0x4dc], eax
call fcn.004345a0
push str.controlbar
mov ecx, ebp
mov dword [esi + 0x4e4], eax
call fcn.004345a0
mov dword [esi + 0x4e8], eax
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x64]
push 0x20
call eax
push str.cleft1
mov ecx, ebp
call fcn.004345a0
push str.cleft2
mov ecx, ebp
mov dword [esi + 0x4ec], eax
call fcn.004345a0
push str.cright1
mov ecx, ebp
mov dword [esi + 0x4f0], eax
call fcn.004345a0
push str.cright2
mov ecx, ebp
mov dword [esi + 0x4f4], eax
call fcn.004345a0
push str.slider
mov ecx, ebp
mov dword [esi + 0x4f8], eax
call fcn.004345a0
mov dword [esi + 0x50c], eax
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xcc]
push ebx
call eax
push str.mainmenu
mov ecx, ebp
call fcn.004345a0
push str.tray
mov ecx, ebp
mov dword [esi + 0x5b4], eax
call fcn.004345a0
push str.playmenu
mov ecx, ebp
mov dword [esi + 0x5b8], eax
call fcn.004345a0
push str.listmenu
mov ecx, ebp
mov dword [esi + 0x5bc], eax
call fcn.004345a0
push str.iemenu
mov ecx, ebp
mov dword [esi + 0x5c0], eax
call fcn.004345a0
push str.bhome
mov ecx, ebp
mov dword [esi + 0x5c4], eax
call fcn.004345a0
cmp eax, ebx
je 0x4116d1
mov edx, dword [0x47463c]
lea edi, [esi + 0x510]
push edi
sub esp, 0x10
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [0x474640]
mov dword [ecx + 4], edx
mov edx, dword [0x474644]
mov dword [ecx + 8], edx
mov edx, dword [0x474648]
mov dword [ecx + 0xc], edx
mov ecx, eax
call fcn.004417d0
cmp dword [edi], ebx
je 0x4116d1
push str.res:__
lea ecx, [esp + 0x20]
call fcn.00421800
mov byte [esp + 0x448], 1
mov eax, dword [esi + 0x594]
lea ecx, [esi + 0x594]
sub eax, 0x10
cmp dword [eax + 0xc], 1
jle 0x411629
mov eax, dword [eax + 4]
push eax
push ecx
call fcn.00405800
mov eax, dword [esi + 0x594]
push eax
lea ecx, [esp + 0x1c]
call fcn.00421800
lea ecx, [esp + 0x18]
push ecx
lea ecx, [esp + 0x20]
mov byte [esp + 0x44c], 2
call fcn.00421720
lea ecx, [esp + 0x18]
mov byte [esp + 0x448], 1
call fcn.004217b0
push str._HTML_LOADING
lea ecx, [esp + 0x1c]
call fcn.00421800
lea edx, [esp + 0x18]
push edx
lea ecx, [esp + 0x20]
mov byte [esp + 0x44c], 3
call fcn.00421720
lea ecx, [esp + 0x18]
mov byte [esp + 0x448], 1
call fcn.004217b0
mov ecx, dword [esp + 0x1c]
mov eax, dword [edi]
cmp ecx, ebx
je 0x4116a3
mov ecx, dword [ecx]
jmp 0x4116a5
xor ecx, ecx
mov edx, dword [eax]
push ebx
push ebx
push ebx
push ebx
push ecx
push eax
mov eax, dword [edx + 0x2c]
call eax
mov edi, dword [edi]
mov ecx, dword [edi]
mov edx, dword [ecx + 0xf0]
push 0xffffffffffffffff
push edi
call edx
lea ecx, [esp + 0x1c]
mov byte [esp + 0x448], bl
call fcn.004217b0
push str.bApply
mov ecx, ebp
call fcn.004345a0
cmp eax, ebx
je 0x41183d
mov ecx, dword [0x47463c]
lea edi, [esi + 0x514]
push edi
sub esp, 0x10
mov edx, esp
mov dword [edx], ecx
mov ecx, dword [0x474640]
mov dword [edx + 4], ecx
mov ecx, dword [0x474644]
mov dword [edx + 8], ecx
mov ecx, dword [0x474648]
mov dword [edx + 0xc], ecx
mov ecx, eax
call fcn.004417d0
cmp dword [edi], ebx
jne 0x41175c
push ebx
push 0x47c248
push 0x47c250
push ebx
call dword [sym.imp.USER32.dll_MessageBoxW]
push ebx
call dword [sym.imp.USER32.dll_PostQuitMessage]
mov dword [esp + 0x448], 0xffffffff
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jmp 0x411dae
push str.res:__
lea ecx, [esp + 0x20]
call fcn.00421800
mov byte [esp + 0x448], 4
mov eax, dword [esi + 0x594]
lea edi, [esi + 0x594]
sub eax, 0x10
cmp dword [eax + 0xc], 1
jle 0x411791
mov ecx, dword [eax + 4]
push ecx
push edi
call fcn.00405800
mov edi, dword [edi]
push edi
lea ecx, [esp + 0x1c]
call fcn.00421800
lea edx, [esp + 0x18]
push edx
lea ecx, [esp + 0x20]
mov byte [esp + 0x44c], 5
call fcn.00421720
lea ecx, [esp + 0x18]
mov byte [esp + 0x448], 4
call fcn.004217b0
push str._HTML_APPLYLOADING
lea ecx, [esp + 0x1c]
call fcn.00421800
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x44c], 6
call fcn.00421720
lea ecx, [esp + 0x18]
mov byte [esp + 0x448], 4
call fcn.004217b0
mov ecx, dword [esp + 0x1c]
mov eax, dword [esi + 0x514]
cmp ecx, ebx
je 0x41180b
mov ecx, dword [ecx]
jmp 0x41180d
xor ecx, ecx
mov edx, dword [eax]
push ebx
push ebx
push ebx
push ebx
push ecx
push eax
mov eax, dword [edx + 0x2c]
call eax
mov eax, dword [esi + 0x514]
mov ecx, dword [eax]
mov edx, dword [ecx + 0xf0]
push 0xffffffffffffffff
push eax
call edx
lea ecx, [esp + 0x1c]
mov byte [esp + 0x448], bl
call fcn.004217b0
push str.bplayer
mov ecx, ebp
call fcn.004345a0
cmp eax, ebx
je 0x411897
mov ecx, dword [0x47bb38]
lea edi, [esi + 0x518]
push edi
sub esp, 0x10
mov edx, esp
mov dword [edx], ecx
mov ecx, dword [0x47bb3c]
mov dword [edx + 4], ecx
mov ecx, dword [0x47bb40]
mov dword [edx + 8], ecx
mov ecx, dword [0x47bb44]
mov dword [edx + 0xc], ecx
mov ecx, eax
call fcn.004417d0
cmp dword [edi], ebx
jne 0x411897
push ebx
push 0x47c248
push 0x47c65c
jmp 0x41172a
mov eax, dword [esi + 0x518]
mov edx, dword [esi + 0xde0]
mov ecx, dword [eax]
push edx
push eax
mov eax, dword [ecx + 0x104]
call eax
mov eax, dword [esi + 0x59c]
push eax
push 0x5a
push str.soundbar
push str.memory
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov edi, eax
mov eax, dword [esi + 0x518]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x54]
push edi
push eax
call edx
mov ecx, dword [esi + 0x508]
push edi
call fcn.0042d690
mov eax, dword [esi + 0x59c]
push eax
push ebx
push str.tsuyoku
push str.memory
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov ecx, dword [esi + 0x518]
mov dword [esi + 0xdd4], eax
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 0xf8]
push ecx
call eax
push 0x294
call fcn.00459c10
add esp, 4
mov dword [esp + 0x18], eax
mov byte [esp + 0x448], 7
cmp eax, ebx
je 0x41193a
push eax
call fcn.0040c210
jmp 0x41193c
xor eax, eax
mov byte [esp + 0x448], bl
push 0x1b8
mov dword [esi + 0x53c], eax
call fcn.00459c10
add esp, 4
mov dword [esp + 0x18], eax
mov byte [esp + 0x448], 8
cmp eax, ebx
je 0x41196e
push eax
call fcn.00406050
jmp 0x411970
xor eax, eax
mov byte [esp + 0x448], bl
push 0xb0
mov dword [esi + 0x540], eax
call fcn.00459c10
add esp, 4
mov dword [esp + 0x18], eax
mov byte [esp + 0x448], 9
cmp eax, ebx
je 0x4119a2
push eax
call fcn.0042ab40
jmp 0x4119a4
xor eax, eax
mov byte [esp + 0x448], bl
push 0x38c
mov dword [esi + 0x544], eax
call fcn.00459c10
add esp, 4
mov dword [esp + 0x18], eax
mov byte [esp + 0x448], 0xa
cmp eax, ebx
je 0x4119d6
push eax
call fcn.0040c3f0
jmp 0x4119d8
xor eax, eax
mov byte [esp + 0x448], bl
push 0xd4
mov dword [esi + 0x548], eax
call fcn.00459c10
add esp, 4
mov dword [esp + 0x18], eax
mov byte [esp + 0x448], 0xb
cmp eax, ebx
je 0x411a0a
push eax
call fcn.00401660
jmp 0x411a0c
xor eax, eax
mov byte [esp + 0x448], bl
push 0xb0
mov dword [esi + 0x54c], eax
call fcn.00459c10
add esp, 4
mov dword [esp + 0x18], eax
mov byte [esp + 0x448], 0xc
cmp eax, ebx
je 0x411a3e
push eax
call fcn.0040c320
jmp 0x411a40
xor eax, eax
mov byte [esp + 0x448], bl
mov ecx, dword [esi + 0x53c]
mov dword [esi + 0x550], eax
cmp ecx, ebx
je 0x411d76
cmp dword [esi + 0x544], ebx
je 0x411d76
cmp dword [esi + 0x548], ebx
je 0x411d76
cmp eax, ebx
je 0x411d76
mov eax, dword [esi + 0x5a4]
push eax
add ecx, 0x48
call fcn.004322b0
mov ecx, dword [esi + 0x53c]
mov eax, dword [esi + 0x518]
push ebx
push ebx
push ebx
push ebx
push ebx
push 0x81
push 0x86c80000
mov dword [ecx + 0x260], eax
mov edx, dword [esi + 4]
mov ecx, dword [esi + 0x53c]
push 0x47c688
push edx
call fcn.004333c0
mov eax, dword [esi + 0x5a4]
mov ecx, dword [esi + 0x544]
push eax
add ecx, 0x18
call fcn.004322b0
mov ecx, dword [esi + 0x544]
push ebx
push ebx
push ebx
push ebx
push ebx
push 0x188
push 0x86c80000
push str.RsQ:g_vz
push ebx
call fcn.004333c0
mov eax, dword [esi + 0x5a4]
mov ecx, dword [esi + 0x548]
push eax
add ecx, 0x308
call fcn.004322b0
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0x548]
push ebx
push ebx
push ebx
push ebx
push ebx
push 0x81
push 0x86c80000
push 0x47c6a4
push eax
call fcn.004333c0
mov eax, dword [esi + 0x5a4]
mov ecx, dword [esi + 0x54c]
push eax
add ecx, 0x44
call fcn.004322b0
mov ecx, dword [esi + 0x54c]
push ebx
push 0x226
push 0x33e
push ebx
push ebx
push ebx
push 0xcf0000
push 0x47c6b0
push ebx
call fcn.004333c0
mov eax, dword [esi + 0x5a4]
mov ecx, dword [esi + 0x550]
push eax
add ecx, 0x18
call fcn.004322b0
push ebx
push 0xac
push 0xfa
push ebx
push ebx
push 0x89
push 0x86c80000
push 0x47c6b8
mov ecx, dword [esi + 0x550]
push ebx
call fcn.004333c0
mov ecx, dword [esi + 4]
lea edi, [esi + 0x610]
push 0x6c
mov dword [esi + 0x538], ebx
mov dword [esi + 0x524], ebx
mov dword [edi], 0x3bc
mov dword [esi + 0x614], ecx
mov dword [esi + 0x618], 0x6c
mov dword [esi + 0x61c], 7
mov dword [esi + 0x620], 0x401
call fcn.00433830
push eax
call dword [sym.imp.USER32.dll_LoadIconW]
lea edx, [esp + 0x24]
push edx
mov ecx, 0x47c6c0
mov dword [esi + 0x624], eax
call fcn.004040c0
mov byte [esp + 0x448], 0xd
mov eax, dword [esp + 0x24]
mov ecx, dword [eax - 0xc]
inc ecx
push ecx
push eax
lea eax, [esi + 0x628]
push eax
call fcn.0045b36d
add esp, 0xc
push edi
push ebx
call dword [sym.imp.SHELL32.dll_Shell_NotifyIconW]
mov ecx, dword [esi + 0x504]
push 0x2710
push 0xa
push ecx
mov ecx, ebp
call fcn.00433ab0
mov eax, dword [esi + 0x59c]
push eax
push 0x47c6e0
push 0x47c6e4
push str.memory
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
call fcn.00417300
lea edi, [esi + 0x5a8]
lea edx, [esp + 0x2c]
call fcn.00404220
push str.ttkupdate.exe
push 0x47b320
push edi
call fcn.00404320
mov edi, dword [edi]
push 1
push ebx
push 0x47c6f0
push edi
push str.open
push ebx
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
cmp dword [esi + 0xdcc], ebx
je 0x411d49
push 0x1b8
call fcn.00459c10
add esp, 4
mov dword [esp + 0x18], eax
mov byte [esp + 0x448], 0xe
cmp eax, ebx
je 0x411ccd
push eax
call fcn.00406050
jmp 0x411ccf
xor eax, eax
mov byte [esp + 0x448], 0xd
mov dword [esi + 0x540], eax
cmp eax, ebx
je 0x411d62
mov edx, dword [esi + 0x5a4]
push edx
lea ecx, [eax + 0x18]
call fcn.004322b0
mov eax, dword [esi + 0x5a0]
mov ecx, dword [esi + 0x540]
push eax
add ecx, 0x9c
call fcn.004322b0
mov ecx, dword [esi + 0x59c]
push ecx
mov ecx, dword [esi + 0x540]
add ecx, 0x120
call fcn.004322b0
mov edx, dword [esi + 4]
mov ecx, dword [esi + 0x540]
push ebx
push ebx
push ebx
push ebx
push ebx
push 0x81
push 0x96c80000
push 0x47c6f8
push edx
call fcn.004333c0
jmp 0x411d4f
mov dword [esi + 0x540], ebx
mov eax, dword [esi + 4]
push 0xc0
push 2
push 1
push eax
call dword [sym.imp.USER32.dll_RegisterHotKey]
lea ecx, [esp + 0x24]
call fcn.00404200
lea ecx, [esp + 0x20]
call fcn.00404200
jmp 0x411dba
push ebx
push 0x47c248
push 0x47c65c
push ebx
call dword [sym.imp.USER32.dll_MessageBoxW]
push ebx
call dword [sym.imp.USER32.dll_PostQuitMessage]
mov dword [esp + 0x448], 0xffffffff
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x411dba
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x440]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x428]
xor ecx, esp
call fcn.004599ea
add esp, 0x438
ret