Function at 0x4054bd
Capabilities:
Accept command line arguments
Create process on windows
Get file size
Hide graphical window
Read file on windows
Resolve function by parsing pe exports
Terminate process

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x450409
mov eax, dword fs:[0]
push eax
sub esp, 0xa8
mov eax, dword [0x463140]
xor eax, esp
mov dword [esp + 0xa0], eax
push ebx
push esi
push edi
mov eax, dword [0x463140]
xor eax, esp
push eax
lea eax, [esp + 0xb8]
mov dword fs:[0], eax
push dword [ebp + 0xc]
mov ebx, ecx
push dword [ebp + 8]
mov dword [esp + 0x38], ebx
call fcn.00422530
mov dword [esp + 0x68], eax
call fcn.004065e3
test eax, eax
je 0x405690
lea eax, [esp + 0x1c]
push eax
push 8
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.ADVAPI32.dll_OpenProcessToken]
xor edi, edi
test eax, eax
je 0x405692
lea eax, [esp + 0x10]
push eax
push 4
lea eax, [esp + 0x20]
push eax
push 0x12
push dword [esp + 0x2c]
mov dword [esp + 0x24], edi
call dword [sym.imp.ADVAPI32.dll_GetTokenInformation]
test eax, eax
je 0x405692
cmp dword [esp + 0x18], 3
jne 0x405692
mov edi, dword [esp + 0x1c]
call fcn.00406689
test eax, eax
je 0x405690
mov eax, dword [section..data]
and dword [esp + 0x14], 0
mov ecx, section..data
call dword [eax + 0xc]
lea edi, [eax + 0x10]
mov dword [esp + 0x1c], edi
and dword [esp + 0xc0], 0
lea eax, [esp + 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov esi, eax
test esi, esi
je 0x4055e4
xor ebx, ebx
inc ebx
cmp dword [esp + 0x14], ebx
jle 0x4055dd
push dword [esi + ebx*4]
lea ecx, [esp + 0x20]
push 0x45656c
call fcn.00406d57
inc ebx
pop ecx
pop ecx
cmp ebx, dword [esp + 0x14]
jl 0x4055bf
mov edi, dword [esp + 0x1c]
push esi
call dword [sym.imp.KERNEL32.dll_LocalFree]
push 0x3c
pop ebx
push ebx
lea eax, [esp + 0x70]
push 0
push eax
call fcn.00437620
add esp, 0xc
lea esi, [esp + 0x24]
call fcn.0041dfa0
mov eax, dword [esp + 0x24]
mov dword [esp + 0x7c], eax
lea eax, [esp + 0x6c]
xor esi, esi
push eax
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], esi
mov dword [esp + 0x78], esi
mov dword [esp + 0x7c], str.runas
mov dword [esp + 0x84], edi
mov dword [esp + 0x88], 0x456c24
mov dword [esp + 0x8c], 1
call dword [sym.imp.SHELL32.dll_ShellExecuteExW]
mov eax, dword [esp + 0x24]
add eax, 0xfffffff0
call fcn.0040507e
push esi
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
lea eax, [edi - 0x10]
call fcn.0040507e
xor eax, eax
mov ecx, dword [esp + 0xb8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xa0]
xor ecx, esp
call fcn.00437608
mov esp, ebp
pop ebp
ret 8
xor edi, edi
fldz
mov dword [esp + 0x3c], edi
fstp qword [esp + 0x34]
mov dword [esp + 0xc0], 1
lea esi, [esp + 0x2c]
mov dword [esp + 0x10], edi
mov dword [esp + 0x1c], edi
call fcn.0041dfa0
push edi
push 0x80
push 3
push edi
push 1
push closesocket
mov byte [esp + 0xd8], 2
push dword [esp + 0x44]
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
mov dword [esp + 0x28], esi
cmp esi, 0xffffffff
je 0x40599f
push edi
push esi
mov dword [esp + 0x28], edi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [esp + 0x18], eax
xor eax, eax
push 0x3e
mov word [esp + 0x70], ax
lea eax, [esp + 0x72]
push edi
push eax
call fcn.00437620
add esp, 0xc
push edi
lea eax, [esp + 0x24]
push eax
push 0x40
lea eax, [esp + 0x78]
push eax
push esi
mov esi, dword [sym.imp.KERNEL32.dll_ReadFile]
call esi
test eax, eax
je 0x40598f
mov eax, dword [esp + 0xa8]
push edi
push edi
add eax, 0xfffffffc
push eax
push dword [esp + 0x34]
mov dword [esp + 0x34], edi
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
push edi
lea eax, [esp + 0x24]
push eax
push 4
lea eax, [esp + 0x30]
push eax
push dword [esp + 0x38]
call esi
test eax, eax
je 0x40598f
mov eax, dword [esp + 0x24]
cmp eax, edi
jbe 0x40598f
cmp eax, dword [esp + 0x18]
jae 0x40598f
push edi
push edi
push eax
push dword [esp + 0x34]
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
push edi
lea eax, [esp + 0x24]
push eax
push 4
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x38]
mov dword [esp + 0x28], edi
call esi
test eax, eax
je 0x40598f
mov eax, dword [esp + 0x18]
sub eax, dword [esp + 0x24]
cmp dword [esp + 0x14], eax
jae 0x40598f
push dword [esp + 0x14]
call fcn.004375a9
pop ecx
push edi
lea ecx, [esp + 0x24]
push ecx
push dword [esp + 0x1c]
mov dword [esp + 0x24], eax
push eax
push dword [esp + 0x38]
call esi
test eax, eax
je 0x40598f
mov ecx, dword [esp + 0x18]
lea edi, [esp + 0x34]
call fcn.00418da0
test al, al
je 0x40598d
mov esi, str.mode
mov edx, esi
mov ecx, edi
call fcn.00418980
test al, al
je 0x405824
mov edx, esi
mov ecx, edi
mov dword [esp + 0x10], 1
call fcn.00418710
mov ecx, eax
call fcn.004182e0
mov dword [ebx + 0x17dc], eax
mov esi, str.channel
mov edx, esi
lea ecx, [esp + 0x34]
call fcn.00418980
test al, al
je 0x405850
mov edx, esi
lea ecx, [esp + 0x34]
call fcn.00418710
mov ecx, eax
call fcn.004182e0
mov dword [ebx + 0x171c], eax
mov esi, str.quiet
mov edx, esi
lea ecx, [esp + 0x34]
call fcn.00418980
test al, al
je 0x40587b
mov edx, esi
lea ecx, [esp + 0x34]
call fcn.00418710
call fcn.00418440
movzx eax, al
mov dword [esp + 0x1c], eax
call fcn.0041fea0
lea ecx, [esp + 0x34]
mov esi, str.ituneslite64
cmp eax, 1
je 0x405893
mov esi, str.ituneslite32
mov edx, esi
call fcn.00418980
test al, al
je 0x4058b7
mov edx, esi
lea ecx, [esp + 0x34]
call fcn.00418710
call fcn.00418440
movzx eax, al
mov dword [ebx + 0x8b0], eax
mov esi, str.extrapack
mov edx, esi
lea ecx, [esp + 0x34]
call fcn.00418980
test al, al
je 0x4058e4
mov edx, esi
lea ecx, [esp + 0x34]
call fcn.00418710
call fcn.00418440
movzx eax, al
mov dword [ebx + 0x8b4], eax
mov esi, str.selflaunch
mov edx, esi
lea ecx, [esp + 0x34]
call fcn.00418980
test al, al
je 0x405911
mov edx, esi
lea ecx, [esp + 0x34]
call fcn.00418710
call fcn.00418440
movzx eax, al
mov dword [ebx + 0x176c], eax
mov esi, 0x4565c4
mov edx, esi
lea ecx, [esp + 0x34]
call fcn.00418980
test al, al
je 0x40598d
xor eax, eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], eax
mov edx, esi
lea ecx, [esp + 0x34]
mov byte [esp + 0xc0], 3
call fcn.00418710
call fcn.004184e0
push 0xfde9
lea ecx, [esp + 0x4c]
push ecx
mov ebx, eax
call fcn.0041ebc0
push eax
mov eax, dword [esp + 0x34]
add eax, 0x8c4
push eax
call fcn.00404f36
lea esi, [esp + 0x48]
mov byte [esp + 0xc0], 2
call fcn.0041ead0
mov ebx, dword [esp + 0x30]
xor edi, edi
push dword [esp + 0x28]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [esp + 0x10], edi
jne 0x4059e5
call fcn.00416945
push 0x10
push edi
push 0x4565f4
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_MessageBoxW]
push edi
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
mov eax, dword [esp + 0x2c]
add eax, 0xfffffff0
call fcn.0040507e
or dword [esp + 0xc0], 0xffffffff
lea ecx, [esp + 0x34]
call fcn.00418190
jmp 0x405668
cmp dword [ebx + 0x17dc], edi
jne 0x405b25
mov eax, dword [section..data]
mov ecx, section..data
call dword [eax + 0xc]
add eax, 0x10
mov dword [esp + 0x10], eax
lea esi, [esp + 0x18]
mov byte [esp + 0xc0], 4
call fcn.0041dd70
mov byte [esp + 0xc0], 5
push dword [eax]
lea eax, [esp + 0x14]
push 0x456614
push eax
call fcn.00404457
mov byte [esp + 0xcc], 4
mov eax, dword [esp + 0x24]
add esp, 0xc
add eax, 0xfffffff0
call fcn.0040507e
mov esi, dword [esp + 0x10]
push esi
lea eax, [esp + 0x30]
push eax
call fcn.00406d30
test eax, eax
je 0x405b15
push dword [esp + 0x2c]
mov ecx, esi
call fcn.0041e0e0
pop ecx
call fcn.004065e3
test eax, eax
je 0x405aca
push 0x3c
pop ebx
push ebx
lea eax, [esp + 0x70]
push edi
push eax
call fcn.00437620
mov eax, 0x456c24
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], eax
add esp, 0xc
lea eax, [esp + 0x6c]
push eax
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], edi
mov dword [esp + 0x78], edi
mov dword [esp + 0x7c], str.runas
mov dword [esp + 0x80], esi
mov dword [esp + 0x8c], 1
call dword [sym.imp.SHELL32.dll_ShellExecuteExW]
jmp 0x405adb
push 5
push edi
push edi
push esi
push str.open
push edi
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
push edi
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
lea eax, [esi - 0x10]
call fcn.0040507e
mov eax, dword [esp + 0x2c]
add eax, 0xfffffff0
call fcn.0040507e
or dword [esp + 0xc0], 0xffffffff
lea ecx, [esp + 0x34]
call fcn.00418190
mov eax, edi
jmp 0x40566a
lea eax, [esi - 0x10]
mov byte [esp + 0xc0], 2
call fcn.0040507e
mov eax, dword [section..data]
mov esi, section..data
mov ecx, esi
call dword [eax + 0xc]
add eax, 0x10
mov dword [esp + 0x20], eax
mov byte [esp + 0xc0], 6
mov eax, dword [section..data]
mov ecx, esi
mov dword [esp + 0x44], edi
call dword [eax + 0xc]
add eax, 0x10
mov dword [esp + 0x28], eax
lea eax, [esp + 0x44]
push eax
mov byte [esp + 0xc4], 7
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov dword [esp + 0x14], eax
cmp eax, edi
je 0x405be3
xor esi, esi
cmp dword [esp + 0x44], edi
jle 0x405bd9
mov eax, dword [esp + 0x14]
push dword [eax + esi*4]
push 0x45664c
call fcn.00439d9e
pop ecx
pop ecx
test eax, eax
jne 0x405ba3
mov dword [esp + 0x1c], 1
jmp 0x405bd2
mov eax, dword [esp + 0x14]
push dword [eax + esi*4]
push 0x456654
call fcn.00439d9e
pop ecx
pop ecx
test eax, eax
jne 0x405bd2
inc esi
cmp esi, dword [esp + 0x44]
jge 0x405bd2
mov eax, dword [esp + 0x14]
push dword [eax + esi*4]
lea eax, [esp + 0x24]
push eax
call fcn.00404f36
inc esi
cmp esi, dword [esp + 0x44]
jl 0x405b82
push dword [esp + 0x14]
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov ecx, dword [0x466294]
push 0x81
push 0x45665c
push dword [ecx + 0xc]
lea esi, [ebx + 0x17e0]
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, dword [ebx]
push edi
mov ecx, ebx
cmp dword [ebx + 0x17dc], edi
je 0x406074
push str.MainWindow
push esi
call dword [eax + 0xfc]
push edi
push str.MainWindow_title
push ebx
push 9
mov edi, esi
pop ecx
call fcn.00428650
mov edi, eax
test edi, edi
je 0x405c40
mov eax, 0x456684
call fcn.0042a340
push 0
push str.MainWindow_logo
xor ecx, ecx
push ebx
mov edi, esi
inc ecx
call fcn.00428650
push 0
push str.MainWindow_InStall
push ebx
push 2
pop ecx
call fcn.00428650
mov esi, eax
mov eax, 0x4566bc
mov dword [ebx + 0x1850], esi
call fcn.0042ace0
push 0
push str.MainWindow_CheckBoxDesktop
push ebx
push 0xa
lea edi, [ebx + 0x17e0]
pop ecx
call fcn.00428650
mov esi, eax
mov eax, 0x4566e4
mov dword [ebx + 0x1864], esi
call fcn.0042b4e0
mov ecx, dword [ebx + 0x1864]
xor eax, eax
inc eax
call fcn.0042b090
push 0
push str.MainWindow_CheckBoxTaskbar
push ebx
push 0xa
lea edi, [ebx + 0x17e0]
pop ecx
call fcn.00428650
mov esi, eax
mov eax, 0x456714
mov dword [ebx + 0x1868], esi
call fcn.0042b4e0
mov ecx, dword [ebx + 0x1868]
xor eax, eax
inc eax
call fcn.0042b090
push 0
push str.MainWindow_CheckBoxStartMenu
push ebx
push 0xa
lea edi, [ebx + 0x17e0]
pop ecx
call fcn.00428650
mov esi, eax
mov eax, 0x456748
mov dword [ebx + 0x186c], esi
call fcn.0042b4e0
mov ecx, dword [ebx + 0x186c]
xor eax, eax
inc eax
call fcn.0042b090
call fcn.00406636
test eax, eax
je 0x405d37
mov esi, dword [ebx + 0x186c]
push 0xffffffffffffff91
push 0x18
mov eax, 0xd2
pop ecx
lea edx, [eax + 0x6c]
call fcn.004285d0
push 0
push str.MainWindow_CheckBoxAgree
push ebx
push 0xa
lea edi, [ebx + 0x17e0]
pop ecx
call fcn.00428650
mov esi, eax
mov eax, 0x45677c
mov dword [ebx + 0x1860], esi
call fcn.0042b4e0
mov ecx, dword [ebx + 0x1860]
xor eax, eax
inc eax
call fcn.0042b090
push 0
push str.MainWindow_LisenceButton
push ebx
push 2
lea edi, [ebx + 0x17e0]
pop ecx
call fcn.00428650
mov esi, eax
mov eax, str._n0_u7bOS
mov dword [ebx + 0x185c], esi
call fcn.0042ace0
push 0x18c
call fcn.00437c4e
pop ecx
mov dword [esp + 0x10], eax
xor esi, esi
mov byte [esp + 0xc0], 8
cmp eax, esi
je 0x405dbb
mov edi, eax
call fcn.00416a54
jmp 0x405dbd
xor eax, eax
push esi
mov byte [esp + 0xc4], 7
push str.MainWindow_EditBoxPath
lea ecx, [ebx + 0x17e0]
mov dword [ebx + 0x1878], eax
mov edx, dword [eax]
push ecx
mov ecx, eax
call dword [edx + 0xfc]
push dword [ebx + 0x1878]
mov eax, ebx
call fcn.00428340
mov eax, dword [esp + 0x20]
cmp dword [eax - 0xc], esi
je 0x405e17
lea edi, [ebx + 0x17d8]
lea eax, [esp + 0x20]
call fcn.004068ad
push 0x4567d0
push edi
call fcn.00406d0a
jmp 0x405ecb
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x1c]
push eax
mov dword [esp + 0x18], esi
call fcn.004066f8
pop ecx
pop ecx
lea edi, [ebx + 0x17d8]
mov byte [esp + 0xc0], 9
call fcn.004068ad
mov byte [esp + 0xc0], 7
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
call fcn.0040507e
mov eax, dword [edi]
mov ecx, dword [eax - 8]
xor edx, edx
inc edx
sub edx, dword [eax - 4]
mov eax, 0x208
sub ecx, eax
or ecx, edx
jge 0x405e70
mov ecx, edi
call fcn.00404fef
push dword [edi]
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
mov esi, edi
call fcn.00406c56
cmp dword [esp + 0x10], 0xbb8
jge 0x405e8e
call fcn.00404e5c
mov eax, dword [edi]
cmp dword [eax - 0xc], 0
jne 0x405ecb
lea esi, [esp + 0x10]
call fcn.0041e5a0
mov byte [esp + 0xc0], 0xa
push dword [eax]
push str._sThinkSkyiTools_3
push edi
call fcn.00404457
mov byte [esp + 0xcc], 7
mov eax, dword [esp + 0x1c]
add esp, 0xc
add eax, 0xfffffff0
call fcn.0040507e
push dword [edi]
mov eax, dword [ebx + 0x1878]
call fcn.0041705e
push 0
push str.MainWindow_ButtonBrowser
push ebx
push 2
lea edi, [ebx + 0x17e0]
pop ecx
call fcn.00428650
mov esi, eax
mov eax, 0x45682c
mov dword [ebx + 0x1854], esi
call fcn.0042ace0
xor esi, esi
push esi
push str.MainWindow_ButtonOption
push ebx
push 2
lea edi, [ebx + 0x17e0]
pop ecx
call fcn.00428650
push esi
push str.MainWindow_LabelPath
push ebx
push 9
lea edi, [ebx + 0x17e0]
pop ecx
mov dword [ebx + 0x1858], eax
call fcn.00428650
mov edi, eax
mov eax, 0x456868
mov dword [ebx + 0x1870], edi
call fcn.0042a340
push esi
push str.MainWindow_LabelCheck
push ebx
push 9
lea edi, [ebx + 0x17e0]
pop ecx
call fcn.00428650
mov edi, eax
mov eax, 0x45688c
mov dword [ebx + 0x1874], edi
call fcn.0042a340
mov eax, dword [ebx + 0x17dc]
mov ecx, dword [ebx + 4]
push esi
push esi
push esi
push esi
push esi
push str.CHWindow
lea edi, [ebx + 0x448]
push 0x456c24
mov dword [ebx + 0x89c], eax
push closesocket
xor edx, edx
mov eax, edi
mov dword [esp + 0x30], edi
call fcn.00420c60
mov edx, dword [edi]
push esi
push str.InstallProcessWnd
lea eax, [ebx + 0x17e0]
push eax
mov ecx, edi
call dword [edx + 0xfc]
mov dword [ebx + 0x1710], ebx
mov dword [esp + 0x6c], esi
mov dword [esp + 0x70], esi
mov dword [esp + 0x74], esi
mov dword [esp + 0x7c], esi
mov dword [esp + 0x80], esi
mov dword [esp + 0x84], esi
mov dword [esp + 0x48], esi
mov dword [esp + 0x4c], esi
mov dword [esp + 0x50], esi
mov dword [esp + 0x58], esi
mov dword [esp + 0x5c], esi
mov dword [esp + 0x60], esi
mov edx, str.protocol
lea ecx, [esp + 0x34]
mov byte [esp + 0xc0], 0xc
call fcn.00418710
call fcn.004184e0
lea ecx, [esp + 0x48]
call fcn.00420590
push 0xfde9
lea ecx, [esp + 0x70]
push ecx
mov ebx, eax
call fcn.0041ebc0
lea ecx, [esp + 0x24]
push ecx
mov ecx, eax
call fcn.00404da4
mov edi, dword [esp + 0x30]
push esi
mov byte [esp + 0xc4], 0xd
call fcn.004067ae
mov eax, dword [esp + 0x24]
add eax, 0xfffffff0
call fcn.0040507e
lea esi, [esp + 0x48]
call fcn.00420250
lea esi, [esp + 0x6c]
mov byte [esp + 0xc0], 7
call fcn.0041ead0
mov ebx, edi
jmp 0x40612a
push str.UninstallWindow
push esi
call dword [eax + 0xfc]
push edi
push str.UninstallWindow_Label2
push ebx
push 9
mov edi, esi
pop ecx
call fcn.00428650
mov edi, eax
mov eax, 0x4568e0
call fcn.0042a340
push 0
push str.UninstallWindow_Panel1
xor ecx, ecx
push ebx
mov edi, esi
inc ecx
call fcn.00428650
push 0
push str.UninstallWindow_ButtonOK
push ebx
push 2
pop ecx
call fcn.00428650
push 0
push str.UninstallWindow_ButtonCancel
push ebx
push 2
pop ecx
call fcn.00428650
mov eax, dword [ebx + 0x17dc]
mov ecx, dword [ebx + 4]
mov dword [ebx + 0x89c], eax
xor eax, eax
push eax
push eax
push eax
push eax
push eax
push str.CHWindow
lea edi, [ebx + 0x448]
push 0x456c24
push closesocket
xor edx, edx
mov eax, edi
mov dword [esp + 0x30], edi
call fcn.00420c60
mov eax, dword [edi]
push 0
push str.ProcessWindow
push esi
mov ecx, edi
call dword [eax + 0xfc]
push 0x140
push 0x290
mov esi, ebx
call fcn.00421730
call fcn.004215c0
mov esi, dword [esp + 0x30]
mov eax, esi
call fcn.004294b0
cmp dword [esp + 0x1c], 0
je 0x4061e0
push 1
push 1
call fcn.00421730
push 0
push dword [esi + 4]
call dword [sym.imp.USER32.dll_ShowWindow]
lea edi, [esi + 0x8b8]
lea eax, [esi + 0x17d8]
call fcn.004068ad
mov eax, dword [esi + 0x17d8]
push ecx
sub eax, 0x10
mov dword [esp + 0x1c], esp
mov edi, esp
call fcn.00404e00
add eax, 0x10
lea ecx, [esi + 0x930]
mov dword [edi], eax
call fcn.0040df17
mov eax, dword [esi + 0x1864]
mov eax, dword [eax + 0x2ac]
mov dword [esi + 0x8a0], eax
mov eax, dword [esi + 0x1868]
mov eax, dword [eax + 0x2ac]
mov dword [esi + 0x8a4], eax
mov eax, dword [esi + 0x186c]
mov eax, dword [eax + 0x2ac]
mov dword [esi + 0x8a8], eax
mov eax, dword [esp + 0x10]
mov dword [esi + 0x8ac], 1
call fcn.00407f53
push 0
call dword [sym.imp.USER32.dll_PostQuitMessage]
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
call fcn.0040507e
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
call fcn.0040507e
mov eax, dword [esp + 0x2c]
add eax, 0xfffffff0
call fcn.0040507e
mov edi, dword [esp + 0x68]
jmp 0x405afd