Function at 0x417a10
Capabilities:
Get installed programs

Disassembly:
push ebp
lea ebp, [esp - 0x99c]
sub esp, 0x99c
push 0xffffffffffffffff
push 0x4705f7
mov eax, dword fs:[0]
push eax
sub esp, 0xb0
mov eax, dword [0x487550]
xor eax, ebp
mov dword [ebp + 0x998], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
call fcn.0041d210
call fcn.004323c0
mov eax, dword [ebp + 0x9a4]
xor edi, edi
mov dword [ebp - 4], edi
push str.user32
mov dword [0x48a828], eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
cmp eax, edi
je 0x417a8a
push str.SetProcessDPIAware
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp eax, edi
je 0x417a8a
call eax
lea ecx, [ebp - 0x54]
push ecx
push 0x20019
push edi
push str.SOFTWAREMicrosoftWindowsCurrentVersionUninstallD63F7A9D_E379_4AEA_B8F0_BE5C9F6B90D5_is1
push closesocket
mov dword [ebp - 0x54], edi
mov byte [ebp - 0x58], 1
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x417ab7
mov byte [ebp - 0x58], al
mov byte [0x488799], al
push edi
push 0x4791e6
lea ecx, [ebp + 0x144]
mov dword [ebp + 0x15c], 0xf
mov dword [ebp + 0x158], edi
mov byte [ebp + 0x148], 0
call fcn.00403b10
push 0x7fe
lea eax, [ebp + 0x19a]
xor edx, edx
push edi
mov byte [ebp - 4], 1
push eax
mov word [ebp + 0x198], dx
call fcn.00452c80
add esp, 0xc
push 0x3ff
lea ecx, [ebp + 0x198]
push ecx
push edi
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
xor edx, edx
mov ebx, 7
lea eax, [ebp + 0x198]
mov word [ebp - 0x70], dx
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x60], edi
lea edx, [eax + 2]
mov edi, edi
mov cx, word [eax]
add eax, 2
cmp cx, di
jne 0x417b30
sub eax, edx
sar eax, 1
push eax
lea eax, [ebp + 0x198]
lea esi, [ebp - 0x74]
call fcn.00403ee0
mov eax, esi
push eax
lea ecx, [ebp + 0x128]
mov byte [ebp - 4], 2
call fcn.0042c040
add esp, 4
mov byte [ebp - 4], 4
cmp dword [ebp - 0x5c], 8
jb 0x417b79
mov ecx, dword [ebp - 0x70]
push ecx
call fcn.0044caf8
add esp, 4
mov eax, dword [ebp + 0x12c]
mov dword [ebp - 0x5c], ebx
xor edx, edx
mov ebx, 0x10
mov dword [ebp - 0x60], edi
mov word [ebp - 0x70], dx
cmp dword [ebp + 0x140], ebx
jae 0x417b9e
lea eax, [ebp + 0x12c]
push 0x5c
push eax
call fcn.0044cd40
add esp, 8
cmp eax, edi
je 0x417c4f
mov ecx, eax
mov dword [ebp + 0x178], 0xf
mov dword [ebp + 0x174], edi
mov byte [ebp + 0x164], 0
lea esi, [ecx + 1]
lea ecx, [ecx]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x417bd0
sub ecx, esi
push ecx
push eax
lea ecx, [ebp + 0x160]
call fcn.00403b10
mov byte [ebp - 4], 5
mov eax, dword [ebp + 0x174]
add eax, 0xfffffffb
push eax
mov ecx, 1
lea esi, [ebp + 0x17c]
lea edx, [ebp + 0x160]
call fcn.00418b90
push 0xffffffffffffffff
push edi
push eax
lea ecx, [ebp + 0x144]
mov byte [ebp - 4], 6
call fcn.004038f0
cmp dword [ebp + 0x194], ebx
jb 0x417c34
mov ecx, dword [ebp + 0x180]
push ecx
call fcn.0044caf8
add esp, 4
mov byte [ebp - 4], 4
cmp dword [ebp + 0x178], ebx
jb 0x417c4f
mov edx, dword [ebp + 0x164]
push edx
call fcn.0044caf8
add esp, 4
push edi
push 0x4791e6
lea ecx, [ebp + 0xd4]
mov dword [ebp + 0xec], 0xf
mov dword [ebp + 0xe8], edi
mov byte [ebp + 0xd8], 0
call fcn.00403b10
mov byte [ebp - 4], 7
mov ebx, dword [ebp + 0x158]
push 1
push 0x4791e8
lea ecx, [ebp + 0x160]
mov dword [ebp + 0x178], 0xf
mov dword [ebp + 0x174], edi
mov byte [ebp + 0x164], 0
call fcn.00403b10
lea eax, [ebp + 0x160]
push eax
lea ecx, [ebp + 0x144]
push ecx
mov byte [ebp - 4], 8
call fcn.0042dcd0
add esp, 8
mov byte [ebp - 4], 7
cmp dword [ebp + 0x178], 0x10
mov edi, eax
jb 0x417ce2
mov edx, dword [ebp + 0x164]
push edx
call fcn.0044caf8
add esp, 4
test edi, edi
jl 0x417d7d
lea eax, [ebx - 1]
cmp edi, eax
jge 0x417d7d
lea esi, [edi + 1]
cmp esi, ebx
jge 0x417d7d
cmp esi, dword [ebp + 0x158]
jbe 0x417d0d
call fcn.0044cae8
cmp dword [ebp + 0x15c], 0x10
mov eax, dword [ebp + 0x148]
jae 0x417d22
lea eax, [ebp + 0x148]
cmp byte [eax + esi], 0x55
jne 0x417d2b
lea esi, [edi + 2]
mov eax, ebx
sub eax, esi
cmp eax, 8
jle 0x417d39
mov eax, 8
mov ecx, esi
push eax
lea esi, [ebp + 0x17c]
lea edx, [ebp + 0x144]
call fcn.00418b90
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp + 0xd4]
mov byte [ebp - 4], 9
call fcn.004038f0
mov byte [ebp - 4], 7
cmp dword [ebp + 0x194], 0x10
jb 0x417d7d
mov ecx, dword [ebp + 0x180]
push ecx
call fcn.0044caf8
add esp, 4
xor ebx, ebx
xor edx, edx
mov edi, 7
push ebx
mov eax, 0x477e5c
lea esi, [ebp + 0x10c]
mov dword [ebp + 0x124], edi
mov dword [ebp + 0x120], ebx
mov word [ebp + 0x110], dx
call fcn.00403ee0
call fcn.004481f0
xor ecx, ecx
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x20], ebx
mov word [ebp - 0x30], cx
lea ecx, [ebp - 0x34]
push ecx
mov byte [ebp - 4], 0xb
mov edx, dword [eax]
mov edx, dword [edx + 0xc]
lea ecx, [ebp + 0xb8]
push ecx
push eax
call edx
mov ebx, 8
mov byte [ebp - 4], 0xd
cmp dword [ebp - 0x1c], ebx
jb 0x417dec
mov eax, dword [ebp - 0x30]
push eax
call fcn.0044caf8
add esp, 4
xor ecx, ecx
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x20], 0
mov word [ebp - 0x30], cx
cmp dword [ebp + 0xcc], ecx
jbe 0x417f75
xor edx, edx
push 1
mov eax, 0x4791ec
lea esi, [ebp - 0x98]
mov dword [ebp - 0x80], edi
mov dword [ebp - 0x84], ecx
mov word [ebp - 0x94], dx
call fcn.00403ee0
lea eax, [ebp - 0x70]
push eax
mov ecx, esi
lea edx, [ebp + 0xb8]
mov byte [ebp - 4], 0xe
call fcn.0042d330
add esp, 4
mov byte [ebp - 4], 0x10
cmp dword [ebp - 0x80], ebx
jb 0x417e5c
mov ecx, dword [ebp - 0x94]
push ecx
call fcn.0044caf8
add esp, 4
mov ecx, dword [ebp - 0x60]
sub ecx, dword [ebp - 0x64]
xor edx, edx
mov word [ebp - 0x94], dx
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
xor ebx, ebx
add eax, edx
mov dword [ebp - 0x80], edi
mov dword [ebp - 0x84], ebx
cmp eax, 4
jne 0x417f3d
cmp eax, 1
ja 0x417e9c
call fcn.0044cae8
mov eax, dword [ebp - 0x64]
add eax, 0x1c
push eax
lea ecx, [ebp + 0x17c]
call fcn.0042c040
mov esi, 0x10
add esp, 4
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], ebx
cmp dword [eax + 0x18], esi
jb 0x417ec6
mov eax, dword [eax + 4]
jmp 0x417ec9
add eax, 4
lea ecx, [ebp - 0x18]
push ecx
push 0x47a358
push eax
call fcn.0044d7d7
add esp, 0xc
cmp dword [ebp + 0x194], esi
jb 0x417ef2
mov edx, dword [ebp + 0x180]
push edx
call fcn.0044caf8
add esp, 4
mov eax, dword [ebp - 0x14]
cmp eax, ebx
jl 0x417f3d
mov ecx, dword [ebp - 0x18]
jg 0x417f03
cmp ecx, 0x60
jb 0x417f3d
cmp eax, ebx
jg 0x417f3d
jl 0x417f0e
cmp ecx, 0x63
ja 0x417f3d
add ecx, 0xffffffa0
jmp dword [ecx*4 + 0x418b80]
mov byte [ebp - 4], 0xd
mov eax, dword [ebp - 0x64]
cmp eax, ebx
je 0x417f60
mov ecx, dword [ebp - 0x54]
mov edi, dword [ebp - 0x60]
push ecx
call fcn.00418c50
mov edx, dword [ebp - 0x64]
push edx
call fcn.0044caf8
add esp, 8
mov eax, dword [ebp - 0x70]
push eax
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x5c], ebx
call fcn.0044caf8
add esp, 4
mov eax, dword [0x48a8b0]
lea esi, [eax + 0x70]
mov edi, eax
mov eax, dword [esi + 4]
xor ebx, ebx
cmp eax, ebx
je 0x417f91
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push 0xffffffffffffffff
push ebx
lea ecx, [ebp + 0xd4]
push ecx
lea ecx, [edi + 0x54]
call fcn.004038f0
mov esi, dword [esi + 4]
cmp esi, ebx
je 0x417fb1
push esi
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
lea edx, [ebp - 0x18]
push edx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], ebx
call fcn.0044cd99
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
push eax
push ecx
lea esi, [ebp + 0x160]
call fcn.0042dbb0
add esp, 0xc
mov ecx, eax
lea ebx, [ebp + 0x17c]
mov byte [ebp - 4], 0x11
call fcn.0042be40
mov esi, eax
mov dword [ebp - 0x14], esi
mov byte [ebp - 4], 0x12
call fcn.004270b0
xor ebx, ebx
mov edi, eax
cmp dword [esi + 0x14], ebx
je 0x418042
mov eax, dword [ebp - 0x14]
push 0xffffffffffffffff
lea esi, [edi + 0x134]
push ebx
mov ecx, esi
call fcn.004042a0
mov eax, 8
cmp dword [edi + 0x6c], eax
jb 0x418020
mov edi, dword [edi + 0x58]
jmp 0x418023
add edi, 0x58
cmp dword [esi + 0x18], eax
jb 0x41802d
mov esi, dword [esi + 4]
jmp 0x418030
add esi, 4
push edi
push esi
push str.begin_timestamp
push str.General
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
cmp dword [ebp + 0x194], 8
jb 0x41805a
mov edx, dword [ebp + 0x180]
push edx
call fcn.0044caf8
add esp, 4
xor eax, eax
mov esi, 7
mov byte [ebp - 4], 0xd
cmp dword [ebp + 0x178], 0x10
mov dword [ebp + 0x194], esi
mov dword [ebp + 0x190], ebx
mov word [ebp + 0x180], ax
jb 0x418090
mov ecx, dword [ebp + 0x164]
push ecx
call fcn.0044caf8
add esp, 4
push ebx
push 0x4791e6
lea ecx, [ebp + 0x9c]
mov dword [ebp + 0xb4], 0xf
mov dword [ebp + 0xb0], ebx
mov byte [ebp + 0xa0], bl
call fcn.00403b10
mov byte [ebp - 4], 0x13
mov dword [ebp + 0x108], esi
xor edx, edx
push ebx
mov eax, 0x477e5c
lea esi, [ebp + 0xf0]
mov dword [ebp + 0x104], ebx
mov word [ebp + 0xf4], dx
call fcn.00403ee0
mov byte [ebp - 4], 0x14
mov dword [ebp - 0x14], ebx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
lea edi, [ebp - 0x14]
call fcn.0042ecd0
add esp, 4
cmp al, bl
je 0x41810d
mov ecx, dword [ebp - 0x14]
mov eax, esi
push eax
push ecx
call fcn.0042ed70
add esp, 8
cmp dword [ebp + 0x104], ebx
je 0x41825b
call fcn.004270b0
mov esi, eax
cmp dword [ebp + 0x104], ebx
je 0x418171
push 0xffffffffffffffff
push ebx
lea ecx, [esi + 0x38]
lea eax, [ebp + 0xf0]
call fcn.004042a0
mov eax, 8
cmp dword [esi + 0x6c], eax
jb 0x418148
mov esi, dword [esi + 0x58]
jmp 0x41814b
add esi, 0x58
cmp dword [ebp + 0x108], eax
mov eax, dword [ebp + 0xf4]
jae 0x41815f
lea eax, [ebp + 0xf4]
push esi
push eax
push str.launch_appname
push str.General
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
lea edx, [ebp + 0xf0]
push edx
lea ecx, [ebp + 0x17c]
call fcn.0042c040
add esp, 4
mov byte [ebp - 4], 0x15
cmp dword [ebp + 0x194], 0x10
mov eax, dword [ebp + 0x180]
jae 0x41819f
lea eax, [ebp + 0x180]
push 0x5c
push eax
call fcn.0044cd40
mov esi, eax
add esp, 8
cmp esi, ebx
je 0x41823f
mov ecx, esi
mov dword [ebp + 0x178], 0xf
mov dword [ebp + 0x174], ebx
mov byte [ebp + 0x164], bl
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
cmp al, bl
jne 0x4181d0
sub ecx, edx
push ecx
push esi
lea ecx, [ebp + 0x160]
call fcn.00403b10
push 0xffffffffffffffff
mov ecx, 1
lea esi, [ebp - 0x34]
lea edx, [ebp + 0x160]
mov byte [ebp - 4], 0x16
call fcn.00418b90
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp + 0x9c]
mov byte [ebp - 4], 0x17
call fcn.004038f0
mov esi, 0x10
cmp dword [ebp - 0x1c], esi
jb 0x418228
mov eax, dword [ebp - 0x30]
push eax
call fcn.0044caf8
add esp, 4
cmp dword [ebp + 0x178], esi
jb 0x41823f
mov ecx, dword [ebp + 0x164]
push ecx
call fcn.0044caf8
add esp, 4
mov byte [ebp - 4], 0x14
cmp dword [ebp + 0x194], 0x10
jb 0x41825b
mov edx, dword [ebp + 0x180]
push edx
call fcn.0044caf8
add esp, 4
xor eax, eax
mov word [ebp - 0x94], ax
lea eax, [ebp + 0x198]
mov dword [ebp - 0x80], 7
mov dword [ebp - 0x84], ebx
lea edx, [eax + 2]
lea ebx, [ebx]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x418280
sub eax, edx
sar eax, 1
push eax
lea eax, [ebp + 0x198]
lea esi, [ebp - 0x98]
call fcn.00403ee0
mov byte [ebp - 4], 0x18
mov ecx, 0x40
mov dword [ebp - 0x64], vtable.CFileStream.0
mov byte [ebp - 0x5c], bl
call fcn.0042f4f0
mov dword [ebp - 0x60], eax
mov byte [ebp - 4], 0x1a
cmp dword [ebp - 0x80], 8
jb 0x4182d5
mov ecx, dword [ebp - 0x94]
push ecx
call fcn.0044caf8
add esp, 4
xor edx, edx
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0xa0]
mov word [ebp - 0x94], dx
push ecx
lea edx, [ebp - 0x7c]
push edx
lea eax, [ebp - 0x64]
push eax
mov dword [ebp - 0x80], 7
mov dword [ebp - 0x84], ebx
xor esi, esi
mov dword [ebp - 0x78], ebx
call fcn.0042f390
test al, al
je 0x41832a
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x78]
cmp ecx, edx
jl 0x41832a
mov eax, dword [ebp - 0x18]
jg 0x418320
cmp eax, dword [ebp - 0x7c]
jbe 0x41832a
sub eax, dword [ebp - 0x7c]
sbb ecx, edx
mov esi, eax
mov dword [ebp - 0x78], ecx
call fcn.0041fe10
mov ecx, dword [eax]
mov edx, dword [ecx + 0xc]
push eax
call edx
call fcn.0041fe10
mov edx, dword [ebp - 0x58]
mov ecx, dword [eax]
push edx
push str.is_first_install
push eax
mov eax, dword [ecx + 0x14]
call eax
call fcn.0041fe10
mov ecx, dword [ebp + 0x148]
mov edi, 0x10
cmp dword [ebp + 0x15c], edi
jae 0x41836b
lea ecx, [ebp + 0x148]
mov edx, dword [eax]
push ecx
push str.soft_package_name
push eax
mov eax, dword [edx + 0x18]
call eax
call fcn.0041fe10
mov ecx, dword [eax]
mov edx, dword [ecx + 0x10]
push esi
push str.download_time
push eax
call edx
call fcn.0041fe10
mov ecx, dword [ebp + 0xa0]
cmp dword [ebp + 0xb4], edi
jae 0x4183a5
lea ecx, [ebp + 0xa0]
mov edx, dword [eax]
push ecx
push str.parent_app_name
push eax
mov eax, dword [edx + 0x18]
call eax
xor ecx, ecx
push 3
mov eax, 0x479258
lea esi, [ebp + 0x160]
mov dword [ebp + 0x178], 7
mov dword [ebp + 0x174], ebx
mov word [ebp + 0x164], cx
call fcn.00403ee0
mov byte [ebp - 4], 0x1b
call fcn.0041fe10
lea edx, [ebp + 0x160]
push edx
lea ecx, [ebp + 0x17c]
mov esi, eax
call fcn.0042c040
add esp, 4
mov byte [ebp - 4], 0x1c
cmp dword [eax + 0x18], edi
jb 0x41840c
mov eax, dword [eax + 4]
jmp 0x41840f
add eax, 4
mov ecx, dword [esi]
mov edx, dword [ecx + 0x18]
push eax
push str.install_type
push esi
call edx
cmp dword [ebp + 0x194], edi
jb 0x418434
mov eax, dword [ebp + 0x180]
push eax
call fcn.0044caf8
add esp, 4
mov esi, 0xf
mov byte [ebp - 4], 0x1a
cmp dword [ebp + 0x178], 8
mov dword [ebp + 0x194], esi
mov dword [ebp + 0x190], ebx
mov byte [ebp + 0x180], bl
jb 0x418467
mov ecx, dword [ebp + 0x164]
push ecx
call fcn.0044caf8
add esp, 4
push 0xc
push str.pSoftInstall
lea ecx, [ebp + 0x160]
mov dword [ebp + 0x178], esi
mov dword [ebp + 0x174], ebx
mov byte [ebp + 0x164], bl
call fcn.00403b10
mov byte [ebp - 4], 0x1d
call fcn.0041fe10
mov edx, dword [eax]
mov edx, dword [edx + 8]
lea ecx, [ebp + 0x160]
push ecx
push eax
call edx
cmp dword [ebp + 0x178], edi
jb 0x4184ba
mov eax, dword [ebp + 0x164]
push eax
call fcn.0044caf8
add esp, 4
call fcn.0041fe10
mov dword [ebp + 0x194], esi
mov dword [ebp + 0x190], ebx
mov byte [ebp + 0x180], bl
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x3c], ebx
mov byte [ebp - 0x4c], bl
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x20], ebx
mov byte [ebp - 0x30], bl
lea edx, [ebp + 0x17c]
push edx
lea edx, [ebp - 0x50]
push edx
lea edx, [ebp - 0x34]
push edx
mov byte [ebp - 4], 0x20
mov ecx, dword [eax]
push 1
push eax
mov eax, dword [ecx + 0x1c]
call eax
cmp dword [ebp - 0x1c], edi
jb 0x418511
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.0044caf8
add esp, 4
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x20], ebx
mov byte [ebp - 0x30], bl
cmp dword [ebp - 0x38], edi
jb 0x41852b
mov edx, dword [ebp - 0x4c]
push edx
call fcn.0044caf8
add esp, 4
mov byte [ebp - 4], 0x1a
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x3c], ebx
mov byte [ebp - 0x4c], bl
cmp dword [ebp + 0x194], edi
jb 0x41854f
mov eax, dword [ebp + 0x180]
push eax
call fcn.0044caf8
add esp, 4
mov edx, dword [ebp + 0x148]
cmp dword [ebp + 0x15c], edi
jae 0x418563
lea edx, [ebp + 0x148]
mov eax, edx
mov dword [ebp + 0x194], esi
mov dword [ebp + 0x190], ebx
mov byte [ebp + 0x180], bl
lea edi, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x418580
sub eax, edi
push eax
push edx
lea ecx, [ebp + 0x17c]
call fcn.00403b10
mov byte [ebp - 4], 0x21
push 4
push 0x477cb4
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x20], ebx
mov byte [ebp - 0x30], bl
call fcn.00403b10
mov byte [ebp - 4], 0x22
push 4
push 0x477cac
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x3c], ebx
mov byte [ebp - 0x4c], bl
call fcn.00403b10
mov byte [ebp - 4], 0x23
call fcn.0041fe10
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x58], esp
push ecx
mov edi, eax
call fcn.00433790
mov dword [ebp + 0x178], esi
mov dword [ebp + 0x174], ebx
mov byte [ebp + 0x164], bl
lea eax, [ebp + 0x160]
push eax
lea ecx, [ebp + 0x17c]
push ecx
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebp - 0x50]
push ecx
mov byte [ebp - 4], 0x24
mov edx, dword [edi]
mov edx, dword [edx + 4]
push 4
push edi
call edx
mov edi, 0x10
cmp dword [ebp + 0x178], edi
jb 0x418639
mov eax, dword [ebp + 0x164]
push eax
call fcn.0044caf8
add esp, 4
mov dword [ebp + 0x178], esi
mov dword [ebp + 0x174], ebx
mov byte [ebp + 0x164], bl
cmp dword [ebp - 0x38], edi
jb 0x41865c
mov ecx, dword [ebp - 0x4c]
push ecx
call fcn.0044caf8
add esp, 4
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x3c], ebx
mov byte [ebp - 0x4c], bl
cmp dword [ebp - 0x1c], edi
jb 0x418676
mov edx, dword [ebp - 0x30]
push edx
call fcn.0044caf8
add esp, 4
mov byte [ebp - 4], 0x1a
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x20], ebx
mov byte [ebp - 0x30], bl
cmp dword [ebp + 0x194], edi
jb 0x41869a
mov eax, dword [ebp + 0x180]
push eax
call fcn.0044caf8
add esp, 4
call fcn.00417990
mov byte [ebp - 4], 0x25
call fcn.0042d940
push eax
mov ebx, str.ZHIXIMIND_
lea esi, [ebp + 0x17c]
call fcn.004059c0
add esp, 4
mov ecx, esi
push ecx
mov byte [ebp - 4], 0x26
call fcn.0042ca30
add esp, 4
cmp dword [ebp + 0x194], 8
jb 0x4186e3
mov edx, dword [ebp + 0x180]
push edx
call fcn.0044caf8
add esp, 4
mov dword [ebp - 4], 0x1a
lea eax, [ebp]
push eax
call fcn.00418cc0
mov eax, dword [ebp + 4]
xor ebx, ebx
cmp eax, ebx
je 0x41871d
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x41871d
mov ecx, dword [ebp + 4]
push 5
push ecx
call dword [sym.imp.USER32.dll_ShowWindow]
mov edx, dword [ebp + 4]
push edx
call dword [sym.imp.USER32.dll_UpdateWindow]
mov esi, dword [sym.imp.USER32.dll_GetMessageW]
mov edi, dword [sym.imp.USER32.dll_TranslateMessage]
lea esp, [esp]
push ebx
push ebx
push ebx
lea eax, [ebp - 0xbc]
push eax
call esi
test eax, eax
je 0x418765
lea ecx, [ebp - 0xbc]
push ecx
call edi
lea edx, [ebp - 0xbc]
push edx
call dword [sym.imp.USER32.dll_DispatchMessageW]
jmp 0x418730
lea eax, [ebp]
push eax
call fcn.00419460
mov eax, dword [ebp - 0x60]
cmp eax, ebx
je 0x418781
cmp eax, 0xffffffff
je 0x418781
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp + 0x108], 8
jb 0x418799
mov ecx, dword [ebp + 0xf4]
push ecx
call fcn.0044caf8
add esp, 4
xor edx, edx
mov edi, 0x10
mov esi, 7
mov dword [ebp + 0x108], esi
mov dword [ebp + 0x104], ebx
mov word [ebp + 0xf4], dx
cmp dword [ebp + 0xb4], edi
jb 0x4187cf
mov eax, dword [ebp + 0xa0]
push eax
call fcn.0044caf8
add esp, 4
cmp dword [ebp + 0xd0], 8
mov dword [ebp + 0xb4], 0xf
mov dword [ebp + 0xb0], ebx
mov byte [ebp + 0xa0], bl
jb 0x4187fd
mov ecx, dword [ebp + 0xbc]
push ecx
call fcn.0044caf8
add esp, 4
xor edx, edx
cmp dword [ebp + 0x124], 8
mov dword [ebp + 0xd0], esi
mov dword [ebp + 0xcc], ebx
mov word [ebp + 0xbc], dx
jb 0x41882a
mov eax, dword [ebp + 0x110]
push eax
call fcn.0044caf8
add esp, 4
xor ecx, ecx
mov dword [ebp + 0x124], esi
mov dword [ebp + 0x120], ebx
mov word [ebp + 0x110], cx
cmp dword [ebp + 0xec], edi
jb 0x418856
mov edx, dword [ebp + 0xd8]
push edx
call fcn.0044caf8
add esp, 4
mov dword [ebp + 0xec], 0xf
mov dword [ebp + 0xe8], ebx
mov byte [ebp + 0xd8], bl
cmp dword [ebp + 0x140], edi
jb 0x418883
mov eax, dword [ebp + 0x12c]
push eax
call fcn.0044caf8
add esp, 4
mov dword [ebp + 0x140], 0xf
mov dword [ebp + 0x13c], ebx
mov byte [ebp + 0x12c], bl
cmp dword [ebp + 0x15c], edi
jb 0x4188b0
mov ecx, dword [ebp + 0x148]
push ecx
call fcn.0044caf8
add esp, 4
mov dword [ebp - 4], 0xffffffff
jmp 0x4188cb
push 4
mov esi, 0xf
push 0x477cbc
lea ecx, [ebp + 0x17c]
mov dword [ebp + 0x194], esi
mov dword [ebp + 0x190], ebx
mov byte [ebp + 0x180], bl
call fcn.00403b10
mov dword [ebp - 4], 0x29
push 4
push 0x477cac
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x20], ebx
mov byte [ebp - 0x30], bl
call fcn.00403b10
mov byte [ebp - 4], 0x2a
call fcn.0041fe10
sub esp, 0x18
mov edx, esp
mov dword [ebp - 0x54], esp
push edx
mov esi, eax
call fcn.00433790
mov eax, 0xf
mov dword [ebp + 0x124], eax
mov dword [ebp + 0x120], ebx
mov byte [ebp + 0x110], bl
mov dword [ebp + 0x140], eax
mov dword [ebp + 0x13c], ebx
mov byte [ebp + 0x12c], bl
lea ecx, [ebp + 0x10c]
push ecx
lea edx, [ebp + 0x128]
push edx
lea ecx, [ebp + 0x17c]
push ecx
lea edx, [ebp - 0x34]
push edx
mov byte [ebp - 4], 0x2c
mov eax, dword [esi]
mov eax, dword [eax + 4]
push 4
push esi
call eax
cmp dword [ebp + 0x140], edi
jb 0x418993
mov ecx, dword [ebp + 0x12c]
push ecx
call fcn.0044caf8
add esp, 4
mov esi, 0xf
mov dword [ebp + 0x140], esi
mov dword [ebp + 0x13c], ebx
mov byte [ebp + 0x12c], bl
cmp dword [ebp + 0x124], edi
jb 0x4189c1
mov edx, dword [ebp + 0x110]
push edx
call fcn.0044caf8
add esp, 4
mov dword [ebp + 0x124], esi
mov dword [ebp + 0x120], ebx
mov byte [ebp + 0x110], bl
cmp dword [ebp - 0x1c], edi
jb 0x4189e4
mov eax, dword [ebp - 0x30]
push eax
call fcn.0044caf8
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x20], ebx
mov byte [ebp - 0x30], bl
cmp dword [ebp + 0x194], edi
jb 0x418a0b
mov ecx, dword [ebp + 0x180]
push ecx
call fcn.0044caf8
add esp, 4
call fcn.0041fe10
mov edx, dword [eax]
push eax
mov eax, dword [edx + 0xc]
call eax
xor ecx, ecx
push 4
mov eax, 0x479298
lea esi, [ebp + 0x17c]
mov dword [ebp + 0x194], 7
mov dword [ebp + 0x190], ebx
mov word [ebp + 0x180], cx
call fcn.00403ee0
mov dword [ebp - 4], 0x2d
call fcn.0041fe10
lea edx, [ebp + 0x17c]
push edx
lea ecx, [ebp + 0xb8]
mov esi, eax
call fcn.0042c040
add esp, 4
mov byte [ebp - 4], 0x2e
cmp dword [eax + 0x18], edi
jb 0x418a74
mov eax, dword [eax + 4]
jmp 0x418a77
add eax, 4
mov ecx, dword [esi]
mov edx, dword [ecx + 0x18]
push eax
push str.event_name
push esi
call edx
cmp dword [ebp + 0xd0], edi
jb 0x418a9c
mov eax, dword [ebp + 0xbc]
push eax
call fcn.0044caf8
add esp, 4
mov esi, 0xf
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp + 0x194], 8
mov dword [ebp + 0xd0], esi
mov dword [ebp + 0xcc], ebx
mov byte [ebp + 0xbc], bl
jb 0x418ad2
mov ecx, dword [ebp + 0x180]
push ecx
call fcn.0044caf8
add esp, 4
push 9
push str.vSoftQuit
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x3c], ebx
mov byte [ebp - 0x4c], bl
call fcn.00403b10
mov dword [ebp - 4], 0x2f
call fcn.0041fe10
mov edx, dword [eax]
mov edx, dword [edx + 8]
lea ecx, [ebp - 0x50]
push ecx
push eax
call edx
cmp dword [ebp - 0x38], edi
jb 0x418b13
mov eax, dword [ebp - 0x4c]
push eax
call fcn.0044caf8
add esp, 4
mov dword [ebp - 0x38], esi
mov esi, dword [0x48a8b0]
mov dword [ebp - 0x3c], ebx
mov byte [ebp - 0x4c], bl
cmp esi, ebx
je 0x418b3c
mov edi, esi
call fcn.00432340
push edi
call fcn.0044caf8
add esp, 4
mov dword [0x48a8b0], ebx
mov eax, dword [0x48a880]
cmp eax, ebx
je 0x418b57
cmp eax, 0xffffffff
je 0x418b57
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [0x48a880], ebx
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x998]
xor ecx, ebp
call fcn.0044c790
add ebp, 0x99c
mov esp, ebp
pop ebp
ret 0x10