Function at 0x403e20
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, 0x2d8
mov rsi, rcx
mov rbp, rdx
mov rbx, r8
mov edi, r9d
test byte [0x004070c0], 8
jne 0x404590
call qword [sym.imp.kernel32.dll_GetCommandLineW]
lea rdx, [rsp + 0x78]
mov rcx, rax
call qword [sym.imp.shell32.dll_CommandLineToArgvW]
mov rbx, rax
test rax, rax
je 0x403f6e
mov edx, dword [rsp + 0x78]
cmp edx, 1
jle 0x403f61
lea r12, [0x004091b2]
lea rbp, [0x004091b6]
mov rsi, qword [sym.imp.ucrtbase.dll__wcsicmp]
mov r13d, 1
mov rax, r12
lea rdi, str.nologo
shr rax, 0x10
mov qword [rsp + 0x68], rax
mov rax, rbp
shr rax, 0x10
mov qword [rsp + 0x60], rax
mov rax, rdi
shr rax, 0x10
mov qword [rsp + 0x58], rax
jmp 0x403ef4
lea rdx, [0x004091ba]
mov rcx, r14
call rsi
test eax, eax
jne 0x403f38
mov rax, qword [0x00410050]
mov ecx, 0xffffffff
mov word [rax], cx
mov edx, dword [rsp + 0x78]
add r13, 1
cmp edx, r13d
jle 0x403f61
mov r15, qword [rbx + r13*8]
movzx eax, word [r15]
mov ecx, eax
and ecx, 0xfffffffd
cmp cx, 0x2d
jne 0x4040a0
lea r14, [r15 + 2]
cmp ax, 0x2f
jne 0x403ec8
cmp word [r15 + 2], 0x2f
jne 0x403ec8
lea r14, [r15 + 4]
lea rdx, [0x004091ba]
mov rcx, r14
call rsi
test eax, eax
je 0x403ed8
nop dword [rax]
lea rdx, [0x004091be]
mov rcx, r14
call rsi
test eax, eax
jne 0x403f90
mov rax, qword [0x00410050]
xor edx, edx
add r13, 1
mov word [rax], dx
mov edx, dword [rsp + 0x78]
cmp edx, r13d
jg 0x403ef4
test byte [0x004070c0], 1
jne 0x404790
mov r12d, 1
mov eax, r12d
add rsp, 0x2d8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
lea rdx, str.nologo
mov rcx, r14
call rsi
test eax, eax
jne 0x4046f8
test byte [0x004070c0], 1
je 0x403ee7
cmp qword [rsp + 0x58], 0
je 0x404aee
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 0x404761
xor eax, eax
nop word cs:[rax + rax]
mov ecx, eax
add rax, 1
cmp word [rdi + rax*2], 0
jne 0x403ff0
mov eax, 0x224c
lea rdx, [rsp + 0x1a2]
lea r8, str.nologo
mov word [rsp + 0x1a0], ax
lea r9, [rsp + 0x2c2]
jmp 0x404066
cmp ax, 9
je 0x4049f8
cmp ax, 0xa
jne 0x404a19
mov eax, 0x6e5c
add rdx, 2
mov word [rdx - 2], ax
nop dword [rax]
lea eax, [rcx - 1]
cmp rdx, r9
ja 0x404abb
test ecx, ecx
jle 0x404abb
mov ecx, eax
movzx eax, word [r8]
add r8, 2
cmp ax, 0xd
je 0x404a98
jbe 0x404028
cmp ax, 0x22
je 0x404a80
cmp ax, 0x5c
jne 0x404a0a
mov r15d, 0x5c5c
add rdx, 2
mov word [rdx - 2], r15w
jmp 0x404050
mov rax, qword [0x00410000]
lea rcx, [rbx + r13*8 + 8]
sub edx, r13d
lea r9, [rsp + 0x80]
sub edx, 1
lea r8, [0x00416160]
mov qword [rax], rcx
mov rax, qword [0x00410030]
mov rcx, r15
mov dword [rax], edx
mov edx, 0x104
call qword [sym.imp.kernel32.dll_GetFullPathNameW]
sub eax, 1
cmp eax, 0x103
ja 0x403f6e
mov rcx, qword [rsp + 0x80]
mov edx, 0x2e
call qword [sym.imp.ucrtbase.dll_wcsrchr]
mov r14, rax
test rax, rax
je 0x404b02
lea rdi, [rsp + 0x88]
mov rsi, qword [sym.imp.advapi32.dll_RegOpenKeyW]
mov rdx, rax
mov rcx, 0xffffffff80000000
mov r8, rdi
call rsi
test eax, eax
jne 0x404850
lea r12, [rsp + 0x7c]
lea rbx, [rsp + 0xa0]
xor edx, edx
mov rcx, qword [rsp + 0x88]
mov r9, r12
mov r8, rbx
mov dword [rsp + 0x7c], 0x40
mov rbp, qword [sym.imp.advapi32.dll_RegQueryValueW]
call rbp
mov rcx, qword [rsp + 0x88]
mov r13, qword [sym.imp.advapi32.dll_RegCloseKey]
mov dword [rsp + 0x58], eax
call r13
mov edx, dword [rsp + 0x58]
test edx, edx
jne 0x404850
test byte [0x004070c0], 8
jne 0x404d83
cmp word [rsp + 0xa0], 0
mov rax, rbx
je 0x4041aa
nop dword [rax]
add rax, 2
cmp word [rax], 0
jne 0x4041a0
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 0x4041b8
mov r8, rdi
mov rdx, rbx
mov rcx, 0xffffffff80000000
call rsi
test eax, eax
jne 0x404850
lea rsi, [rsp + 0x120]
mov rcx, qword [rsp + 0x88]
mov r9, r12
xor edx, edx
mov dword [rsp + 0x7c], 0x40
mov r8, rsi
call rbp
mov rcx, qword [rsp + 0x88]
mov r12d, eax
call r13
test r12d, r12d
jne 0x404850
test byte [0x004070c0], 8
jne 0x40506f
lea r13, [rsp + 0x90]
mov rcx, rsi
mov rdx, r13
call qword [sym.imp.ole32.dll_CLSIDFromProgID]
test eax, eax
js 0x404850
lea r14, [rsp + 0x1a0]
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitialize]
xor edx, edx
mov qword [rsp + 0x20], r14
mov rcx, r13
mov r9, qword [0x0040ffd0]
mov r8d, 3
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x404b9b
mov rcx, qword [rsp + 0x1a0]
mov r8, rsi
mov rdx, qword [0x0040ff60]
mov rax, qword [rcx]
call qword [rax]
mov rcx, qword [rsp + 0x1a0]
mov esi, eax
mov rax, qword [rcx]
call qword [rax + 0x10]
test esi, esi
js 0x404b9b
mov rcx, qword [rsp + 0x120]
mov rdx, qword [0x0040ff70]
mov r8, rbx
mov rax, qword [rcx]
call qword [rax]
test eax, eax
js 0x404b8d
mov r13, qword [rsp + 0x120]
mov rsi, qword [rsp + 0xa0]
mov rdx, r14
lea rcx, str.wscript.exe
call qword [sym.imp.oleaut32.dll_LoadTypeLib]
test eax, eax
js 0x404ca8
mov rcx, qword [rsp + 0x1a0]
lea r8, [0x00416370]
lea rdx, [0x00409570]
mov rax, qword [rcx]
call qword [rax + 0x30]
mov rcx, qword [rsp + 0x1a0]
test eax, eax
mov rax, qword [rcx]
js 0x404ca5
lea r8, [0x00416368]
lea rdx, [0x00409590]
call qword [rax + 0x30]
mov rcx, qword [rsp + 0x1a0]
mov ebx, eax
mov rax, qword [rcx]
call qword [rax + 0x10]
test ebx, ebx
js 0x404ca8
mov rax, qword [r13]
lea rdx, [0x00407048]
mov rcx, r13
call qword [rax + 0x18]
test eax, eax
js 0x404ca8
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x18]
test eax, eax
js 0x404ca8
mov rax, qword [r13]
mov r8d, 2
lea rdx, str.WScript
mov rcx, r13
call qword [rax + 0x40]
test eax, eax
js 0x404ca8
mov rax, qword [r13]
mov r8d, 2
lea rdx, [0x00409160]
mov rcx, r13
call qword [rax + 0x40]
test eax, eax
js 0x404ca8
mov rax, qword [r13]
mov edx, 5
mov rcx, r13
call qword [rax + 0x28]
test eax, eax
js 0x404ca8
mov qword [rsp + 0x30], 0
xor r9d, r9d
xor r8d, r8d
mov rbx, qword [rsp + 0xa0]
mov dword [rsp + 0x28], 1
mov edx, 0x80000000
mov rcx, r15
mov dword [rsp + 0x20], 3
call qword [sym.imp.kernel32.dll_CreateFileW]
mov r14, rax
cmp rax, 0xffffffffffffffff
je 0x405235
xor edx, edx
mov rcx, rax
call qword [sym.imp.kernel32.dll_GetFileSize]
xor r9d, r9d
xor edx, edx
mov rcx, r14
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, r14
mov rsi, rax
call rbp
cmp rsi, 0xffffffffffffffff
je 0x405235
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 0x405235
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 r14, 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 r14, r14
je 0x405235
mov rax, qword [rbx]
mov rcx, rbx
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x48], 0
mov rdx, r14
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, r14
mov ebx, eax
call qword [sym.imp.oleaut32.dll_SysFreeString]
test ebx, ebx
js 0x405380
mov rax, qword [r13]
mov edx, 1
mov rcx, r13
call qword [rax + 0x28]
test eax, eax
js 0x40526e
mov rax, qword [r13]
mov rcx, r13
call qword [rax + 0x38]
mov rcx, qword [0x00416370]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rax, qword [r13]
mov rcx, r13
call qword [rax + 0x10]
mov rcx, qword [rsp + 0xa0]
mov rax, qword [rcx]
call qword [rax + 0x10]
call qword [sym.imp.ole32.dll_CoUninitialize]
jmp 0x403f74
lea rax, str._null_
test r8, r8
je 0x4046be
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 0x4046be
cmp word [rbx], 0
je 0x404b67
xor eax, eax
nop dword [rax]
mov ecx, eax
add rax, 1
cmp word [rbx + rax*2], 0
jne 0x4045e0
mov edx, 0x224c
lea r9, str.0123456789abcdefset_host_properties
lea r8, [rsp + 0x2c2]
mov word [rsp + 0x1a0], dx
lea rdx, [rsp + 0x1a2]
jmp 0x40464e
cmp ax, 9
je 0x4049e0
cmp ax, 0xa
jne 0x404954
mov r14d, 0x6e5c
add rdx, 2
mov word [rdx - 2], r14w
nop dword [rax + rax]
lea eax, [rcx - 1]
test ecx, ecx
jle 0x404690
cmp rdx, r8
ja 0x404690
mov ecx, eax
movzx eax, word [rbx]
add rbx, 2
cmp ax, 0xd
je 0x4049c8
jbe 0x404618
cmp ax, 0x22
je 0x4049b0
cmp ax, 0x5c
jne 0x404945
mov r10d, 0x5c5c
add rdx, 2
mov word [rdx - 2], r10w
jmp 0x404640
mov byte [rdx], 0x22
test eax, eax
jle 0x404b84
mov r8d, 0x2e2e
mov byte [rdx + 3], 0x2e
lea rax, [rdx + 4]
mov word [rdx + 1], r8w
mov byte [rax], 0
lea rcx, [rsp + 0x1a0]
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 0x403e4c
lea rdx, [0x004091b6]
mov rcx, r14
call rsi
test eax, eax
jne 0x4047d8
test byte [0x004070c0], 1
je 0x403ee7
cmp qword [rsp + 0x60], 0
je 0x404b53
mov rdx, 0xffffffffffffffff
lea rcx, [0x004091b6]
call qword [sym.imp.kernel32.dll_IsBadStringPtrW]
test eax, eax
jne 0x404d77
lea rcx, [rsp + 0x1a0]
mov byte [rsp + 0x1a4], 0
mov dword [rsp + 0x1a0], 0x2264224c
call sym.__wine_dbg_strdup
mov qword [rsp + 0x20], rax
lea r9, str.ignored__s_switch_n
lea r8, [0x00409500]
xor ecx, ecx
lea rdx, [0x004070c0]
call sym.wine_dbg_log.constprop.0_2
jmp 0x403ee7
lea r9, str.No_file_name_specified_n
lea r8, str.wWinMain
xor ecx, ecx
mov r12d, 1
lea rdx, [0x004070c0]
call sym.wine_dbg_log.constprop.0_2
jmp 0x403f74
movzx edx, r8w
lea rcx, str._04x
call sym.wine_dbg_sprintf_2
jmp 0x4046be
lea rdx, [0x004091b2]
mov rcx, r14
call rsi
test eax, eax
jne 0x404bb3
test byte [0x004070c0], 1
je 0x403ee7
cmp qword [rsp + 0x68], 0
je 0x40501e
mov rdx, 0xffffffffffffffff
lea rcx, [0x004091b2]
call qword [sym.imp.kernel32.dll_IsBadStringPtrW]
test eax, eax
jne 0x404d77
lea rcx, [rsp + 0x1a0]
mov byte [rsp + 0x1a4], 0
mov dword [rsp + 0x1a0], 0x2275224c
call sym.__wine_dbg_strdup
jmp 0x404761
test byte [0x004070c0], 1
je 0x403f6e
mov rax, r14
shr rax, 0x10
je 0x404eea
mov rdx, 0xffffffffffffffff
mov rcx, r14
call qword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov r8d, eax
lea rax, str._invalid_
test r8d, r8d
jne 0x404b16
cmp word [r14], 0
je 0x405033
xor eax, eax
nop word [rax + rax]
mov ecx, eax
add rax, 1
cmp word [r14 + rax*2], 0
jne 0x4048a0
mov ebx, 0x224c
lea rdx, [rsp + 0x1a2]
lea r9, str.0123456789abcdefset_host_properties
mov word [rsp + 0x1a0], bx
lea r8, [rsp + 0x2c2]
jmp 0x40490e
cmp ax, 9
je 0x404cd6
cmp ax, 0xa
jne 0x404cf9
mov eax, 0x6e5c
add rdx, 2
mov word [rdx - 2], ax
nop dword [rax]
lea eax, [rcx - 1]
test ecx, ecx
jle 0x404eb9
cmp rdx, r8
ja 0x404eb9
mov ecx, eax
movzx eax, word [r14]
add r14, 2
cmp ax, 0xd
je 0x404d63
jbe 0x4048d4
cmp ax, 0x22
je 0x404d4f
cmp ax, 0x5c
jne 0x404cea
mov ebp, 0x5c5c
add rdx, 2
mov word [rdx - 2], bp
jmp 0x4048f8
lea r10d, [rax - 0x20]
cmp r10w, 0x5e
jbe 0x404ab0
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 0x404640
mov r11d, 0x225c
add rdx, 2
mov word [rdx - 2], r11w
jmp 0x404640
mov r13d, 0x725c
add rdx, 2
mov word [rdx - 2], r13w
jmp 0x404640
mov r12d, 0x745c
add rdx, 2
mov word [rdx - 2], r12w
jmp 0x404640
mov eax, 0x745c
add rdx, 2
mov word [rdx - 2], ax
jmp 0x404050
lea r10d, [rax - 0x20]
cmp r10w, 0x5e
jbe 0x404b42
mov r10d, eax
lea r11, str.0123456789abcdefset_host_properties
mov byte [rdx], 0x5c
add rdx, 5
shr r10w, 0xc
and r10d, 0xf
movzx r10d, byte [r11 + r10]
mov byte [rdx - 4], r10b
mov r10d, eax
shr r10w, 8
and r10d, 0xf
movzx r10d, byte [r11 + r10]
mov byte [rdx - 3], r10b
mov r10d, eax
and eax, 0xf
shr r10w, 4
movzx eax, byte [r11 + rax]
and r10d, 0xf
movzx r10d, byte [r11 + r10]
mov byte [rdx - 1], al
mov byte [rdx - 2], r10b
jmp 0x404050
mov eax, 0x225c
add rdx, 2
mov word [rdx - 2], ax
jmp 0x404050
mov eax, 0x725c
add rdx, 2
mov word [rdx - 2], ax
jmp 0x404050
mov byte [rdx], al
add rdx, 1
jmp 0x404640
mov byte [rdx], 0x22
test eax, eax
jle 0x404b4d
mov r14d, 0x2e2e
mov byte [rdx + 3], 0x2e
lea rax, [rdx + 4]
mov word [rdx + 1], r14w
mov byte [rax], 0
lea rcx, [rsp + 0x1a0]
call sym.__wine_dbg_strdup
jmp 0x404761
movzx edx, di
lea rcx, str._04x
call sym.wine_dbg_sprintf_2
jmp 0x404761
test byte [0x004070c0], 1
je 0x403f6e
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 r12d, 1
call sym.wine_dbg_log.constprop.0_2
jmp 0x403f74
mov byte [rdx], al
add rdx, 1
jmp 0x404050
lea rax, [rdx + 1]
jmp 0x404ad9
movzx edx, bp
lea rcx, str._04x
call sym.wine_dbg_sprintf_2
jmp 0x404761
mov eax, 0x224c
mov byte [rsp + 0x1a2], 0x22
lea rdx, [rsp + 0x1a2]
mov word [rsp + 0x1a0], ax
lea rax, [rdx + 1]
jmp 0x4046ae
mov rcx, qword [rsp + 0x120]
mov rax, qword [rcx]
call qword [rax + 0x10]
test byte [0x004070c0], 1
jne 0x404eff
call qword [sym.imp.ole32.dll_CoUninitialize]
jmp 0x403f6e
test byte [0x004070c0], 1
je 0x403f6e
mov rax, r14
shr rax, 0x10
je 0x405348
mov rdx, 0xffffffffffffffff
mov rcx, r14
call qword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov r8d, eax
lea rax, str._invalid_
test r8d, r8d
jne 0x404f57
cmp word [r14], 0
je 0x4053b2
xor eax, eax
mov r10d, eax
add rax, 1
cmp word [r14 + rax*2], 0
jne 0x404bfd
mov esi, 0x224c
lea rax, [rsp + 0x1a2]
lea r8, [rsp + 0x2c2]
mov word [rsp + 0x1a0], si
lea r11, str.0123456789abcdefset_host_properties
jmp 0x404c6c
cmp dx, 9
je 0x405211
cmp dx, 0xa
jne 0x4051b5
mov ebp, 0x6e5c
add rax, 2
mov word [rax - 2], bp
lea edx, [r10 - 1]
cmp rax, r8
ja 0x404f2b
test r10d, r10d
jle 0x404f2b
mov r10d, edx
movzx edx, word [r14]
add r14, 2
cmp dx, 0xd
je 0x405223
jbe 0x404c32
cmp dx, 0x22
je 0x4051ff
cmp dx, 0x5c
jne 0x4051a8
mov r9d, 0x5c5c
add rax, 2
mov word [rax - 2], r9w
jmp 0x404c53
call qword [rax + 0x10]
test byte [0x004070c0], 1
je 0x404563
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 0x404563
mov r13d, 0x745c
add rdx, 2
mov word [rdx - 2], r13w
jmp 0x4048f8
lea r10d, [rax - 0x20]
cmp r10w, 0x5e
jbe 0x404f20
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 0x4048f8
mov r12d, 0x225c
add rdx, 2
mov word [rdx - 2], r12w
jmp 0x4048f8
mov r15d, 0x725c
add rdx, 2
mov word [rdx - 2], r15w
jmp 0x4048f8
lea rax, str._invalid_
jmp 0x404761
mov rax, rbx
shr rax, 0x10
je 0x40505b
mov rdx, 0xffffffffffffffff
mov rcx, rbx
call qword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov r8d, eax
lea rax, str._invalid_
test r8d, r8d
jne 0x404e90
cmp word [rsp + 0xa0], 0
je 0x40535d
xor eax, eax
mov ecx, eax
add rax, 1
cmp word [rbx + rax*2], 0
jne 0x404dc4
mov r8d, 0x224c
lea rdx, [rsp + 0x1a2]
mov r9, rbx
mov word [rsp + 0x1a0], r8w
lea r10, str.0123456789abcdefset_host_properties
lea r8, [rsp + 0x2c2]
jmp 0x404e2b
cmp ax, 9
je 0x404f83
cmp ax, 0xa
jne 0x404fb6
mov eax, 0x6e5c
add rdx, 2
mov word [rdx - 2], ax
lea eax, [rcx - 1]
cmp rdx, r8
ja 0x404e64
test ecx, ecx
jle 0x404e64
mov ecx, eax
movzx eax, word [r9]
add r9, 2
cmp ax, 0xd
je 0x404f95
jbe 0x404dfc
cmp ax, 0x22
je 0x40500c
cmp ax, 0x5c
jne 0x404fa7
mov r11d, 0x5c5c
add rdx, 2
mov word [rdx - 2], r11w
jmp 0x404e1d
mov byte [rdx], 0x22
test eax, eax
jle 0x405377
mov ecx, 0x2e2e
mov byte [rdx + 3], 0x2e
lea rax, [rdx + 4]
mov word [rdx + 1], cx
mov byte [rax], 0
lea rcx, [rsp + 0x1a0]
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 0x40418b
mov byte [rdx], 0x22
test eax, eax
jle 0x405052
mov edi, 0x2e2e
mov byte [rdx + 3], 0x2e
lea rax, [rdx + 4]
mov word [rdx + 1], di
mov byte [rax], 0
lea rcx, [rsp + 0x1a0]
call sym.__wine_dbg_strdup
jmp 0x404b16
movzx edx, r14w
lea rcx, str._04x
call sym.wine_dbg_sprintf_2
jmp 0x404b16
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 0x404ba8
mov byte [rdx], al
add rdx, 1
jmp 0x4048f8
mov byte [rax], 0x22
test edx, edx
jle 0x4053cc
mov ecx, 0x2e2e
mov byte [rax + 3], 0x2e
lea rdx, [rax + 4]
mov word [rax + 1], cx
mov byte [rdx], 0
lea rcx, [rsp + 0x1a0]
call sym.__wine_dbg_strdup
mov qword [rsp + 0x20], rax
lea r9, str.unsupported_switch__s_n
lea r8, [0x00409500]
xor ecx, ecx
lea rdx, [0x004070c0]
mov r12d, 1
call sym.wine_dbg_log.constprop.0_2
jmp 0x403f74
mov eax, 0x745c
add rdx, 2
mov word [rdx - 2], ax
jmp 0x404e1d
mov eax, 0x725c
add rdx, 2
mov word [rdx - 2], ax
jmp 0x404e1d
lea r11d, [rax - 0x20]
cmp r11w, 0x5e
jbe 0x405263
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 0x404e1d
mov eax, 0x225c
add rdx, 2
mov word [rdx - 2], ax
jmp 0x404e1d
movzx edx, r12w
lea rcx, str._04x
call sym.wine_dbg_sprintf_2
jmp 0x404761
mov r11d, 0x224c
mov byte [rsp + 0x1a2], 0x22
lea rdx, [rsp + 0x1a2]
mov word [rsp + 0x1a0], r11w
lea rax, [rdx + 1]
jmp 0x404ed5
movzx edx, bx
lea rcx, str._04x
call sym.wine_dbg_sprintf_2
jmp 0x404e90
mov rax, rsi
shr rax, 0x10
je 0x4053e0
mov rdx, 0xffffffffffffffff
mov rcx, rsi
call qword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov r8d, eax
lea rax, str._invalid_
test r8d, r8d
jne 0x40517f
cmp word [rsp + 0x120], 0
je 0x4053f4
xor eax, eax
mov r9d, eax
add rax, 1
cmp word [rsi + rax*2], 0
jne 0x4050b0
mov r10d, 0x224c
lea rax, [rsp + 0x1a2]
mov rcx, rsi
mov word [rsp + 0x1a0], r10w
lea r8, [rsp + 0x2c2]
lea r10, str.0123456789abcdefset_host_properties
jmp 0x40511b
cmp dx, 9
je 0x40532b
cmp dx, 0xa
jne 0x4052c3
mov edx, 0x6e5c
add rax, 2
mov word [rax - 2], dx
lea edx, [r9 - 1]
cmp rax, r8
ja 0x405153
test r9d, r9d
jle 0x405153
mov r9d, edx
movzx edx, word [rcx]
add rcx, 2
cmp dx, 0xd
je 0x4052a0
jbe 0x4050e9
cmp dx, 0x22
je 0x405319
cmp dx, 0x5c
jne 0x4052b4
mov r11d, 0x5c5c
add rax, 2
mov word [rax - 2], r11w
jmp 0x40510a
mov byte [rax], 0x22
test edx, edx
jle 0x40540e
mov ecx, 0x2e2e
mov byte [rax + 3], 0x2e
lea rdx, [rax + 4]
mov word [rax + 1], cx
mov byte [rdx], 0
lea rcx, [rsp + 0x1a0]
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 0x404229
lea ecx, [rdx - 0x20]
cmp cx, 0x5e
jbe 0x40533d
mov ecx, edx
mov byte [rax], 0x5c
add rax, 5
shr cx, 0xc
and ecx, 0xf
movzx ecx, byte [r11 + rcx]
mov byte [rax - 4], cl
mov ecx, edx
shr cx, 8
and ecx, 0xf
movzx ecx, byte [r11 + rcx]
mov byte [rax - 3], cl
mov ecx, edx
and edx, 0xf
shr cx, 4
movzx edx, byte [r11 + rdx]
and ecx, 0xf
movzx ecx, byte [r11 + rcx]
mov byte [rax - 1], dl
mov byte [rax - 2], cl
jmp 0x404c53
mov ebx, 0x225c
add rax, 2
mov word [rax - 2], bx
jmp 0x404c53
mov esi, 0x745c
add rax, 2
mov word [rax - 2], si
jmp 0x404c53
mov edi, 0x725c
add rax, 2
mov word [rax - 2], di
jmp 0x404c53
test byte [0x004070c0], 1
je 0x40454c
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 0x40454c
mov byte [rdx], al
add rdx, 1
jmp 0x404e1d
test byte [0x004070c0], 1
je 0x40454c
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 0x40454c
mov r13d, 0x725c
add rax, 2
mov word [rax - 2], r13w
jmp 0x40510a
lea r11d, [rdx - 0x20]
cmp r11w, 0x5e
jbe 0x4053d5
mov r11d, edx
mov byte [rax], 0x5c
add rax, 5
shr r11w, 0xc
and r11d, 0xf
movzx r11d, byte [r10 + r11]
mov byte [rax - 4], r11b
mov r11d, edx
shr r11w, 8
and r11d, 0xf
movzx r11d, byte [r10 + r11]
mov byte [rax - 3], r11b
mov r11d, edx
and edx, 0xf
shr r11w, 4
movzx edx, byte [r10 + rdx]
and r11d, 0xf
movzx r11d, byte [r10 + r11]
mov byte [rax - 1], dl
mov byte [rax - 2], r11b
jmp 0x40510a
mov edi, 0x225c
add rax, 2
mov word [rax - 2], di
jmp 0x40510a
mov ebp, 0x745c
add rax, 2
mov word [rax - 2], bp
jmp 0x40510a
mov byte [rax], dl
add rax, 1
jmp 0x404c53
movzx edx, r14w
lea rcx, str._04x
call sym.wine_dbg_sprintf_2
jmp 0x404f57
mov byte [rsp + 0x1a2], 0x22
lea rdx, [rsp + 0x1a2]
mov word [rsp + 0x1a0], 0x224c
lea rax, [rdx + 1]
jmp 0x404e80
test byte [0x004070c0], 1
je 0x40454c
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 0x40454c
mov byte [rsp + 0x1a2], 0x22
lea rax, [rsp + 0x1a2]
mov word [rsp + 0x1a0], 0x224c
lea rdx, [rax + 1]
jmp 0x404f47
mov byte [rax], dl
add rax, 1
jmp 0x40510a
movzx edx, si
lea rcx, str._04x
call sym.wine_dbg_sprintf_2
jmp 0x40517f
mov byte [rsp + 0x1a2], 0x22
lea rax, [rsp + 0x1a2]
mov word [rsp + 0x1a0], 0x224c
lea rdx, [rax + 1]
jmp 0x40516f