Function at 0x4066e0
Capabilities:
Create process on windows
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x170
mov eax, dword [0x474718]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
mov edi, ecx
lea ecx, [ebp - 0xa0]
mov dword [0x478b68], edi
call fcn.00403670
mov byte [ebp - 0x20], 0
lea edx, [ebp - 0x24]
push dword [ebp - 0x20]
lea ecx, [ebp - 0x140]
mov dword [ebp - 0x24], str.tw_update.log
call fcn.00409ee0
add esp, 4
lea eax, [ebp - 0xa0]
lea ecx, [ebp - 0x70]
push eax
call fcn.00407c70
lea eax, [ebp - 0x140]
push eax
lea ecx, [ebp - 0x70]
call fcn.00401e40
push eax
lea ecx, [ebp - 0xd4]
call fcn.00407c70
mov edx, dword [ebp - 0x5c]
cmp edx, 8
jb 0x40678b
mov ecx, dword [ebp - 0x70]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x406781
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x406f23
push edx
push ecx
call fcn.0043f1ff
add esp, 8
mov edx, dword [ebp - 0x12c]
cmp edx, 8
jb 0x4067cb
mov ecx, dword [ebp - 0x140]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4067c1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x406f28
push edx
push ecx
call fcn.0043f1ff
add esp, 8
lea eax, [ebp - 0xd4]
push eax
lea ecx, [ebp - 0x88]
call fcn.00407c70
cmp dword [ebp - 0x74], 8
lea eax, [ebp - 0x88]
mov esi, dword [sym.imp.KERNEL32.dll_CreateFileW]
cmovae eax, dword [ebp - 0x88]
push 0
push 0x80
push 2
push 0
push 1
push 0x40000000
push eax
call esi
mov dword [0x478b5c], eax
test eax, eax
jne 0x406a1f
lea ecx, [ebp - 0x70]
call fcn.004035d0
mov byte [ebp - 0x20], 0
lea edx, [ebp - 0x24]
push dword [ebp - 0x20]
lea ecx, [ebp - 0x170]
call fcn.00409ee0
add esp, 4
lea eax, [ebp - 0x70]
lea ecx, [ebp - 0x140]
push eax
call fcn.00407c70
lea eax, [ebp - 0x170]
push eax
lea ecx, [ebp - 0x140]
call fcn.00401e40
push eax
lea ecx, [ebp - 0x158]
call fcn.00407c70
mov edx, dword [ebp - 0x12c]
cmp edx, 8
jb 0x4068a3
mov ecx, dword [ebp - 0x140]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x406899
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x406f2d
push edx
push ecx
call fcn.0043f1ff
add esp, 8
xor eax, eax
mov dword [ebp - 0x130], 0
mov word [ebp - 0x140], ax
lea ecx, [ebp - 0x70]
lea eax, [ebp - 0x158]
mov dword [ebp - 0x12c], 7
push eax
call fcn.00402e80
mov edx, dword [ebp - 0x144]
cmp edx, 8
jb 0x40690f
mov ecx, dword [ebp - 0x158]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x406905
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x406f32
push edx
push ecx
call fcn.0043f1ff
add esp, 8
mov edx, dword [ebp - 0x15c]
cmp edx, 8
jb 0x40694f
mov ecx, dword [ebp - 0x170]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x406945
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x406f32
push edx
push ecx
call fcn.0043f1ff
add esp, 8
lea eax, [ebp - 0x70]
push eax
lea ecx, [ebp - 0x40]
call fcn.00407c70
cmp dword [ebp - 0x2c], 8
lea eax, [ebp - 0x40]
push 0
cmovae eax, dword [ebp - 0x40]
push 0x80
push 2
push 0
push 1
push 0x40000000
push eax
call esi
mov dword [0x478b5c], eax
test eax, eax
jne 0x406997
push 0x10
push str.Error
push str.Cant_create_log_file._Perhaps_you_dont_have_enough_free_space_on_disk__or_something_wrong_happened._nPatcher_will_try_to_work_anyway.
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
mov edx, dword [ebp - 0x2c]
cmp edx, 8
jb 0x4069d1
mov ecx, dword [ebp - 0x40]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4069c7
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x406f37
push edx
push ecx
call fcn.0043f1ff
add esp, 8
mov edx, dword [ebp - 0x5c]
xor eax, eax
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 7
mov word [ebp - 0x40], ax
cmp edx, 8
jb 0x406a1f
mov ecx, dword [ebp - 0x70]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x406a15
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x406f37
push edx
push ecx
call fcn.0043f1ff
add esp, 8
push str.Log_file_created.
call fcn.00403880
mov byte [ebp - 0x20], 0
lea ecx, [ebp - 0x158]
push dword [ebp - 0x20]
call fcn.00409f20
add esp, 8
lea eax, [ebp - 0xa0]
lea ecx, [ebp - 0x170]
push eax
call fcn.00407c70
lea eax, [ebp - 0x158]
push eax
lea ecx, [ebp - 0x170]
call fcn.00401e40
push eax
lea ecx, [ebp - 0x58]
call fcn.00407c70
mov edx, dword [ebp - 0x15c]
cmp edx, 8
jb 0x406aab
mov ecx, dword [ebp - 0x170]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x406aa1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x406f3c
push edx
push ecx
call fcn.0043f1ff
add esp, 8
mov edx, dword [ebp - 0x144]
cmp edx, 8
jb 0x406aeb
mov ecx, dword [ebp - 0x158]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x406ae1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x406f41
push edx
push ecx
call fcn.0043f1ff
add esp, 8
push 0
push 0x4037a0
push 0
push 0x67
push edi
call dword [sym.imp.USER32.dll_CreateDialogParamA]
push 5
push eax
mov dword [0x478b60], eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov esi, dword [sym.imp.USER32.dll_PeekMessageA]
lea eax, [ebp - 0xbc]
push 1
push 0
push 0
push 0
push eax
call esi
test eax, eax
je 0x406b82
mov edi, dword [sym.imp.USER32.dll_IsWindow]
push ebx
mov ebx, dword [sym.imp.USER32.dll_TranslateMessage]
push dword [0x478b60]
call edi
test eax, eax
je 0x406b56
lea eax, [ebp - 0xbc]
push eax
push dword [0x478b60]
call dword [sym.imp.USER32.dll_IsDialogMessageA]
test eax, eax
jne 0x406b6c
lea eax, [ebp - 0xbc]
push eax
call ebx
lea eax, [ebp - 0xbc]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageA]
push 1
push 0
push 0
push 0
lea eax, [ebp - 0xbc]
push eax
call esi
test eax, eax
jne 0x406b33
pop ebx
push 0x1388
call dword [sym.imp.KERNEL32.dll_Sleep]
call fcn.00404090
call fcn.00403c30
call fcn.004039e0
call fcn.004061b0
lea eax, [ebp - 0x70]
push eax
lea ecx, [ebp - 0x58]
call fcn.004020d0
cmp dword [ebp - 0x44], 8
lea eax, [ebp - 0x58]
cmovae eax, dword [ebp - 0x58]
push eax
push str.Trying_open_downloaded_path_file___S_
call fcn.00403880
add esp, 8
mov dword [ebp - 0x24], 0
cmp dword [ebp - 0x5c], 0x10
lea ecx, [ebp - 0x24]
lea eax, [ebp - 0x70]
cmovae eax, dword [ebp - 0x70]
push ecx
push 0
push 0
push eax
call fcn.0040a430
pop edi
pop esi
test al, al
jne 0x406bf5
mov dword [ebp - 0x24], 0
jmp 0x406bfb
cmp dword [ebp - 0x24], 0
jne 0x406c1b
cmp dword [ebp - 0x44], 8
lea eax, [ebp - 0x58]
cmovae eax, dword [ebp - 0x58]
push eax
push str.ERROR:_Cant_open_patch___S_
call fcn.00403880
add esp, 8
call fcn.00403950
jmp 0x406c34
cmp dword [ebp - 0x44], 8
lea eax, [ebp - 0x58]
cmovae eax, dword [ebp - 0x58]
push eax
push str.Opened___S_
call fcn.00403880
add esp, 8
lea eax, [ebp - 0x58]
mov byte [ebp - 0x25], 0
mov dword [ebp - 0x20], eax
lea ecx, [ebp - 0x38]
lea eax, [ebp - 0x24]
mov byte [ebp - 0x26], 0
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x20]
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x25]
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x26]
push str.Datapatch_4.mpq
mov dword [ebp - 0x2c], eax
call fcn.004070c0
push 0x46e950
lea ecx, [ebp - 0x38]
call fcn.004070c0
push str.discord_game_sdk.dll
lea ecx, [ebp - 0x38]
call fcn.004070c0
push str.WoWFoV.exe
lea ecx, [ebp - 0x38]
call fcn.004070c0
push str.WoW.exe
lea ecx, [ebp - 0x38]
call fcn.004070c0
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x406ca8
push eax
call fcn.0040a2f0
mov edx, dword [ebp - 0x5c]
cmp edx, 0x10
jb 0x406cdc
mov ecx, dword [ebp - 0x70]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x406cd2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x406f46
push edx
push ecx
call fcn.0043f1ff
add esp, 8
push str.Update_is_complete__starting_the_game...
call fcn.00403880
mov eax, dword [0x478b60]
add esp, 4
test eax, eax
je 0x406d03
push eax
call dword [sym.imp.USER32.dll_DestroyWindow]
mov dword [0x478b60], 0
mov byte [ebp - 0x20], 0
lea ecx, [ebp - 0x140]
push dword [ebp - 0x20]
call fcn.00409f20
add esp, 4
lea ecx, [ebp - 0x140]
call fcn.00403330
mov edx, dword [ebp - 0x12c]
cmp edx, 8
jb 0x406d63
mov ecx, dword [ebp - 0x140]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x406d59
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x406f4b
push edx
push ecx
call fcn.0043f1ff
add esp, 8
xor eax, eax
mov dword [ebp - 0x130], 0
push 0x44
push eax
mov word [ebp - 0x140], ax
lea eax, [ebp - 0x128]
push eax
mov dword [ebp - 0x12c], 7
call fcn.004403b0
add esp, 0xc
mov dword [ebp - 0x1c], 0x2e576f57
lea eax, [ebp - 0xe4]
mov dword [ebp - 0x18], 0x657865
xorps xmm0, xmm0
movups xmmword [ebp - 0xe4], xmm0
push eax
lea eax, [ebp - 0x128]
push eax
push 0
push 0
push 0x20
push 0
push 0
push 0
lea eax, [ebp - 0x1c]
push eax
push 0
movups xmmword [ebp - 0x14], xmm0
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
test eax, eax
jne 0x406de5
push str.ERROR:_Cant_start_WoW.exe
call fcn.00403880
add esp, 4
mov edx, dword [ebp - 0x44]
cmp edx, 8
jb 0x406e1f
mov ecx, dword [ebp - 0x58]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x406e15
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x406f50
push edx
push ecx
call fcn.0043f1ff
add esp, 8
xor eax, eax
mov dword [ebp - 0x48], 0
mov word [ebp - 0x58], ax
mov eax, dword [0x478b5c]
mov dword [ebp - 0x44], 7
test eax, eax
je 0x406e43
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, dword [ebp - 0x74]
cmp edx, 8
jb 0x406e80
mov ecx, dword [ebp - 0x88]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x406e76
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x406f50
push edx
push ecx
call fcn.0043f1ff
add esp, 8
mov edx, dword [ebp - 0xc0]
xor eax, eax
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 7
mov word [ebp - 0x88], ax
cmp edx, 8
jb 0x406ed7
mov ecx, dword [ebp - 0xd4]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x406ecd
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x406f50
push edx
push ecx
call fcn.0043f1ff
add esp, 8
mov edx, dword [ebp - 0x8c]
cmp edx, 8
jb 0x406f13
mov ecx, dword [ebp - 0xa0]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x406f09
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x406f50
push edx
push ecx
call fcn.0043f1ff
add esp, 8
mov ecx, dword [ebp - 4]
xor eax, eax
xor ecx, ebp
call fcn.0043efc4
mov esp, ebp
pop ebp
ret
call fcn.00445a28
call fcn.00445a28
call fcn.00445a28
call fcn.00445a28
call fcn.00445a28
call fcn.00445a28
call fcn.00445a28
call fcn.00445a28
call fcn.00445a28
call fcn.00445a28
int3