Function at 0x403e10
Capabilities:
Accept command line arguments
Get file size
Query or enumerate registry value
Read file via mapping

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x2c8
mov rsi, rcx
mov rbp, rdx
mov rbx, r8
mov edi, r9d
test byte [0x004070c0], 8
jne 0x404528
call qword [sym.imp.kernel32.dll_GetCommandLineW]
lea rdx, [rsp + 0x68]
mov rcx, rax
call qword [sym.imp.shell32.dll_CommandLineToArgvW]
mov rsi, rax
test rax, rax
je 0x403f32
mov edx, dword [rsp + 0x68]
cmp edx, 1
jle 0x403f25
lea rbp, str.nologo
mov rdi, qword [sym.imp.ucrtbase.dll__wcsicmp]
mov ebx, 1
lea r13, str.0123456789abcdefset_host_properties
mov r14, rbp
shr r14, 0x10
jmp 0x403eb8
lea rdx, [0x004091b2]
mov rcx, r15
call rdi
test eax, eax
jne 0x403f00
mov ecx, 0xffffffff
mov word [section..bss], cx
mov edx, dword [rsp + 0x68]
add rbx, 1
cmp edx, ebx
jle 0x403f25
mov r12, qword [rsi + rbx*8]
movzx eax, word [r12]
mov ecx, eax
and ecx, 0xfffffffd
cmp cx, 0x2d
jne 0x404060
lea r15, [r12 + 2]
cmp ax, 0x2f
jne 0x403e90
cmp word [r12 + 2], 0x2f
jne 0x403e90
lea r15, [r12 + 4]
lea rdx, [0x004091b2]
mov rcx, r15
call rdi
test eax, eax
je 0x403ea0
nop dword [rax]
lea rdx, [0x004091b6]
mov rcx, r15
call rdi
test eax, eax
jne 0x403f50
xor edx, edx
add rbx, 1
mov word [section..bss], dx
mov edx, dword [rsp + 0x68]
cmp edx, ebx
jg 0x403eb8
test byte [0x004070c0], 1
jne 0x404790
mov r13d, 1
mov eax, r13d
add rsp, 0x2c8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
lea rdx, str.nologo
mov rcx, r15
call rdi
test eax, eax
jne 0x404688
test byte [0x004070c0], 1
je 0x403eac
test r14, r14
je 0x404ad3
mov rdx, 0xffffffffffffffff
lea rcx, str.nologo
call qword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov r8d, eax
lea rax, str._invalid_
test r8d, r8d
jne 0x4048fb
xor eax, eax
nop dword [rax + rax]
mov ecx, eax
add rax, 1
cmp word [rbp + rax*2], 0
jne 0x403fa8
mov eax, 0x224c
lea rdx, [rsp + 0x192]
lea r8, str.nologo
mov word [rsp + 0x190], ax
lea r9, [rsp + 0x2b2]
jmp 0x40401e
cmp ax, 9
je 0x404a58
cmp ax, 0xa
jne 0x4049e3
mov eax, 0x6e5c
add rdx, 2
mov word [rdx - 2], ax
nop dword [rax]
lea eax, [rcx - 1]
test ecx, ecx
jle 0x4048cd
cmp rdx, r9
ja 0x4048cd
mov ecx, eax
movzx eax, word [r8]
add r8, 2
cmp ax, 0xd
je 0x404a70
jbe 0x403fe0
cmp ax, 0x22
je 0x404a40
cmp ax, 0x5c
jne 0x4049d4
mov r15d, 0x5c5c
add rdx, 2
mov word [rdx - 2], r15w
jmp 0x404008
sub edx, ebx
lea rax, [rsi + rbx*8 + 8]
lea r9, [rsp + 0x70]
mov rcx, r12
sub edx, 1
mov qword [0x00416160], rax
lea r8, [0x004161a0]
mov dword [0x00416168], edx
mov edx, 0x104
call qword [sym.imp.kernel32.dll_GetFullPathNameW]
sub eax, 1
cmp eax, 0x103
ja 0x403f32
mov rcx, qword [rsp + 0x70]
mov edx, 0x2e
call qword [sym.imp.ucrtbase.dll_wcsrchr]
mov r15, rax
test rax, rax
je 0x404a93
lea rsi, [rsp + 0x78]
mov rdi, qword [sym.imp.advapi32.dll_RegOpenKeyW]
mov rdx, rax
mov rcx, 0xffffffff80000000
mov r8, rsi
call rdi
test eax, eax
jne 0x4047d8
lea rbp, [rsp + 0x6c]
lea rbx, [rsp + 0x90]
xor edx, edx
mov rcx, qword [rsp + 0x78]
mov r9, rbp
mov r8, rbx
mov dword [rsp + 0x6c], 0x40
mov r13, qword [sym.imp.advapi32.dll_RegQueryValueW]
call r13
mov rcx, qword [rsp + 0x78]
mov r14, qword [sym.imp.advapi32.dll_RegCloseKey]
mov dword [rsp + 0x5c], eax
call r14
mov edx, dword [rsp + 0x5c]
test edx, edx
jne 0x4047d8
test byte [0x004070c0], 8
jne 0x404d38
cmp word [rsp + 0x90], 0
mov rax, rbx
je 0x404152
nop dword [rax]
add rax, 2
cmp word [rax], 0
jne 0x404148
lea rdx, str.ScriptEngine
nop dword [rax]
movzx ecx, word [rdx]
add rdx, 2
add rax, 2
mov word [rax - 2], cx
test cx, cx
jne 0x404160
mov r8, rsi
mov rdx, rbx
mov rcx, 0xffffffff80000000
call rdi
test eax, eax
jne 0x4047d8
lea rsi, [rsp + 0x110]
mov rcx, qword [rsp + 0x78]
xor edx, edx
mov r9, rbp
mov dword [rsp + 0x6c], 0x40
mov r8, rsi
call r13
mov rcx, qword [rsp + 0x78]
mov r13d, eax
call r14
test r13d, r13d
jne 0x4047d8
test byte [0x004070c0], 8
jne 0x404fc9
lea r14, [rsp + 0x80]
mov rcx, rsi
mov rdx, r14
call qword [sym.imp.ole32.dll_CLSIDFromProgID]
test eax, eax
js 0x4047d8
lea r15, [rsp + 0x190]
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitialize]
xor edx, edx
mov qword [rsp + 0x20], r15
mov rcx, r14
lea r9, [0x0040fe40]
mov r8d, 3
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x404c12
mov rcx, qword [rsp + 0x190]
mov r8, rsi
lea rdx, [0x0040cb60]
mov rax, qword [rcx]
call qword [rax]
mov rcx, qword [rsp + 0x190]
mov esi, eax
mov rax, qword [rcx]
call qword [rax + 0x10]
test esi, esi
js 0x404c12
mov rcx, qword [rsp + 0x110]
mov r8, rbx
lea rdx, [0x0040cb40]
mov rax, qword [rcx]
call qword [rax]
test eax, eax
js 0x404c04
mov r14, qword [rsp + 0x110]
mov rsi, qword [rsp + 0x90]
mov rdx, r15
lea rcx, str.wscript.exe
call qword [sym.imp.oleaut32.dll_LoadTypeLib]
test eax, eax
js 0x404c69
mov rcx, qword [rsp + 0x190]
lea r8, [0x004163a8]
lea rdx, [0x00409550]
mov rax, qword [rcx]
call qword [rax + 0x30]
mov rcx, qword [rsp + 0x190]
test eax, eax
mov rax, qword [rcx]
js 0x404c66
lea r8, [0x00416180]
lea rdx, [0x00409570]
call qword [rax + 0x30]
mov rcx, qword [rsp + 0x190]
mov ebx, eax
mov rax, qword [rcx]
call qword [rax + 0x10]
test ebx, ebx
js 0x404c69
mov rax, qword [r14]
lea rdx, [0x00407048]
mov rcx, r14
call qword [rax + 0x18]
test eax, eax
js 0x404c69
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x18]
test eax, eax
js 0x404c69
mov rax, qword [r14]
mov r8d, 2
lea rdx, str.WScript
mov rcx, r14
call qword [rax + 0x40]
test eax, eax
js 0x404c69
mov rax, qword [r14]
mov r8d, 2
lea rdx, [0x00409160]
mov rcx, r14
call qword [rax + 0x40]
test eax, eax
js 0x404c69
mov rax, qword [r14]
mov edx, 5
mov rcx, r14
call qword [rax + 0x28]
test eax, eax
js 0x404c69
mov rcx, r12
xor r9d, r9d
xor r8d, r8d
mov edx, 0x80000000
mov dword [rsp + 0x28], 1
mov rbx, qword [rsp + 0x90]
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x20], 3
call qword [sym.imp.kernel32.dll_CreateFileW]
mov r12, rax
cmp rax, 0xffffffffffffffff
je 0x405121
xor edx, edx
mov rcx, rax
call qword [sym.imp.kernel32.dll_GetFileSize]
xor r9d, r9d
xor edx, edx
mov rcx, r12
mov dword [rsp + 0x20], 0
mov edi, eax
mov r8d, 2
mov qword [rsp + 0x28], 0
call qword [sym.imp.kernel32.dll_CreateFileMappingW]
mov rbp, qword [sym.imp.kernel32.dll_CloseHandle]
mov rcx, r12
mov rsi, rax
call rbp
cmp rsi, 0xffffffffffffffff
je 0x405121
xor r9d, r9d
xor r8d, r8d
mov rcx, rsi
mov edx, 4
mov qword [rsp + 0x20], 0
call qword [sym.imp.kernel32.dll_MapViewOfFile]
mov rcx, rsi
mov r15, rax
call rbp
test r15, r15
je 0x405121
mov r9d, edi
mov r8, r15
xor edx, edx
xor ecx, ecx
mov rbp, qword [sym.imp.kernel32.dll_MultiByteToWideChar]
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
call rbp
xor ecx, ecx
mov esi, eax
mov edx, eax
call qword [sym.imp.oleaut32.dll_SysAllocStringLen]
xor ecx, ecx
xor edx, edx
mov dword [rsp + 0x28], esi
mov r12, rax
mov qword [rsp + 0x20], rax
mov r9d, edi
mov r8, r15
call rbp
mov rcx, r15
call qword [sym.imp.kernel32.dll_UnmapViewOfFile]
test r12, r12
je 0x405121
mov rax, qword [rbx]
mov rcx, rbx
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x48], 0
mov rdx, r12
mov qword [rsp + 0x40], 0
mov dword [rsp + 0x38], 0x82
mov dword [rsp + 0x30], 1
mov qword [rsp + 0x28], 1
mov qword [rsp + 0x20], 0
call qword [rax + 0x28]
mov rcx, r12
mov ebx, eax
call qword [sym.imp.oleaut32.dll_SysFreeString]
test ebx, ebx
js 0x405181
mov rax, qword [r14]
mov edx, 1
mov rcx, r14
call qword [rax + 0x28]
test eax, eax
js 0x40514f
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 0x38]
mov rcx, qword [0x004163a8]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 0x10]
mov rcx, qword [rsp + 0x90]
mov rax, qword [rcx]
call qword [rax + 0x10]
call qword [sym.imp.ole32.dll_CoUninitialize]
jmp 0x403f38
lea rax, str._null_
test r8, r8
je 0x40464e
mov rax, r8
shr rax, 0x10
je 0x4047c0
mov rcx, r8
mov rdx, 0xffffffffffffffff
call qword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov r8d, eax
lea rax, str._invalid_
test r8d, r8d
jne 0x40464e
cmp word [rbx], 0
je 0x404b37
xor eax, eax
nop dword [rax]
mov ecx, eax
add rax, 1
cmp word [rbx + rax*2], 0
jne 0x404578
mov edx, 0x224c
lea r9, str.0123456789abcdefset_host_properties
lea r8, [rsp + 0x2b2]
mov word [rsp + 0x190], dx
lea rdx, [rsp + 0x192]
jmp 0x4045e6
cmp ax, 9
je 0x404940
cmp ax, 0xa
jne 0x404963
mov r14d, 0x6e5c
add rdx, 2
mov word [rdx - 2], r14w
nop dword [rax + rax]
lea eax, [rcx - 1]
test ecx, ecx
jle 0x404620
cmp rdx, r8
ja 0x404620
mov ecx, eax
movzx eax, word [rbx]
add rbx, 2
cmp ax, 0xd
je 0x404928
jbe 0x4045b0
cmp ax, 0x22
je 0x4049c0
cmp ax, 0x5c
jne 0x404954
mov r10d, 0x5c5c
add rdx, 2
mov word [rdx - 2], r10w
jmp 0x4045d8
mov byte [rdx], 0x22
test eax, eax
jle 0x404b54
mov r8d, 0x2e2e
mov byte [rdx + 3], 0x2e
lea rax, [rdx + 4]
mov word [rdx + 1], r8w
mov byte [rax], 0
lea rcx, [rsp + 0x190]
call sym.__wine_dbg_strdup
mov dword [rsp + 0x38], edi
lea r9, str.__p__p__s__x__n
mov ecx, 3
lea r8, str.wWinMain
mov qword [rsp + 0x30], rax
lea rdx, [0x004070c0]
mov qword [rsp + 0x28], rbp
mov qword [rsp + 0x20], rsi
call sym.wine_dbg_log.constprop.0_2
jmp 0x403e3c
test byte [0x004070c0], 1
je 0x403f32
mov rax, r15
shr rax, 0x10
je 0x404afb
mov rdx, 0xffffffffffffffff
mov rcx, r15
call qword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov r8d, eax
lea rax, str._invalid_
test r8d, r8d
jne 0x404b0b
cmp word [r15], 0
je 0x404e9f
xor eax, eax
nop word [rax + rax]
mov ecx, eax
add rax, 1
cmp word [r15 + rax*2], 0
jne 0x4046d8
mov esi, 0x224c
lea rdx, [rsp + 0x192]
lea r8, [rsp + 0x2b2]
mov word [rsp + 0x190], si
lea r9, str.0123456789abcdefset_host_properties
jmp 0x40474e
cmp ax, 9
je 0x404b60
cmp ax, 0xa
jne 0x404b93
mov edi, 0x6e5c
add rdx, 2
mov word [rdx - 2], di
nop dword [rax]
lea eax, [rcx - 1]
cmp rdx, r8
ja 0x404c2a
test ecx, ecx
jle 0x404c2a
mov ecx, eax
movzx eax, word [r15]
add r15, 2
cmp ax, 0xd
je 0x404b72
jbe 0x404710
cmp ax, 0x22
je 0x404bf0
cmp ax, 0x5c
jne 0x404b84
mov r10d, 0x5c5c
add rdx, 2
mov word [rdx - 2], r10w
jmp 0x404738
lea r9, str.No_file_name_specified_n
lea r8, str.wWinMain
xor ecx, ecx
mov r13d, 1
lea rdx, [0x004070c0]
call sym.wine_dbg_log.constprop.0_2
jmp 0x403f38
movzx edx, r8w
lea rcx, str._04x
call sym.wine_dbg_sprintf_2
jmp 0x40464e
test byte [0x004070c0], 1
je 0x403f32
mov rax, r15
shr rax, 0x10
je 0x404ec5
mov rdx, 0xffffffffffffffff
mov rcx, r15
call qword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov r8d, eax
lea rax, str._invalid_
test r8d, r8d
jne 0x404aa7
cmp word [r15], 0
je 0x404fa1
xor eax, eax
nop word [rax + rax]
mov ecx, eax
add rax, 1
cmp word [r15 + rax*2], 0
jne 0x404828
mov r11d, 0x224c
lea rdx, [rsp + 0x192]
lea r8, [rsp + 0x2b2]
mov word [rsp + 0x190], r11w
lea r9, str.0123456789abcdefset_host_properties
jmp 0x404896
cmp ax, 9
je 0x404c97
cmp ax, 0xa
jne 0x404cce
mov eax, 0x6e5c
add rdx, 2
mov word [rdx - 2], ax
nop
lea eax, [rcx - 1]
cmp rdx, r8
ja 0x404e6e
test ecx, ecx
jle 0x404e6e
mov ecx, eax
movzx eax, word [r15]
add r15, 2
cmp ax, 0xd
je 0x404cab
jbe 0x40485e
cmp ax, 0x22
je 0x404d24
cmp ax, 0x5c
jne 0x404cbf
mov ebp, 0x5c5c
add rdx, 2
mov word [rdx - 2], bp
jmp 0x404880
mov byte [rdx], 0x22
test eax, eax
jle 0x404af2
mov r12d, 0x2e2e
mov byte [rdx + 3], 0x2e
lea rax, [rdx + 4]
mov word [rdx + 1], r12w
mov byte [rax], 0
lea rcx, [rsp + 0x190]
call sym.__wine_dbg_strdup
mov qword [rsp + 0x20], rax
lea r9, str.ignored__s_switch_n
lea r8, [0x004094e0]
xor ecx, ecx
lea rdx, [0x004070c0]
call sym.wine_dbg_log.constprop.0_2
jmp 0x403eac
mov r13d, 0x725c
add rdx, 2
mov word [rdx - 2], r13w
jmp 0x4045d8
mov r12d, 0x745c
add rdx, 2
mov word [rdx - 2], r12w
jmp 0x4045d8
lea r10d, [rax - 0x20]
cmp r10w, 0x5e
jbe 0x404a88
mov r10d, eax
mov byte [rdx], 0x5c
add rdx, 5
shr r10w, 0xc
and r10d, 0xf
movzx r10d, byte [r9 + r10]
mov byte [rdx - 4], r10b
mov r10d, eax
shr r10w, 8
and r10d, 0xf
movzx r10d, byte [r9 + r10]
mov byte [rdx - 3], r10b
mov r10d, eax
and eax, 0xf
shr r10w, 4
movzx eax, byte [r9 + rax]
and r10d, 0xf
movzx r10d, byte [r9 + r10]
mov byte [rdx - 1], al
mov byte [rdx - 2], r10b
jmp 0x4045d8
mov r11d, 0x225c
add rdx, 2
mov word [rdx - 2], r11w
jmp 0x4045d8
lea r10d, [rax - 0x20]
cmp r10w, 0x5e
jbe 0x404ae7
mov r10d, eax
mov byte [rdx], 0x5c
add rdx, 5
shr r10w, 0xc
and r10d, 0xf
movzx r10d, byte [r13 + r10]
mov byte [rdx - 4], r10b
mov r10d, eax
shr r10w, 8
and r10d, 0xf
movzx r10d, byte [r13 + r10]
mov byte [rdx - 3], r10b
mov r10d, eax
and eax, 0xf
shr r10w, 4
movzx eax, byte [r13 + rax]
and r10d, 0xf
movzx r10d, byte [r13 + r10]
mov byte [rdx - 1], al
mov byte [rdx - 2], r10b
jmp 0x404008
mov eax, 0x225c
add rdx, 2
mov word [rdx - 2], ax
jmp 0x404008
mov eax, 0x745c
add rdx, 2
mov word [rdx - 2], ax
jmp 0x404008
mov eax, 0x725c
add rdx, 2
mov word [rdx - 2], ax
jmp 0x404008
mov byte [rdx], al
add rdx, 1
jmp 0x4045d8
test byte [0x004070c0], 1
je 0x403f32
lea rax, str._null_
mov qword [rsp + 0x20], rax
lea r9, str.Could_not_find_engine_for__s_n
lea r8, str.wWinMain
xor ecx, ecx
lea rdx, [0x004070c0]
mov r13d, 1
call sym.wine_dbg_log.constprop.0_2
jmp 0x403f38
movzx edx, bp
lea rcx, str._04x
call sym.wine_dbg_sprintf_2
jmp 0x4048fb
mov byte [rdx], al
add rdx, 1
jmp 0x404008
lea rax, [rdx + 1]
jmp 0x4048eb
movzx edx, r15w
lea rcx, str._04x
call sym.wine_dbg_sprintf_2
mov qword [rsp + 0x20], rax
lea r9, str.unsupported_switch__s_n
lea r8, [0x004094e0]
xor ecx, ecx
lea rdx, [0x004070c0]
mov r13d, 1
call sym.wine_dbg_log.constprop.0_2
jmp 0x403f38
mov eax, 0x224c
mov byte [rsp + 0x192], 0x22
lea rdx, [rsp + 0x192]
mov word [rsp + 0x190], ax
lea rax, [rdx + 1]
jmp 0x40463e
mov ebx, 0x745c
add rdx, 2
mov word [rdx - 2], bx
jmp 0x404738
mov esi, 0x725c
add rdx, 2
mov word [rdx - 2], si
jmp 0x404738
lea r10d, [rax - 0x20]
cmp r10w, 0x5e
jbe 0x404c5b
mov r10d, eax
mov byte [rdx], 0x5c
add rdx, 5
shr r10w, 0xc
and r10d, 0xf
movzx r10d, byte [r9 + r10]
mov byte [rdx - 4], r10b
mov r10d, eax
shr r10w, 8
and r10d, 0xf
movzx r10d, byte [r9 + r10]
mov byte [rdx - 3], r10b
mov r10d, eax
and eax, 0xf
shr r10w, 4
movzx eax, byte [r9 + rax]
and r10d, 0xf
movzx r10d, byte [r9 + r10]
mov byte [rdx - 1], al
mov byte [rdx - 2], r10b
jmp 0x404738
mov r11d, 0x225c
add rdx, 2
mov word [rdx - 2], r11w
jmp 0x404738
mov rcx, qword [rsp + 0x110]
mov rax, qword [rcx]
call qword [rax + 0x10]
test byte [0x004070c0], 1
jne 0x404eda
call qword [sym.imp.ole32.dll_CoUninitialize]
jmp 0x403f32
mov byte [rdx], 0x22
test eax, eax
jle 0x404ebc
mov ecx, 0x2e2e
mov byte [rdx + 3], 0x2e
lea rax, [rdx + 4]
mov word [rdx + 1], cx
mov byte [rax], 0
lea rcx, [rsp + 0x190]
call sym.__wine_dbg_strdup
jmp 0x404b0b
mov byte [rdx], al
add rdx, 1
jmp 0x404738
call qword [rax + 0x10]
test byte [0x004070c0], 1
je 0x404500
lea r9, str.Script_initialization_failed_n
lea r8, str.wWinMain
xor ecx, ecx
lea rdx, [0x004070c0]
call sym.wine_dbg_log.constprop.0_2
jmp 0x404500
mov r13d, 0x745c
add rdx, 2
mov word [rdx - 2], r13w
jmp 0x404880
mov r14d, 0x725c
add rdx, 2
mov word [rdx - 2], r14w
jmp 0x404880
lea r10d, [rax - 0x20]
cmp r10w, 0x5e
jbe 0x404efb
mov r10d, eax
mov byte [rdx], 0x5c
add rdx, 5
shr r10w, 0xc
and r10d, 0xf
movzx r10d, byte [r9 + r10]
mov byte [rdx - 4], r10b
mov r10d, eax
shr r10w, 8
and r10d, 0xf
movzx r10d, byte [r9 + r10]
mov byte [rdx - 3], r10b
mov r10d, eax
and eax, 0xf
shr r10w, 4
movzx eax, byte [r9 + rax]
and r10d, 0xf
movzx r10d, byte [r9 + r10]
mov byte [rdx - 1], al
mov byte [rdx - 2], r10b
jmp 0x404880
mov r12d, 0x225c
add rdx, 2
mov word [rdx - 2], r12w
jmp 0x404880
mov rax, rbx
shr rax, 0x10
je 0x4050ad
mov rdx, 0xffffffffffffffff
mov rcx, rbx
call qword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov r8d, eax
lea rax, str._invalid_
test r8d, r8d
jne 0x404e45
cmp word [rsp + 0x90], 0
je 0x405250
xor eax, eax
mov ecx, eax
add rax, 1
cmp word [rbx + rax*2], 0
jne 0x404d79
mov r8d, 0x224c
lea rdx, [rsp + 0x192]
mov r9, rbx
mov word [rsp + 0x190], r8w
lea r10, str.0123456789abcdefset_host_properties
lea r8, [rsp + 0x2b2]
jmp 0x404de0
cmp ax, 9
je 0x404f7d
cmp ax, 0xa
jne 0x404f15
mov eax, 0x6e5c
add rdx, 2
mov word [rdx - 2], ax
lea eax, [rcx - 1]
cmp rdx, r8
ja 0x404e19
test ecx, ecx
jle 0x404e19
mov ecx, eax
movzx eax, word [r9]
add r9, 2
cmp ax, 0xd
je 0x404f8f
jbe 0x404db1
cmp ax, 0x22
je 0x404f6b
cmp ax, 0x5c
jne 0x404f06
mov r11d, 0x5c5c
add rdx, 2
mov word [rdx - 2], r11w
jmp 0x404dd2
mov byte [rdx], 0x22
test eax, eax
jle 0x40526a
mov ecx, 0x2e2e
mov byte [rdx + 3], 0x2e
lea rax, [rdx + 4]
mov word [rdx + 1], cx
mov byte [rax], 0
lea rcx, [rsp + 0x190]
call sym.__wine_dbg_strdup
mov qword [rsp + 0x20], rax
lea r9, str.fileid_is__s_n
lea r8, str.get_engine_clsid
mov ecx, 3
lea rdx, [0x004070c0]
call sym.wine_dbg_log.constprop.0_2
jmp 0x404136
mov byte [rdx], 0x22
test eax, eax
jle 0x404fc0
mov edi, 0x2e2e
mov byte [rdx + 3], 0x2e
lea rax, [rdx + 4]
mov word [rdx + 1], di
mov byte [rax], 0
lea rcx, [rsp + 0x190]
call sym.__wine_dbg_strdup
jmp 0x404aa7
mov ebx, 0x224c
mov byte [rsp + 0x192], 0x22
lea rdx, [rsp + 0x192]
mov word [rsp + 0x190], bx
lea rax, [rdx + 1]
jmp 0x404c46
movzx edx, r15w
lea rcx, str._04x
call sym.wine_dbg_sprintf_2
jmp 0x404aa7
lea r9, str.Could_not_create_script_engine_n
lea r8, str.wWinMain
xor ecx, ecx
lea rdx, [0x004070c0]
call sym.wine_dbg_log.constprop.0_2
jmp 0x404c1f
mov byte [rdx], al
add rdx, 1
jmp 0x404880
lea r11d, [rax - 0x20]
cmp r11w, 0x5e
jbe 0x405116
mov r11d, eax
mov byte [rdx], 0x5c
add rdx, 5
shr r11w, 0xc
and r11d, 0xf
movzx r11d, byte [r10 + r11]
mov byte [rdx - 4], r11b
mov r11d, eax
shr r11w, 8
and r11d, 0xf
movzx r11d, byte [r10 + r11]
mov byte [rdx - 3], r11b
mov r11d, eax
and eax, 0xf
shr r11w, 4
movzx eax, byte [r10 + rax]
and r11d, 0xf
movzx r11d, byte [r10 + r11]
mov byte [rdx - 1], al
mov byte [rdx - 2], r11b
jmp 0x404dd2
mov eax, 0x225c
add rdx, 2
mov word [rdx - 2], ax
jmp 0x404dd2
mov eax, 0x745c
add rdx, 2
mov word [rdx - 2], ax
jmp 0x404dd2
mov eax, 0x725c
add rdx, 2
mov word [rdx - 2], ax
jmp 0x404dd2
mov r10d, 0x224c
mov byte [rsp + 0x192], 0x22
lea rdx, [rsp + 0x192]
mov word [rsp + 0x190], r10w
lea rax, [rdx + 1]
jmp 0x404e8a
mov rax, rsi
shr rax, 0x10
je 0x40527e
mov rdx, 0xffffffffffffffff
mov rcx, rsi
call qword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov r8d, eax
lea rax, str._invalid_
test r8d, r8d
jne 0x4050ed
cmp word [rsp + 0x110], 0
je 0x405292
xor eax, eax
mov r8d, eax
add rax, 1
cmp word [rsi + rax*2], 0
jne 0x40500a
mov r9d, 0x224c
lea rax, [rsp + 0x192]
mov rcx, rsi
mov word [rsp + 0x190], r9w
lea r11, [rsp + 0x2b2]
lea r9, str.0123456789abcdefset_host_properties
jmp 0x405075
cmp dx, 9
je 0x40523e
cmp dx, 0xa
jne 0x4051c2
mov edx, 0x6e5c
add rax, 2
mov word [rax - 2], dx
lea edx, [r8 - 1]
test r8d, r8d
jle 0x4050c1
cmp rax, r11
ja 0x4050c1
mov r8d, edx
movzx edx, word [rcx]
add rcx, 2
cmp dx, 0xd
je 0x40522a
jbe 0x405043
cmp dx, 0x22
je 0x405218
cmp dx, 0x5c
jne 0x4051b3
mov r10d, 0x5c5c
add rax, 2
mov word [rax - 2], r10w
jmp 0x405064
movzx edx, bx
lea rcx, str._04x
call sym.wine_dbg_sprintf_2
jmp 0x404e45
mov byte [rax], 0x22
test edx, edx
jle 0x4052ac
mov ecx, 0x2e2e
mov byte [rax + 3], 0x2e
lea rdx, [rax + 4]
mov word [rax + 1], cx
mov byte [rdx], 0
lea rcx, [rsp + 0x190]
call sym.__wine_dbg_strdup
mov qword [rsp + 0x20], rax
lea r9, str.ProgID_is__s_n
lea r8, str.get_engine_clsid
mov ecx, 3
lea rdx, [0x004070c0]
call sym.wine_dbg_log.constprop.0_2
jmp 0x4041cc
mov byte [rdx], al
add rdx, 1
jmp 0x404dd2
test byte [0x004070c0], 1
je 0x4044ea
lea r9, str.Could_not_get_script_text_n
lea r8, str.run_script
xor ecx, ecx
lea rdx, [0x004070c0]
call sym.wine_dbg_log.constprop.0_2
jmp 0x4044ea
test byte [0x004070c0], 1
je 0x4044ea
mov dword [rsp + 0x20], eax
lea r9, str.SetScriptState_failed:__08lx_n
lea r8, str.run_script
xor ecx, ecx
lea rdx, [0x004070c0]
call sym.wine_dbg_log.constprop.0_2
jmp 0x4044ea
test byte [0x004070c0], 1
je 0x4044ea
mov dword [rsp + 0x20], ebx
lea r9, str.ParseScriptText_failed:__08lx_n
lea r8, str.run_script
xor ecx, ecx
lea rdx, [0x004070c0]
call sym.wine_dbg_log.constprop.0_2
jmp 0x4044ea
lea r10d, [rdx - 0x20]
cmp r10w, 0x5e
jbe 0x405273
mov r10d, edx
mov byte [rax], 0x5c
add rax, 5
shr r10w, 0xc
and r10d, 0xf
movzx r10d, byte [r9 + r10]
mov byte [rax - 4], r10b
mov r10d, edx
shr r10w, 8
and r10d, 0xf
movzx r10d, byte [r9 + r10]
mov byte [rax - 3], r10b
mov r10d, edx
and edx, 0xf
shr r10w, 4
movzx edx, byte [r9 + rdx]
and r10d, 0xf
movzx r10d, byte [r9 + r10]
mov byte [rax - 1], dl
mov byte [rax - 2], r10b
jmp 0x405064
mov edi, 0x225c
add rax, 2
mov word [rax - 2], di
jmp 0x405064
mov r14d, 0x725c
add rax, 2
mov word [rax - 2], r14w
jmp 0x405064
mov ebp, 0x745c
add rax, 2
mov word [rax - 2], bp
jmp 0x405064
mov byte [rsp + 0x192], 0x22
lea rdx, [rsp + 0x192]
mov word [rsp + 0x190], 0x224c
lea rax, [rdx + 1]
jmp 0x404e35
mov byte [rax], dl
add rax, 1
jmp 0x405064
movzx edx, si
lea rcx, str._04x
call sym.wine_dbg_sprintf_2
jmp 0x4050ed
mov byte [rsp + 0x192], 0x22
lea rax, [rsp + 0x192]
mov word [rsp + 0x190], 0x224c
lea rdx, [rax + 1]
jmp 0x4050dd