Function at 0x407930
Capabilities:
Create thread
Read file on windows

Disassembly:
lea ecx, [esp + 4]
and esp, 0xfffffff0
push dword [ecx - 4]
push ebp
mov ebp, esp
push edi
push esi
push ebx
push ecx
sub esp, 0x218
mov eax, dword [ecx + 4]
mov edi, dword [ecx]
mov dword [ebp - 0x174], eax
movzx eax, byte [0x415058]
mov dword [ebp - 0x170], edi
test edi, edi
jle 0x407bdc
movzx edi, word [0x416c4e]
xor esi, esi
test al, 8
jne 0x407a78
mov dword [0x418004], 0x1f7
call dword [sym.imp.kernel32.dll_GetOEMCP]
mov dword [0x418090], 0x32
mov dword [0x4180a4], eax
mov dword [0x4180a0], eax
mov dword [esp + 4], 4
mov dword [esp], 0x32
call dword [sym.imp.ucrtbase.dll_calloc]
mov dword [0x41808c], eax
test eax, eax
je 0x407c85
cmp dword [ebp - 0x170], 1
jle 0x408117
xor edx, edx
mov ebx, 1
mov dword [ebp - 0x180], 0
mov dword [ebp - 0x17c], 0
mov dword [ebp - 0x178], 0
mov dword [ebp - 0x16c], edx
jmp 0x407a19
mov dword [ebp - 0x178], 1
add ebx, 1
cmp dword [ebp - 0x170], ebx
jle 0x407e78
mov eax, dword [ebp - 0x174]
lea esi, [ebx*4]
mov dword [esp + 4], 0x41634c
lea edi, [eax + esi]
mov eax, dword [edi]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_wcscmp]
test eax, eax
je 0x407a00
mov dword [esp + 4], str.__unix
mov eax, dword [edi]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_wcscmp]
test eax, eax
jne 0x407c10
mov dword [0x41800c], 1
mov dword [0x418010], 1
jmp 0x407a00
mov eax, dword [ebp - 0x174]
mov ebx, dword [eax + esi*4]
test ebx, ebx
je 0x407de0
mov eax, ebx
shr eax, 0x10
je 0x407ce8
mov dword [esp + 4], 0xffffffff
mov dword [esp], ebx
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov ecx, eax
sub esp, 8
mov eax, section..rdata
test ecx, ecx
jne 0x407b9e
cmp word [ebx], 0
je 0x4080a0
lea esi, [esi]
mov edx, ecx
lea ecx, [ecx + 1]
cmp word [ebx + edx*2 + 2], 0
jne 0x407ac8
mov eax, 0x224c
mov dword [ebp - 0x178], esi
mov word [ebp - 0x148], ax
lea eax, [ebp - 0x146]
mov dword [ebp - 0x16c], ebx
jmp 0x407b24
cmp cx, 9
je 0x407cb8
cmp cx, 0xa
jne 0x407d70
mov ebx, 0x6e5c
add eax, 2
mov word [eax - 2], bx
sub edx, 1
jb 0x407b60
lea ecx, [ebp - 0x26]
cmp ecx, eax
jb 0x407b70
add dword [ebp - 0x16c], 2
mov ebx, dword [ebp - 0x16c]
movzx ecx, word [ebx - 2]
cmp cx, 0xd
je 0x407ca0
jbe 0x407af8
cmp cx, 0x22
je 0x407cd0
cmp cx, 0x5c
jne 0x407dc8
mov word [eax], di
add eax, 2
sub edx, 1
jae 0x407b1d
mov byte [eax], 0x22
mov esi, dword [ebp - 0x178]
lea edx, [eax + 1]
jmp 0x407b8d
mov byte [eax], 0x22
mov esi, dword [ebp - 0x178]
test edx, edx
je 0x407b69
mov byte [eax + 3], 0x2e
mov edx, 0x2e2e
mov word [eax + 1], dx
lea edx, [eax + 4]
lea eax, [ebp - 0x148]
mov byte [edx], 0
mov dword [esp], eax
call sym.___wine_dbg_strdup
mov dword [esp + 0x10], eax
add esi, 1
mov dword [esp + 0xc], 0x416348
mov dword [esp + 8], str.wmain
mov dword [esp + 4], 0x415058
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0
movzx eax, byte [0x415058]
cmp dword [ebp - 0x170], esi
jne 0x407970
and eax, 8
test al, al
je 0x407978
mov dword [esp + 0xc], 0x4161de
mov dword [esp + 8], str.wmain
mov dword [esp + 4], 0x415058
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0
jmp 0x407978
mov dword [esp + 4], str.__width
mov eax, dword [edi]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_wcscmp]
test eax, eax
jne 0x407d00
add ebx, 1
cmp dword [ebp - 0x170], ebx
je 0x407c85
lea eax, [ebp - 0x160]
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x174]
mov eax, dword [eax + esi + 4]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_wcstol]
mov dword [ebp - 0x16c], eax
test eax, eax
je 0x407d5d
cmp dword [ebp - 0x16c], 0xffff
jg 0x407c85
mov eax, dword [ebp - 0x160]
cmp word [eax], 0
je 0x407a0a
mov eax, 1
lea esp, [ebp - 0x10]
pop ecx
pop ebx
pop esi
pop edi
pop ebp
lea esp, [ecx - 4]
ret
movzx esi, word [str._r__]
add eax, 2
mov word [eax - 2], si
jmp 0x407b18
mov ecx, 0x745c
add eax, 2
mov word [eax - 2], cx
jmp 0x407b18
movzx esi, word [0x416c4c]
add eax, 2
mov word [eax - 2], si
jmp 0x407b18
mov dword [esp + 4], ebx
mov dword [esp], 0x41600a
call sym._wine_dbg_sprintf
jmp 0x407b9e
mov dword [esp + 4], str.__height
mov eax, dword [edi]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_wcscmp]
test eax, eax
jne 0x407df0
add ebx, 1
cmp dword [ebp - 0x170], ebx
je 0x407c85
lea eax, [ebp - 0x160]
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x174]
mov eax, dword [eax + esi + 4]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_wcstol]
mov dword [ebp - 0x17c], eax
test eax, eax
jne 0x407e60
mov eax, dword [0x41800c]
test eax, eax
jne 0x407c75
jmp 0x407c85
mov esi, ecx
mov byte [eax], 0x5c
add eax, 5
shr si, 0xc
movzx esi, si
movzx ebx, byte [esi + str.0123456789abcdeftty_flush]
mov esi, ecx
shr si, 8
and esi, 0xf
mov byte [eax - 4], bl
movzx ebx, byte [esi + str.0123456789abcdeftty_flush]
mov esi, ecx
and ecx, 0xf
shr si, 4
movzx ecx, byte [ecx + str.0123456789abcdeftty_flush]
and esi, 0xf
mov byte [eax - 3], bl
movzx ebx, byte [esi + str.0123456789abcdeftty_flush]
mov byte [eax - 1], cl
mov byte [eax - 2], bl
jmp 0x407b18
lea esi, [ecx - 0x20]
cmp si, 0x5e
ja 0x407d70
mov byte [eax], cl
add eax, 1
jmp 0x407b18
mov eax, 0x416010
jmp 0x407b9e
mov dword [esp + 4], str.__signal
mov eax, dword [edi]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_wcscmp]
test eax, eax
jne 0x4080be
add ebx, 1
cmp dword [ebp - 0x170], ebx
je 0x407c85
lea eax, [ebp - 0x160]
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x174]
mov eax, dword [eax + esi + 4]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_wcstol]
mov edx, dword [ebp - 0x160]
cmp word [edx], 0
jne 0x407c85
mov dword [ebp - 0x180], eax
jmp 0x407a0a
cmp dword [ebp - 0x17c], 0xffff
jle 0x407c75
jmp 0x407c85
mov ebx, dword [section..bss]
mov edx, dword [ebp - 0x16c]
test ebx, ebx
je 0x4098f1
mov edi, dword [ebp - 0x17c]
test edx, edx
mov eax, 0x50
cmove edx, eax
mov eax, 0x96
test edi, edi
cmovne eax, edi
mov ecx, eax
mov eax, 1
call sym._create_screen_buffer.constprop.0
mov dword [0x418008], eax
test eax, eax
je 0x407c85
mov ecx, dword [ebp - 0x178]
test ecx, ecx
je 0x408150
mov ebx, dword [sym.imp.kernel32.dll_GetStdHandle]
mov dword [esp], 0xfffffff6
call ebx
sub esp, 4
mov dword [0x4180b0], eax
mov dword [esp], 0xfffffff5
call ebx
mov dword [0x4180b4], eax
sub esp, 4
or eax, dword [0x4180b0]
je 0x409f38
mov edx, dword [0x41800c]
test edx, edx
je 0x409b11
mov dword [0x4190c4], 7
mov dword [0x4190c8], 1
mov eax, dword [ebp - 0x180]
test eax, eax
je 0x409927
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 1
mov dword [esp], 0
call dword [sym.imp.kernel32.dll_CreateEventW]
sub esp, 0x10
mov edi, eax
test eax, eax
je 0x407c85
lea eax, [ebp - 0x162]
mov dword [esp + 0x20], 0
mov dword [esp + 0x14], eax
lea eax, [ebp - 0x15c]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 2
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], edi
mov eax, dword [ebp - 0x180]
mov dword [esp], eax
call dword [sym.imp.ntdll.dll_NtReadFile]
sub esp, 0x24
test eax, eax
je 0x407fc4
cmp eax, 0x103
jne 0x407c85
cmp dword [0x4190cc], 0xfff
mov eax, dword [0x4190d0]
jbe 0x409ae4
test eax, eax
je 0x407c85
mov eax, dword [section..bss]
mov dword [ebp - 0x154], eax
mov eax, dword [ebp - 0x180]
test eax, eax
je 0x409c28
mov dword [ebp - 0x150], edi
mov edx, 2
mov dword [ebp - 0x18c], 3
mov eax, dword [0x4180ac]
test eax, eax
je 0x409c3c
mov dword [ebp + edx*4 - 0x154], eax
mov dword [ebp - 0x1ac], edi
mov esi, dword [0x4180a8]
test esi, esi
je 0x4081ec
lea eax, [ebp - 0x154]
mov dword [esp + 0x10], 0x4ff
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x18c]
mov dword [esp], eax
call sym._MsgWaitForMultipleObjects_20
sub esp, 0x14
cmp dword [ebp - 0x18c], eax
je 0x409943
test eax, eax
je 0x4082c0
cmp eax, 1
je 0x40821d
test byte [0x415058], 8
jne 0x4081c1
xor eax, eax
jmp 0x407c8a
mov eax, 0x224c
mov byte [ebp - 0x146], 0x22
lea edx, [ebp - 0x145]
mov word [ebp - 0x148], ax
jmp 0x407b8d
mov dword [esp + 4], str.__server
mov eax, dword [edi]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_wcscmp]
test eax, eax
jne 0x40aa68
add ebx, 1
cmp dword [ebp - 0x170], ebx
je 0x407c85
lea eax, [ebp - 0x160]
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x174]
mov eax, dword [eax + esi + 4]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_wcstol]
mov dword [section..bss], eax
jmp 0x407c75
mov esi, dword [section..bss]
test esi, esi
je 0x4098f1
mov ecx, 0x96
mov edx, 0x50
mov eax, 1
call sym._create_screen_buffer.constprop.0
mov dword [0x418008], eax
test eax, eax
je 0x407c85
mov dword [ebp - 0x180], 0
mov dword [esp], section..bss
call sym._init_window
test eax, eax
je 0x407c85
lea eax, [ebp - 0x148]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_GetStartupInfoW]
mov eax, dword [ebp - 0x13c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_wcslen]
lea edx, [eax + eax]
mov eax, dword [ebp - 0x13c]
call sym._set_console_title.constprop.0
mov eax, 5
test byte [ebp - 0x11c], 1
je 0x4081a8
movzx eax, word [ebp - 0x118]
mov dword [esp + 4], eax
mov eax, dword [0x4180a8]
mov dword [esp], eax
call sym._ShowWindow_8
sub esp, 8
jmp 0x407f23
mov dword [esp + 0xc], str.wait_failed__quit_n
mov dword [esp + 8], str.main_loop
mov dword [esp + 4], 0x415058
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0
xor eax, eax
jmp 0x407c8a
lea eax, [ebp - 0x154]
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x18c]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_WaitForMultipleObjects]
sub esp, 0x10
jmp 0x40806a
mov edx, dword [ebp - 0x15c]
movzx eax, byte [0x415058]
test edx, edx
jne 0x40ad57
cmp dword [ebp - 0x158], 2
jne 0x40ad57
test al, 1
jne 0x409bf4
lea eax, [ebp - 0x162]
mov dword [esp + 0x20], 0
mov dword [esp + 0x14], eax
lea eax, [ebp - 0x15c]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 2
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov eax, dword [ebp - 0x1ac]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x180]
mov dword [esp], eax
call dword [sym.imp.ntdll.dll_NtReadFile]
sub esp, 0x24
test eax, eax
je 0x408029
cmp eax, 0x103
je 0x408029
jmp 0x407c85
mov dword [esp], 0x415040
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov eax, dword [0x4190d0]
mov edx, dword [0x41801c]
mov dword [ebp - 0x174], 0
mov dword [ebp - 0x16c], 0
sub esp, 4
mov dword [ebp - 0x170], eax
mov eax, dword [0x4190cc]
mov edi, edx
mov dword [ebp - 0x178], eax
lea eax, [ebp - 0x148]
mov dword [ebp - 0x188], eax
nop
xor edx, edx
mov eax, dword [ebp - 0x16c]
test edi, edi
mov esi, dword [section..bss]
setne dl
mov ecx, 0xf
lea edi, [ebp - 0x144]
mov dword [0x418024], edx
test eax, eax
jne 0x4084a0
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x174]
mov dword [ebp - 0x13c], esi
mov dword [ebp - 0x148], 0x38
mov dword [ebp - 0x108], 0
mov dword [ebp - 0x138], edx
test eax, eax
je 0x40838a
mov edi, dword [ebp - 0x170]
mov dword [ebp - 0xfc], eax
mov dword [ebp - 0x108], 1
mov dword [ebp - 0x100], edi
mov dword [ebp - 0x144], eax
mov eax, dword [ebp - 0x170]
mov dword [ebp - 0x104], eax
mov eax, dword [ebp - 0x178]
mov dword [ebp - 0x140], eax
mov eax, dword [ebp - 0x188]
mov dword [esp], eax
call sym._wine_server_call
mov ebx, dword [ebp - 0x138]
mov esi, dword [ebp - 0x144]
mov dword [ebp - 0x16c], eax
mov edx, dword [ebp - 0x140]
mov dword [ebp - 0x174], ebx
mov edi, dword [ebp - 0x13c]
mov dword [ebp - 0x184], esi
cmp eax, 0x103
je 0x40992e
cmp eax, 0x80000005
je 0x4085a8
mov ecx, dword [ebp - 0x16c]
test ecx, ecx
jne 0x409bd0
cmp edx, 0x500168
je 0x4084d8
test edi, edi
jne 0x40852a
mov eax, dword [0x4190d0]
mov dword [ebp - 0x170], eax
cmp edx, 0x504044
ja 0x408a31
cmp edx, 0x504027
ja 0x408690
cmp edx, 0x500054
je 0x409e65
ja 0x4099ff
cmp edx, 0x500008
je 0x409d5b
cmp edx, 0x500050
jne case.0x40869b.5259305
mov eax, esi
or eax, dword [ebp - 0x174]
jne 0x40b47a
mov eax, dword [0x41800c]
mov dword [ebp - 0x16c], eax
test eax, eax
jne 0x40a5c8
mov eax, dword [0x4190cc]
mov edi, dword [0x41801c]
mov dword [ebp - 0x174], 0
mov dword [ebp - 0x178], eax
jmp 0x408310
xor eax, eax
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x16c]
mov dword [ebp - 0x13c], esi
mov dword [ebp - 0x148], 0x38
mov dword [ebp - 0x108], 0
mov dword [ebp - 0x130], eax
mov dword [ebp - 0x138], edx
jmp 0x40838a
test byte [0x415058], 8
jne 0x408ab4
mov eax, dword [0x418008]
mov dword [0x418010], 0
test eax, eax
je 0x408ae1
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 0xc]
mov eax, edi
call sym._create_screen_buffer.constprop.0
mov eax, dword [0x4190d0]
mov edi, dword [0x41801c]
mov dword [ebp - 0x170], eax
mov eax, dword [0x4190cc]
mov dword [ebp - 0x178], eax
jmp 0x408310
mov esi, dword [0x415004]
mov ebx, edx
test esi, esi
je 0x408561
lea esi, [esi]
lea esi, [esi]
mov dword [esp + 4], esi
mov dword [esp], edi
call dword [section..data]
test eax, eax
je 0x4085ea
mov eax, dword [esi + 4]
mov esi, dword [esi + 8]
js 0x4085a0
test esi, esi
jne 0x408540
test byte [0x415058], 2
jne 0x409a91
mov eax, dword [0x4190d0]
mov edi, dword [0x41801c]
mov dword [ebp - 0x16c], 0xc0000008
mov dword [ebp - 0x170], eax
mov eax, dword [0x4190cc]
mov dword [ebp - 0x178], eax
jmp 0x408310
test eax, eax
je 0x408561
mov esi, eax
jmp 0x408540
mov eax, dword [0x4190cc]
mov edi, dword [0x4190d0]
mov dword [ebp - 0x178], eax
mov dword [ebp - 0x170], edi
cmp eax, ebx
jb 0x408b13
mov ebx, dword [ebp - 0x170]
test ebx, ebx
je 0x409bdd
mov dword [ebp - 0x16c], 0
mov edi, dword [0x41801c]
jmp 0x408310
mov dword [ebp - 0x16c], eax
mov eax, dword [0x4190d0]
mov edx, ebx
mov dword [ebp - 0x170], eax
mov dword [ebp - 0x17c], eax
lea eax, [esi - 0x94]
mov dword [ebp - 0x190], eax
cmp ebx, 0x508098
ja case.0x408b65.5275769
cmp edx, 0x508077
ja 0x408b5a
cmp edx, 0x504080
je 0x40a093
ja 0x409d85
cmp edx, 0x50016c
je 0x40a009
cmp edx, 0x504000
je 0x409f98
cmp edx, 0x500008
jne case.0x408b65.5275769
mov eax, dword [0x4190cc]
mov edi, dword [0x41801c]
mov dword [ebp - 0x178], eax
mov eax, dword [esi - 0x94]
mov ecx, dword [eax + 0xc]
mov eax, 0xc00000bb
test ecx, ecx
cmovne eax, dword [ebp - 0x16c]
mov dword [ebp - 0x16c], eax
jmp 0x408310
lea eax, [edx - 0x504028]
cmp eax, 0x1c
ja case.0x40869b.5259305
jmp dword [eax*4 + 0x4165f0]
test byte [0x415058], 4
jne 0x40a4bb
mov eax, dword [0x4190cc]
mov edi, dword [0x41801c]
mov dword [ebp - 0x16c], 0xc0000008
mov dword [ebp - 0x178], eax
jmp 0x408310
mov esi, dword [ebp - 0x184]
test esi, esi
jne 0x40bb86
test byte [0x415058], 8
jne 0x40a422
mov eax, dword [0x418088]
test eax, eax
je 0x40a3e6
mov dword [esp], eax
mov ebx, dword [sym.imp.ucrtbase.dll_wcslen]
call ebx
add eax, eax
cmp dword [ebp - 0x174], eax
jb 0x408726
mov eax, dword [0x418088]
test eax, eax
je 0x40a3e6
mov dword [esp], eax
call ebx
add eax, eax
mov dword [ebp - 0x174], eax
mov edi, dword [0x4190d0]
mov eax, dword [0x4190cc]
mov dword [ebp - 0x170], edi
mov edi, dword [ebp - 0x174]
mov dword [ebp - 0x178], eax
cmp eax, edi
jb 0x40a7c8
mov ebx, dword [ebp - 0x170]
test ebx, ebx
je 0x40bc04
mov ecx, dword [ebp - 0x174]
test ecx, ecx
jne 0x40a800
mov dword [ebp - 0x16c], 0
mov edi, dword [0x41801c]
jmp 0x408310
test byte [0x415058], 8
jne 0x40a97d
mov eax, dword [0x4190cc]
mov edi, dword [ebp - 0x184]
mov dword [ebp - 0x178], eax
test edi, edi
jne 0x40b636
cmp dword [ebp - 0x174], 0xc
jne 0x40b636
cmp dword [ebp - 0x178], 0xb
jbe 0x40a8c6
mov esi, dword [ebp - 0x170]
test esi, esi
je 0x40b602
mov eax, dword [0x4180a0]
mov edx, dword [ebp - 0x170]
mov dword [ebp - 0x16c], 0
mov dword [ebp - 0x174], 0xc
mov dword [edx], eax
mov eax, dword [0x4180a4]
mov dword [edx + 4], eax
mov edi, dword [0x41801c]
mov dword [edx + 8], edi
jmp 0x408310
mov eax, dword [ebp - 0x184]
test eax, eax
jne 0x40b6d5
mov eax, dword [0x4180b0]
test eax, eax
je 0x408825
mov eax, dword [0x4180ac]
test eax, eax
je 0x40ae83
mov esi, dword [0x41801c]
test esi, esi
jne 0x40883d
mov ebx, dword [ebp - 0x174]
test ebx, ebx
jne 0x40af52
mov edx, dword [ebp - 0x174]
mov eax, section..bss
call sym._read_console_input
mov edi, dword [0x41801c]
mov dword [ebp - 0x174], 0
mov dword [ebp - 0x16c], eax
mov eax, dword [0x4190d0]
mov dword [ebp - 0x170], eax
mov eax, dword [0x4190cc]
mov dword [ebp - 0x178], eax
jmp 0x408310
test byte [0x415058], 8
jne 0x40a79f
mov ecx, dword [ebp - 0x184]
test ecx, ecx
jne 0x40b81d
mov edx, dword [0x4180b0]
test edx, edx
je 0x4088b0
mov eax, dword [0x4180ac]
test eax, eax
je 0x40af9f
mov edi, dword [0x41801c]
mov edx, dword [ebp - 0x174]
mov esi, dword [0x4190d0]
lea eax, [edi + edi*4]
shl eax, 2
mov dword [ebp - 0x170], esi
cmp edx, eax
cmovbe eax, edx
mov edx, dword [0x4190cc]
mov dword [ebp - 0x174], eax
mov dword [ebp - 0x178], edx
cmp edx, eax
jb 0x40a946
mov eax, dword [ebp - 0x170]
test eax, eax
je 0x40bc19
mov dword [ebp - 0x16c], 0
mov eax, dword [ebp - 0x174]
test eax, eax
je 0x408310
mov eax, dword [ebp - 0x174]
mov dword [esp + 8], eax
mov eax, dword [0x418018]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x170]
mov dword [esp], eax
call sym._memcpy
mov edi, dword [0x41801c]
mov dword [ebp - 0x16c], 0
jmp 0x408310
mov ebx, dword [0x4180b0]
test ebx, ebx
je 0x408961
mov ecx, dword [0x4180ac]
test ecx, ecx
je 0x40aeb9
mov dword [esp + 4], 0
xor ecx, ecx
mov eax, 0x50402c
mov dword [esp], 0
mov edx, dword [ebp - 0x174]
call sym._read_console.constprop.0
mov edi, dword [0x41801c]
mov dword [ebp - 0x174], 0
mov dword [ebp - 0x16c], eax
mov eax, dword [0x4190d0]
mov dword [ebp - 0x170], eax
mov eax, dword [0x4190cc]
mov dword [ebp - 0x178], eax
jmp 0x408310
mov eax, dword [ebp - 0x174]
and eax, 1
or eax, dword [ebp - 0x184]
jne 0x40bc68
mov edx, dword [0x4180b0]
test edx, edx
je 0x4089df
mov eax, dword [0x4180ac]
test eax, eax
je 0x40b2ef
mov dword [esp + 4], 0
xor ecx, ecx
mov eax, 0x504028
mov dword [esp], 0
mov edx, dword [ebp - 0x174]
call sym._read_console.constprop.0
mov edi, dword [0x41801c]
mov dword [ebp - 0x174], 0
mov dword [ebp - 0x16c], eax
mov eax, dword [0x4190d0]
mov dword [ebp - 0x170], eax
mov eax, dword [0x4190cc]
mov dword [ebp - 0x178], eax
jmp 0x408310
cmp edx, 0x508034
je 0x409c47
ja 0x409998
cmp edx, 0x504060
je 0x409cbe
cmp edx, 0x508004
jne case.0x40869b.5259305
cmp dword [ebp - 0x184], 4
jne 0x40be49
mov ecx, dword [ebp - 0x174]
test ecx, ecx
jne 0x40be49
mov eax, dword [eax]
mov dword [0x418004], eax
test byte [0x415058], 8
jne 0x40a45e
mov eax, dword [0x4190cc]
mov edi, dword [0x41801c]
mov dword [ebp - 0x174], 0
mov dword [ebp - 0x16c], 0
mov dword [ebp - 0x178], eax
jmp 0x408310
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], str.initializing_output__x_n
mov dword [esp + 8], str.process_console_ioctls
mov dword [esp + 4], 0x415058
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0
jmp 0x4084e5
mov eax, edi
mov ecx, 0x96
mov edx, 0x50
call sym._create_screen_buffer.constprop.0
mov eax, dword [0x4190d0]
mov edi, dword [0x41801c]
mov dword [ebp - 0x170], eax
mov eax, dword [0x4190cc]
mov dword [ebp - 0x178], eax
jmp 0x408310
mov dword [esp + 4], ebx
mov eax, dword [ebp - 0x170]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_realloc]
mov dword [ebp - 0x170], eax
test eax, eax
je 0x409bdd
mov dword [0x4190d0], eax
mov edi, dword [0x41801c]
mov dword [0x4190cc], ebx
mov dword [ebp - 0x178], ebx
mov dword [ebp - 0x16c], 0
jmp 0x408310
lea eax, [edx - 0x508078]
cmp eax, 0x20
ja case.0x408b65.5275769
jmp dword [eax*4 + 0x416664]
test byte [0x415058], 4
jne 0x40b047
mov eax, dword [0x4190cc]
mov edi, dword [0x41801c]
mov dword [ebp - 0x16c], 0xc0000008
mov dword [ebp - 0x178], eax
jmp 0x408310
mov eax, dword [ebp - 0x174]
test eax, eax
jne 0x40b5ae
cmp dword [ebp - 0x184], 0x18
jne 0x40b5ae
mov edi, dword [ebp - 0x17c]
mov eax, dword [esi - 0x94]
mov dword [eax + 0x10], 0
movsx edx, word [edi]
movsx eax, word [edi + 4]
movsx ebx, word [edi + 2]
mov word [ebp - 0x19c], dx
sub eax, edx
mov dword [ebp - 0x1a0], edx
add eax, 1
mov word [ebp - 0x1b2], bx
mov dword [ebp - 0x178], eax
movsx eax, word [edi + 6]
mov dword [ebp - 0x174], ebx
sub eax, ebx
add eax, 1
mov dword [ebp - 0x170], eax
test byte [0x415058], 8
jne 0x40ad02
mov ebx, dword [ebp - 0x17c]
xor eax, eax
movzx edx, word [ebx + 0xc]
test dx, dx
cmovns eax, edx
movzx edx, word [ebx + 0xe]
mov edi, eax
xor eax, eax
test dx, dx
mov ecx, eax
movsx eax, word [ebx + 0x10]
mov word [ebp - 0x1ba], di
cmovns ecx, edx
mov edx, dword [esi - 0x88]
mov dword [ebp - 0x1a4], edx
sub edx, 1
cmp edx, eax
mov word [ebp - 0x1b0], cx
cmovbe eax, edx
mov ecx, eax
mov eax, dword [esi - 0x84]
mov dword [ebp - 0x1b8], ecx
lea edx, [eax - 1]
mov dword [ebp - 0x184], eax
movsx eax, word [ebx + 0x12]
cmp edx, eax
cmovbe eax, edx
mov dword [ebp - 0x1a8], eax
mov edx, eax
cmp di, cx
jg 0x40c0cd
cmp word [ebp - 0x1b0], dx
jg 0x40c0cd
movzx ecx, word [ebx]
test cx, cx
js 0x40c0cd
movzx edi, word [ebx + 2]
test di, di
js 0x40c0cd
movsx eax, word [ebx + 4]
mov edx, dword [ebp - 0x1a4]
mov ebx, eax
cmp eax, edx
jae 0x40c0cd
mov eax, dword [ebp - 0x17c]
cmp cx, bx
setg cl
movsx eax, word [eax + 6]
cmp di, ax
setg dl
or dl, cl
jne 0x40c0cd
mov ebx, dword [ebp - 0x184]
cmp eax, ebx
jae 0x40c0cd
mov eax, dword [ebp - 0x17c]
movsx ecx, word [eax + 8]
mov word [ebp - 0x184], cx
test cx, cx
js 0x40c0cd
mov edx, dword [ebp - 0x1a4]
mov dword [ebp - 0x1d4], ecx
cmp ecx, edx
jae 0x40c0cd
movsx edx, word [eax + 0xa]
mov word [ebp - 0x194], dx
test dx, dx
js 0x40c0cd
mov dword [ebp - 0x1d8], edx
cmp edx, ebx
jae 0x40c0cd
movsx eax, word [ebp - 0x1ba]
mov edx, dword [ebp - 0x1a0]
mov ecx, dword [ebp - 0x174]
cmp edx, eax
mov ebx, edx
mov dword [ebp - 0x1c8], eax
cmovl ebx, eax
mov eax, dword [ebp - 0x178]
mov dword [ebp - 0x198], ebx
mov edi, eax
mov word [ebp - 0x1c4], bx
movsx ebx, word [ebp - 0x1b0]
mov word [ebp - 0x1b4], ax
cmp ecx, ebx
mov dword [ebp - 0x1cc], ebx
cmovge ebx, ecx
mov word [ebp - 0x1ce], bx
mov ecx, ebx
movsx ebx, word [ebp - 0x1b8]
mov dword [ebp - 0x1c0], ebx
mov ebx, eax
add ebx, edx
movzx edx, word [ebp - 0x19c]
lea edx, [edx + edi - 1]
mov edi, dword [ebp - 0x1c0]
cmp ebx, edi
cmovg dx, word [ebp - 0x1b8]
mov edi, dword [ebp - 0x170]
mov ebx, dword [ebp - 0x174]
mov word [ebp - 0x1bc], dx
movsx edx, word [ebp - 0x1a8]
mov eax, edi
add ebx, edi
cmp ebx, edx
jg 0x40a836
movzx edi, word [ebp - 0x1b2]
movzx ebx, word [ebp - 0x170]
lea edi, [edi + ebx - 1]
mov word [ebp - 0x1c2], di
movsx edi, di
mov dword [ebp - 0x19c], edi
movzx ebx, word [ebp - 0x1b4]
movzx edi, word [ebp - 0x184]
lea ebx, [edi + ebx - 1]
mov word [ebp - 0x1b2], bx
movzx ebx, word [ebp - 0x194]
lea ebx, [ebx + eax - 1]
mov word [ebp - 0x1b4], bx
movzx ebx, word [ebp - 0x1ba]
cmp bx, di
jle 0x408e65
mov eax, dword [ebp - 0x1d4]
mov edi, dword [ebp - 0x1c8]
mov word [ebp - 0x184], bx
sub edi, eax
add dword [ebp - 0x1a0], edi
sub dword [ebp - 0x178], edi
movzx edi, word [ebp - 0x1b0]
movzx eax, word [ebp - 0x194]
cmp di, ax
jle 0x408e99
mov eax, dword [ebp - 0x1cc]
mov ebx, dword [ebp - 0x1d8]
mov word [ebp - 0x194], di
sub eax, ebx
add dword [ebp - 0x174], eax
sub dword [ebp - 0x170], eax
movzx eax, word [ebp - 0x1b2]
cmp word [ebp - 0x1b8], ax
jge 0x408eba
mov edi, dword [ebp - 0x1c0]
movzx eax, ax
sub eax, edi
sub dword [ebp - 0x178], eax
movzx eax, word [ebp - 0x1b4]
cmp word [ebp - 0x1a8], ax
jge 0x408ed5
movzx eax, ax
sub eax, edx
sub dword [ebp - 0x170], eax
mov eax, dword [ebp - 0x178]
test eax, eax
jle 0x408fbb
mov edi, dword [ebp - 0x170]
test edi, edi
jle 0x408fbb
mov eax, dword [ebp - 0x178]
movsx ebx, word [ebp - 0x194]
movsx edi, word [ebp - 0x184]
mov edx, dword [esi - 0x64]
shl eax, 2
mov dword [ebp - 0x1b8], ebx
mov dword [ebp - 0x1b0], eax
mov eax, dword [ebp - 0x174]
mov dword [ebp - 0x1a8], edi
cmp ebx, eax
jle 0x40b0a8
mov edi, dword [ebp - 0x170]
lea eax, [eax + edi - 1]
mov edi, dword [ebp - 0x1a4]
imul eax, edi
mov edi, dword [ebp - 0x1a0]
add eax, edi
mov edi, dword [ebp - 0x1a4]
lea eax, [edx + eax*4]
mov dword [ebp - 0x174], eax
mov eax, dword [ebp - 0x170]
lea eax, [eax + ebx - 1]
mov ebx, esi
imul eax, edi
mov edi, dword [ebp - 0x1a8]
add eax, edi
mov edi, dword [ebp - 0x170]
lea edx, [edx + eax*4]
mov esi, edx
mov eax, dword [ebp - 0x1b0]
mov dword [ebp - 0x170], ecx
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x174]
mov dword [esp], esi
mov dword [esp + 4], eax
call sym._memcpy
mov ecx, dword [ebx - 0x88]
lea eax, [ecx*4]
sub dword [ebp - 0x174], eax
mov ecx, dword [ebp - 0x170]
sub esi, eax
sub edi, 1
jne 0x408f77
mov esi, ebx
mov eax, dword [ebp - 0x19c]
cmp ecx, eax
jg 0x409148
movsx edi, word [ebp - 0x1bc]
movsx eax, word [ebp - 0x194]
mov dword [ebp - 0x178], edi
cmp ecx, eax
jge 0x409078
mov edx, dword [ebp - 0x19c]
add edx, 1
cmp edx, eax
cmovg edx, eax
add edi, 1
mov ebx, edi
mov edi, dword [ebp - 0x17c]
mov eax, dword [ebp - 0x198]
mov dword [ebp - 0x174], eax
mov eax, dword [ebp - 0x178]
cmp dword [ebp - 0x198], eax
jg 0x409063
mov eax, dword [ebp - 0x174]
mov dword [ebp - 0x170], ecx
mov dword [ebp - 0x174], ebx
mov dword [ebp - 0x1a0], edx
mov edx, dword [ebp - 0x170]
imul edx, dword [esi - 0x88]
mov ecx, dword [esi - 0x64]
mov ebx, dword [edi + 0x14]
add edx, eax
add eax, 1
mov dword [ecx + edx*4], ebx
mov edx, dword [ebp - 0x174]
cmp eax, edx
jne 0x409030
mov ebx, edx
mov ecx, dword [ebp - 0x170]
mov edx, dword [ebp - 0x1a0]
add ecx, 1
cmp ecx, edx
jl 0x408ffe
mov eax, dword [ebp - 0x19c]
cmp ecx, eax
jg 0x409148
movsx eax, word [ebp - 0x1b2]
mov edi, dword [ebp - 0x198]
add eax, 1
cmp eax, edi
cmovl eax, edi
mov edx, eax
movzx eax, word [ebp - 0x184]
mov dword [ebp - 0x1b0], edx
cmp di, ax
cmovge edi, edx
sub eax, 1
cwde
mov dword [ebp - 0x1a0], edi
movsx edi, word [ebp - 0x1b4]
mov dword [ebp - 0x1a8], eax
mov dword [ebp - 0x1a4], edi
mov edi, dword [ebp - 0x17c]
cmp dword [ebp - 0x1a4], ecx
jl 0x409f87
movzx edx, word [ebp - 0x184]
cmp word [ebp - 0x1c4], dx
jl 0x40a74d
mov ebx, dword [ebp - 0x178]
mov eax, dword [ebp - 0x1b0]
je 0x40a74d
cmp ebx, eax
jl 0x409139
add ebx, 1
mov dword [ebp - 0x170], ecx
mov dword [ebp - 0x174], ebx
lea esi, [esi]
mov edx, dword [ebp - 0x170]
imul edx, dword [esi - 0x88]
mov ebx, dword [esi - 0x64]
mov ecx, dword [edi + 0x14]
add edx, eax
add eax, 1
mov dword [ebx + edx*4], ecx
cmp dword [ebp - 0x174], eax
jne 0x409110
mov ecx, dword [ebp - 0x170]
add ecx, 1
cmp dword [ebp - 0x19c], ecx
jge 0x4090c5
movsx edi, word [ebp - 0x184]
movsx eax, word [ebp - 0x198]
mov edx, dword [ebp - 0x188]
cmp di, ax
cmovle eax, edi
movsx edi, word [ebp - 0x1b2]
mov dword [ebp - 0x148], eax
movsx eax, word [ebp - 0x1bc]
cmp di, ax
cmovge eax, edi
movsx edi, word [ebp - 0x1ce]
mov dword [ebp - 0x140], eax
movsx eax, word [ebp - 0x194]
cmp di, ax
cmovle eax, edi
movsx edi, word [ebp - 0x1b4]
mov dword [ebp - 0x144], eax
movsx eax, word [ebp - 0x1c2]
cmp di, ax
cmovge eax, edi
mov dword [ebp - 0x13c], eax
mov eax, dword [ebp - 0x190]
call sym._update_output
mov eax, dword [esi - 0x94]
call sym._tty_sync
mov eax, dword [0x4190d0]
mov edi, dword [0x41801c]
mov dword [ebp - 0x174], 0
mov dword [ebp - 0x170], eax
mov eax, dword [0x4190cc]
mov dword [ebp - 0x178], eax
jmp 0x408310
cmp dword [ebp - 0x174], 4
jne 0x40b410
cmp dword [ebp - 0x184], 0x18
jne 0x40b410
test byte [0x415058], 8
jne 0x40b3cd
mov eax, dword [esi - 0x94]
mov dword [eax + 0x10], 0
mov eax, dword [ebp - 0x17c]
mov ecx, dword [esi - 0x84]
mov eax, dword [eax + 4]
cmp eax, ecx
jae 0x40b3a2
mov edi, dword [esi - 0x88]
mov ebx, dword [ebp - 0x17c]
mov edx, dword [esi - 0x64]
imul ecx, edi
imul eax, edi
add eax, dword [ebx]
mov dword [ebp - 0x170], edx
mov edx, eax
cmp edx, ecx
lea eax, [ecx*4]
lea edi, [edx*4]
mov edx, dword [ebp - 0x170]
cmovae edi, eax
sub eax, edi
lea ecx, [edx + edi]
mov edx, dword [ebx + 0xc]
mov dword [ebp - 0x174], edi
sar eax, 2
cmp eax, edx
mov edi, edx
cmovbe edi, eax
mov eax, dword [ebx + 8]
cmp eax, 1
je 0x40b325
cmp eax, 2
je 0x40b2c2
test eax, eax
je 0x40b14a
mov eax, dword [0x4190d0]
mov edi, dword [0x41801c]
mov dword [ebp - 0x174], 4
mov dword [ebp - 0x16c], 0xc000000d
mov dword [ebp - 0x170], eax
mov eax, dword [0x4190cc]
mov dword [ebp - 0x178], eax
jmp 0x408310
mov eax, dword [ebp - 0x184]
or eax, dword [ebp - 0x174]
jne 0x40bb66
test byte [0x415058], 8
jne 0x40ac98
mov eax, dword [esi - 0x94]
mov edi, dword [ebp - 0x190]
mov dword [eax + 8], edi
mov edx, dword [esi - 0x88]
mov eax, dword [esi - 0x84]
mov dword [ebp - 0x148], 0
mov dword [ebp - 0x144], 0
sub edx, 1
mov dword [ebp - 0x140], edx
sub eax, 1
mov edx, dword [ebp - 0x188]
mov dword [ebp - 0x13c], eax
mov eax, edi
call sym._update_output
mov eax, dword [esi - 0x94]
call sym._tty_sync
mov dword [esp + 4], 0
mov eax, dword [esi - 0x94]
mov dword [esp], eax
call sym._update_window_config
mov eax, dword [0x4190d0]
mov dword [ebp - 0x174], 0
mov edi, dword [0x41801c]
mov dword [ebp - 0x170], eax
mov eax, dword [0x4190cc]
mov dword [ebp - 0x178], eax
jmp 0x408310
mov eax, dword [ebp - 0x174]
test eax, eax
jne 0x40ba35
cmp dword [ebp - 0x184], 0x67
jbe 0x40ba35
test byte [0x415058], 8
jne 0x40b006
mov edi, dword [ebp - 0x17c]
mov eax, dword [edi]
test al, 1
je 0x4093f4
movsx eax, word [edi + 4]
lea edx, [eax - 1]
cmp dx, 0x63
ja 0x40b660
mov dword [esi - 0x80], eax
xor eax, eax
cmp word [edi + 6], 0
setne al
mov dword [esi - 0x7c], eax
mov eax, dword [edi]
test al, 2
je 0x40946d
mov edi, dword [ebp - 0x17c]
movsx edx, word [edi + 8]
test dx, dx
js 0x40ba55
cmp edx, dword [esi - 0x88]
jae 0x40ba55
movsx ecx, word [edi + 0xa]
test cx, cx
js 0x40ba55
cmp ecx, dword [esi - 0x84]
jae 0x40ba55
cmp edx, dword [esi - 0x78]
je 0x40b039
mov edi, dword [ebp - 0x17c]
mov eax, dword [esi - 0x94]
mov dword [esi - 0x78], edx
movsx ecx, word [edi + 0xa]
mov dword [esi - 0x74], ecx
mov ebx, dword [eax + 0x10]
test ebx, ebx
jne 0x40bb5c
mov eax, dword [ebp - 0x190]
call sym._scroll_to_cursor
mov eax, dword [ebp - 0x17c]
mov eax, dword [eax]
mov edx, dword [esi - 0x94]
test al, 4
je 0x40954f
mov eax, dword [ebp - 0x17c]
mov dword [edx + 0x10], 0
movsx edx, word [eax + 0xc]
mov eax, dword [esi - 0x18]
sub eax, dword [esi - 0x20]
cmp eax, edx
jge 0x40bac7
mov eax, dword [ebp - 0x17c]
movsx ecx, word [eax + 0xe]
mov eax, dword [esi - 0x14]
sub eax, dword [esi - 0x1c]
cmp eax, ecx
jge 0x40bac7
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov eax, dword [ebp - 0x190]
mov dword [esp], eax
call sym._change_screen_buffer_size
test eax, eax
jne 0x40afd5
mov edi, dword [ebp - 0x17c]
mov eax, dword [esi - 0x18]
movsx edx, word [edi + 0xc]
cmp eax, edx
jl 0x4094ec
sub eax, dword [esi - 0x20]
xor ebx, ebx
mov dword [esi - 0x18], eax
mov dword [esi - 0x20], ebx
mov edi, dword [ebp - 0x17c]
mov eax, dword [esi - 0x14]
movsx edx, word [edi + 0xe]
cmp eax, edx
jl 0x409508
sub eax, dword [esi - 0x1c]
xor ecx, ecx
mov dword [esi - 0x14], eax
mov dword [esi - 0x1c], ecx
mov eax, dword [ebp - 0x17c]
movsx eax, word [eax + 0xc]
cmp dword [esi - 0x78], eax
jb 0x40951d
sub eax, 1
mov dword [esi - 0x78], eax
mov eax, dword [ebp - 0x17c]
movsx eax, word [eax + 0xe]
cmp dword [esi - 0x74], eax
jb 0x409532
sub eax, 1
mov dword [esi - 0x74], eax
mov edx, dword [esi - 0x94]
mov eax, dword [ebp - 0x190]
cmp eax, dword [edx + 8]
je 0x40bafa
mov eax, dword [ebp - 0x17c]
mov eax, dword [eax]
test al, 8
je 0x409563
mov edi, dword [ebp - 0x17c]
movzx eax, word [edi + 0x10]
mov word [esi - 0x70], ax
mov eax, dword [edi]
test al, 0x40
je 0x409577
mov edi, dword [ebp - 0x17c]
movzx eax, word [edi + 0x12]
mov word [esi - 0x6e], ax
mov eax, dword [edi]
test al, 0x10
je 0x409606
mov eax, dword [ebp - 0x17c]
mov dword [edx + 0x10], 0
movsx edx, word [eax + 0x14]
test dx, dx
js 0x40bcca
mov ebx, eax
movzx eax, word [eax + 0x18]
cmp dx, ax
jg 0x40bcca
movsx edi, ax
cmp edi, dword [esi - 0x88]
jae 0x40bcca
movsx eax, word [ebx + 0x16]
test ax, ax
js 0x40bcca
movsx ecx, word [ebx + 0x1a]
cmp ax, cx
jg 0x40bcca
cmp ecx, dword [esi - 0x84]
jae 0x40bcca
cmp dword [esi - 0x20], edx
je 0x40bca8
mov edi, dword [ebp - 0x17c]
mov dword [esi - 0x20], edx
movsx eax, word [edi + 0x16]
mov dword [esi - 0x1c], eax
movsx eax, word [edi + 0x18]
mov dword [esi - 0x18], eax
movsx eax, word [edi + 0x1a]
mov dword [esi - 0x14], eax
mov eax, dword [edi]
test al, 0x20
je 0x40962d
mov edi, dword [ebp - 0x17c]
mov eax, dword [esi - 0x94]
mov dword [eax + 0x10], 0
movsx eax, word [edi + 0x1c]
mov dword [esi - 0x6c], eax
movsx eax, word [edi + 0x1e]
mov dword [esi - 0x68], eax
mov eax, dword [edi]
test al, 0x80
je 0x40968e
mov edi, dword [ebp - 0x17c]
mov ecx, dword [ebp - 0x184]
movsx eax, word [edi + 0x22]
sub ecx, 0x68
je 0x40b09a
add edi, 0x68
test eax, eax
mov edx, 0xc
mov ebx, 0x190
cmove eax, edx
mov edx, dword [ebp - 0x17c]
cmp word [edx + 0x24], 0x257
mov edx, 0x2bc
mov dword [esp + 0xc], eax
cmovle edx, ebx
mov dword [esp + 8], ecx
mov dword [esp + 4], edi
mov dword [esp + 0x10], edx
mov eax, dword [esi - 0x94]
mov dword [esp], eax
call sym._update_console_font
mov eax, dword [esi - 0x94]
mov edi, dword [ebp - 0x190]
cmp edi, dword [eax + 8]
je 0x40b693
mov eax, dword [0x4190d0]
mov edi, dword [0x41801c]
mov dword [ebp - 0x174], 0
mov dword [ebp - 0x170], eax
mov eax, dword [0x4190cc]
mov dword [ebp - 0x178], eax
jmp 0x408310
mov eax, dword [ebp - 0x174]
sub eax, 4
and eax, 0xfffffffb
jne 0x40c0ad
cmp dword [ebp - 0x184], 0xf
jbe 0x40c0ad
mov eax, dword [esi - 0x94]
cmp dword [ebp - 0x174], 8
mov dword [eax + 0x10], 0
je 0x40ae48
mov eax, dword [ebp - 0x17c]
mov ebx, dword [ebp - 0x184]
cmp dword [eax + 8], 2
sete al
sub ebx, 0x10
xor edx, edx
movzx eax, al
lea edi, [eax + eax + 2]
mov eax, ebx
div edi
mov dword [ebp - 0x198], edi
mov dword [ebp - 0x194], eax
test byte [0x415058], 8
jne 0x40ae08
mov eax, dword [ebp - 0x17c]
mov edi, dword [esi - 0x88]
mov eax, dword [eax]
mov dword [ebp - 0x178], eax
cmp eax, edi
jae 0x40addd
mov dword [ebp - 0x184], 0
mov eax, dword [ebp - 0x17c]
lea ecx, [eax + 0x10]
mov eax, dword [ebp - 0x198]
cmp ebx, eax
jb 0x40b77b
mov eax, dword [ebp - 0x17c]
mov ebx, dword [eax + 0xc]
mov eax, dword [eax + 4]
mov dword [ebp - 0x19c], eax
test ebx, ebx
je 0x40a078
mov eax, dword [ebp - 0x184]
xor edx, edx
div ebx
mov ebx, dword [ebp - 0x178]
add edx, ebx
cmp edx, edi
jae 0x409f4b
mov ebx, dword [ebp - 0x19c]
add eax, ebx
cmp eax, dword [esi - 0x84]
jae 0x40b76e
imul eax, edi
mov edi, dword [ebp - 0x17c]
add eax, edx
mov edx, dword [esi - 0x64]
lea eax, [edx + eax*4]
mov edx, dword [edi + 8]
cmp edx, 1
je 0x40a50e
cmp edx, 2
je 0x409f47
test edx, edx
je 0x40a51a
mov eax, dword [0x4190d0]
mov edi, dword [0x41801c]
mov dword [ebp - 0x16c], 0xc000000d
mov dword [ebp - 0x170], eax
mov eax, dword [0x4190cc]
mov dword [ebp - 0x178], eax
jmp 0x408310
mov dword [esp + 0x14], 0
mov ebx, dword [sym.imp.kernel32.dll_MultiByteToWideChar]
mov dword [esp + 0x10], 0
mov eax, dword [ebp - 0x184]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x17c]
mov dword [esp + 4], 0
mov dword [esp + 8], eax
mov eax, dword [esi - 0x94]
mov eax, dword [eax + 0xa4]
mov dword [esp], eax
call ebx
sub esp, 0x18
mov ecx, eax
test eax, eax
jne 0x40a525
mov eax, dword [0x4190d0]
mov edi, dword [0x41801c]
mov dword [ebp - 0x170], eax
mov eax, dword [0x4190cc]
mov dword [ebp - 0x178], eax
jmp 0x408310
mov eax, dword [ebp - 0x184]
and eax, 1
or eax, dword [ebp - 0x174]
jne 0x40c019
mov ecx, dword [ebp - 0x184]
mov edx, dword [ebp - 0x17c]
mov eax, dword [ebp - 0x190]
shr ecx, 1
call sym._write_console
mov edi, dword [0x41801c]
mov dword [ebp - 0x174], 0
mov dword [ebp - 0x16c], eax
mov eax, dword [0x4190d0]
mov dword [ebp - 0x170], eax
mov eax, dword [0x4190cc]
mov dword [ebp - 0x178], eax
jmp 0x408310
test byte [0x415058], 2
je 0x407c85
mov dword [esp + 0xc], str.no_server_handle_n
mov dword [esp + 8], str.wmain
mov dword [esp + 4], 0x415058
mov dword [esp], 1
call sym._wine_dbg_log.constprop.1
jmp 0x407c85
xor edi, edi
jmp 0x407fc4
mov dword [esp], 0x415040
call dword [sym.imp.kernel32.dll_LeaveCriticalSection]
sub esp, 4
jmp 0x408029
lea eax, [ebp - 0x148]
mov edi, eax
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], edi
call sym._PeekMessageW_20
sub esp, 0x14
test eax, eax
je 0x408029
cmp dword [ebp - 0x144], 0x12
je 0x408094
mov dword [esp], edi
call sym._DispatchMessageW_4
sub esp, 4
jmp 0x40994b
cmp edx, 0x508040
je 0x409df3
cmp edx, 0x508048
jne case.0x40869b.5259305
mov eax, esi
and eax, 1
or eax, dword [ebp - 0x174]
jne 0x40c08d
mov eax, dword [ebp - 0x170]
mov edx, esi
call sym._set_console_title.constprop.0
mov edi, dword [0x41801c]
mov dword [ebp - 0x174], 0
mov dword [ebp - 0x16c], eax
mov eax, dword [0x4190d0]
mov dword [ebp - 0x170], eax
mov eax, dword [0x4190cc]
mov dword [ebp - 0x178], eax
jmp 0x408310
cmp edx, 0x500058
je 0x409eaa
cmp edx, 0x504000
jne case.0x40869b.5259305
test byte [0x415058], 8
jne 0x40a909
mov eax, dword [0x4190cc]
mov esi, dword [ebp - 0x184]
mov dword [ebp - 0x178], eax
test esi, esi
jne 0x40c039
cmp dword [ebp - 0x174], 4
jne 0x40c039
cmp dword [ebp - 0x178], 3
jbe 0x40a84f
mov ebx, dword [ebp - 0x170]
test ebx, ebx
je 0x40ba16
mov edi, dword [ebp - 0x170]
mov eax, dword [0x418004]
mov dword [ebp - 0x16c], 0
mov dword [ebp - 0x174], 4
mov dword [edi], eax
mov edi, dword [0x41801c]
jmp 0x408310
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], str.invalid_screen_buffer_id__x_n
mov dword [esp + 8], str.process_console_ioctls
mov dword [esp + 4], 0x415058
mov dword [esp], 1
call sym._wine_dbg_log.constprop.1
mov eax, dword [0x4190d0]
mov dword [ebp - 0x16c], 0xc0000008
mov edi, dword [0x41801c]
mov dword [ebp - 0x170], eax
mov eax, dword [0x4190cc]
mov dword [ebp - 0x178], eax
jmp 0x408310
mov dword [esp + 4], 0x1000
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_realloc]
test eax, eax
je 0x407c85
mov dword [0x4190d0], eax
mov dword [0x4190cc], 0x1000
jmp 0x407fe1
mov ecx, 4
mov edx, str.e_2J
mov eax, section..bss
call sym._tty_write
mov eax, dword [0x418008]
movzx edx, word [eax + 0x24]
mov eax, section..bss
call sym._set_tty_attr
mov eax, section..bss
mov ecx, 3
mov edx, 0x4163e0
call sym._tty_write
mov eax, dword [0x41800c]
mov dword [0x4190c8], 1
test eax, eax
jne 0x407f23
mov eax, dword [0x4180b0]
test eax, eax
je 0x407f23
mov eax, dword [0x4180ac]
test eax, eax
jne 0x407f23
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x418000
mov dword [esp + 8], sym._tty_input_4
mov dword [esp + 4], 0
mov dword [esp], 0
call dword [sym.imp.kernel32.dll_CreateThread]
mov dword [0x4180ac], eax
sub esp, 0x18
test eax, eax
je 0x407c85
jmp 0x407f23
test byte [0x415058], 8
jne 0x40a119
mov dword [esp], 0x415040
call dword [sym.imp.kernel32.dll_LeaveCriticalSection]
xor eax, eax
sub esp, 4
jmp 0x407c8a
movzx eax, word [ebp - 0x162]
mov dword [esp + 0xc], str.unimplemented_signal__x_n
mov dword [esp + 8], str.main_loop
mov dword [esp + 0x10], eax
mov dword [esp + 4], 0x415058
mov dword [esp], 0
call sym._wine_dbg_log.constprop.1
jmp 0x408247
mov dword [ebp - 0x18c], 2
mov edx, 1
jmp 0x40800f
mov dword [ebp - 0x18c], edx
jmp 0x408023
mov eax, esi
mov edx, 0xcccccccd
mov ecx, esi
mul edx
shr edx, 4
mov eax, edx
lea edx, [edx + edx*4]
shl edx, 2
sub ecx, edx
or ecx, dword [ebp - 0x174]
jne 0x40bfdd
mov dword [esp + 0xc], 1
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x170]
mov dword [esp], section..bss
mov dword [esp + 4], eax
call sym._write_console_input
mov edi, dword [0x41801c]
mov dword [ebp - 0x174], 0
mov dword [ebp - 0x16c], eax
mov eax, dword [0x4190d0]
mov dword [ebp - 0x170], eax
mov eax, dword [0x4190cc]
mov dword [ebp - 0x178], eax
jmp 0x408310
cmp dword [ebp - 0x184], 3
jbe 0x40c195
cmp dword [ebp - 0x174], 3
jbe 0x40b871
mov eax, ebx
or eax, esi
test al, 1
jne 0x40b7fd
mov eax, dword [0x4180b0]
test eax, eax
je 0x409cfa
mov eax, dword [0x4180ac]
test eax, eax
je 0x40a9b1
mov eax, dword [ebp - 0x170]
mov edx, dword [ebp - 0x174]
lea ecx, [eax + 4]
mov eax, dword [eax]
sub edx, 4
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x184]
sub eax, 4
shr eax, 1
mov dword [esp], eax
mov eax, 0x504060
call sym._read_console.constprop.0
mov edi, dword [0x41801c]
mov dword [ebp - 0x174], 0
mov dword [ebp - 0x16c], eax
mov eax, dword [0x4190d0]
mov dword [ebp - 0x170], eax
mov eax, dword [0x4190cc]
mov dword [ebp - 0x178], eax
jmp 0x408310
mov eax, dword [0x4190cc]
cmp dword [0x41800c], 1
mov edi, dword [0x41801c]
mov dword [ebp - 0x178], eax
sbb eax, eax
and eax, 0xc00000bb
mov dword [ebp - 0x16c], eax
jmp 0x408310
cmp edx, 0x504088
je 0x40a158
cmp edx, 0x508004
jne case.0x408b65.5275769
cmp dword [ebp - 0x184], 4
jne 0x40c0dc
mov ebx, dword [ebp - 0x174]
test ebx, ebx
jne 0x40c0dc
mov eax, dword [ebp - 0x170]
mov eax, dword [eax]
mov dword [esi - 0x8c], eax
test byte [0x415058], 8
jne 0x40ad8a
mov eax, dword [0x4190cc]
mov edi, dword [0x41801c]
mov dword [ebp - 0x174], 0
mov dword [ebp - 0x178], eax
jmp 0x408310
test byte [0x415058], 8
jne 0x40a6ad
cmp dword [ebp - 0x184], 0x10
jne 0x40bba6
mov eax, dword [ebp - 0x174]
test eax, eax
jne 0x40bba6
mov eax, dword [ebp - 0x170]
mov eax, dword [eax]
test al, 1
jne 0x40a67b
and eax, 2
mov dword [ebp - 0x174], eax
jne 0x40a61b
mov eax, dword [0x4190d0]
mov edi, dword [0x41801c]
mov dword [ebp - 0x16c], 0
mov dword [ebp - 0x170], eax
mov eax, dword [0x4190cc]
mov dword [ebp - 0x178], eax
jmp 0x408310
mov edi, esi
or edi, ebx
jne 0x40c04e
test byte [0x415058], 8
jne 0x40a892
mov dword [ebp - 0x174], 0
mov eax, dword [0x4190cc]
mov dword [0x41801c], 0
mov dword [ebp - 0x178], eax
mov dword [ebp - 0x16c], 0
jmp 0x408310
test byte [0x415058], 8
jne 0x40a719
mov eax, dword [0x4190cc]
cmp dword [ebp - 0x174], 4
mov dword [ebp - 0x178], eax
jne 0x40bebb
mov ebx, dword [ebp - 0x184]
test ebx, ebx
jne 0x40bebb
cmp dword [ebp - 0x178], 3
jbe 0x40a6d6
mov ecx, dword [ebp - 0x170]
test ecx, ecx
je 0x40be9c
mov eax, dword [0x4180a8]
mov ecx, dword [ebp - 0x170]
test eax, eax
je 0x40a769
mov dword [ebp - 0x16c], 0
mov edi, dword [ebp - 0x170]
mov dword [ebp - 0x174], 4
mov dword [edi], eax
mov edi, dword [0x41801c]
mov dword [ebp - 0x170], ecx
jmp 0x408310
mov dword [0x418014], 1
jmp 0x407f23
mov edx, dword [ecx]
mov dword [eax], edx
mov edi, dword [ebp - 0x198]
add dword [ebp - 0x184], 1
mov eax, dword [ebp - 0x184]
add ecx, edi
mov edi, dword [ebp - 0x194]
cmp eax, edi
jae 0x40beef
mov eax, dword [ebp - 0x17c]
mov edi, dword [esi - 0x88]
mov eax, dword [eax]
mov dword [ebp - 0x178], eax
jmp 0x409780
mov ebx, dword [ebp - 0x178]
mov eax, dword [ebp - 0x198]
jmp 0x4090f7
test byte [0x415058], 8
jne 0x40aa2a
mov eax, dword [0x4190cc]
cmp dword [ebp - 0x174], 4
mov dword [ebp - 0x178], eax
jne 0x40c1d4
mov eax, dword [ebp - 0x184]
test eax, eax
jne 0x40c1d4
cmp dword [ebp - 0x178], 3
jbe 0x40a9e7
mov edi, dword [ebp - 0x170]
test edi, edi
je 0x40c1b5
mov edi, dword [ebp - 0x170]
mov eax, dword [esi - 0x8c]
mov dword [ebp - 0x174], 4
mov dword [edi], eax
mov edi, dword [0x41801c]
jmp 0x408310
mov eax, dword [0x4190cc]
mov dword [ebp - 0x178], eax
mov eax, dword [ebp - 0x184]
or eax, dword [ebp - 0x174]
jne 0x40ba88
mov eax, dword [esi - 0x94]
mov edi, dword [ebp - 0x190]
cmp edi, dword [eax + 8]
je 0x40ae79
mov eax, esi
call sym._rb_remove.constprop.0
mov eax, dword [esi - 8]
mov edi, dword [sym.imp.ucrtbase.dll_free]
mov dword [esp], eax
call edi
mov eax, dword [esi - 0x64]
mov dword [esp], eax
call edi
mov eax, dword [ebp - 0x190]
mov dword [esp], eax
call edi
mov edi, dword [0x41801c]
mov dword [ebp - 0x174], 0
jmp 0x408310
mov edx, dword [ebp - 0x184]
mov ebx, eax
mov eax, dword [ebp - 0x178]
add eax, edx
xor edx, edx
div edi
add eax, ebx
jmp 0x4097bc
cmp dword [ebp - 0x184], 0x10
jne 0x40bc88
mov eax, dword [esi - 0x94]
mov dword [eax + 0x10], 0
mov eax, dword [ebp - 0x17c]
mov edi, dword [eax]
mov dword [ebp - 0x194], edi
mov edi, dword [eax + 4]
mov dword [ebp - 0x184], edi
mov edi, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov ebx, eax
test byte [0x415058], 8
jne 0x40ac42
mov eax, dword [0x4190cc]
mov dword [ebp - 0x178], eax
mov dword [ebp - 0x190], eax
cmp edi, 1
je 0x40ac0b
cmp edi, 2
je 0x40aaaa
test edi, edi
je 0x40accb
mov dword [ebp - 0x16c], 0xc000000d
mov edi, dword [0x41801c]
jmp 0x408310
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], str.failed_to_get_next_request:__lx_n
mov dword [esp + 8], str.process_console_ioctls
mov dword [esp + 4], 0x415058
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0
mov dword [esp], 0x415040
call dword [sym.imp.kernel32.dll_LeaveCriticalSection]
xor eax, eax
sub esp, 4
jmp 0x407c8a
mov eax, dword [0x4190cc]
cmp dword [ebp - 0x174], 0x63
mov dword [ebp - 0x178], eax
jbe 0x40bab2
mov eax, dword [ebp - 0x184]
test eax, eax
jne 0x40bab2
mov eax, dword [esi - 4]
mov edi, dword [ebp - 0x174]
lea eax, [eax + eax + 0x64]
cmp edi, eax
cmovbe eax, edi
mov dword [ebp - 0x174], eax
cmp dword [ebp - 0x178], eax
jb 0x40af15
mov eax, dword [ebp - 0x170]
test eax, eax
je 0x40ba9d
mov edi, dword [ebp - 0x170]
mov eax, dword [esi - 0x80]
mov word [edi], ax
mov eax, dword [esi - 0x7c]
mov word [edi + 2], ax
mov eax, dword [esi - 0x88]
mov edx, dword [esi - 0x78]
sub eax, 1
cmp eax, edx
cmova eax, edx
mov word [edi + 4], ax
mov eax, dword [esi - 0x74]
mov word [edi + 6], ax
mov eax, dword [esi - 0x88]
mov word [edi + 8], ax
mov eax, dword [esi - 0x84]
mov word [edi + 0xa], ax
movzx eax, word [esi - 0x70]
mov word [edi + 0xc], ax
movzx eax, word [esi - 0x6e]
mov word [edi + 0xe], ax
mov eax, dword [esi - 0x20]
mov word [edi + 0x10], ax
mov eax, dword [esi - 0x1c]
mov word [edi + 0x12], ax
mov eax, dword [esi - 0x18]
mov word [edi + 0x14], ax
mov eax, dword [esi - 0x14]
mov word [edi + 0x16], ax
mov eax, dword [esi - 0x6c]
mov word [edi + 0x18], ax
mov eax, dword [esi - 0x68]
mov word [edi + 0x1a], ax
movzx eax, word [esi - 0x10]
mov word [edi + 0x1c], ax
movzx eax, word [esi - 0xe]
mov word [edi + 0x1e], ax
movzx eax, word [esi - 0xc]
mov word [edi + 0x20], ax
movzx eax, word [esi - 0xa]
mov word [edi + 0x22], ax
mov ecx, dword [esi - 0x60]
mov dword [edi + 0x24], ecx
mov ecx, dword [esi - 0x5c]
mov dword [edi + 0x28], ecx
mov ecx, dword [esi - 0x58]
mov dword [edi + 0x2c], ecx
mov ecx, dword [esi - 0x54]
mov dword [edi + 0x30], ecx
mov ecx, dword [esi - 0x50]
mov dword [edi + 0x34], ecx
mov ecx, dword [esi - 0x4c]
mov dword [edi + 0x38], ecx
mov ecx, dword [esi - 0x48]
mov dword [edi + 0x3c], ecx
mov ecx, dword [esi - 0x44]
mov dword [edi + 0x40], ecx
mov ecx, dword [esi - 0x40]
mov dword [edi + 0x44], ecx
mov ecx, dword [esi - 0x3c]
mov dword [edi + 0x48], ecx
mov ecx, dword [esi - 0x38]
mov dword [edi + 0x4c], ecx
mov ecx, dword [esi - 0x34]
mov dword [edi + 0x50], ecx
mov ecx, dword [esi - 0x30]
mov dword [edi + 0x54], ecx
mov ecx, dword [esi - 0x2c]
cmp dword [ebp - 0x174], 0x64
mov dword [edi + 0x58], ecx
mov ecx, dword [esi - 0x28]
mov dword [edi + 0x5c], ecx
mov edx, dword [esi - 0x24]
mov dword [edi + 0x60], edx
ja 0x40aeef
mov edi, dword [0x41801c]
test byte [0x415058], 8
je 0x408310
mov eax, dword [ebp - 0x174]
mov ebx, dword [ebp - 0x170]
lea edx, [eax - 0x64]
lea eax, [ebx + 0x64]
shr edx, 1
call sym._wine_dbgstr_wn
movsx edx, word [ebx + 0x1e]
movsx ecx, word [ebx + 0x1c]
mov edi, eax
movsx eax, word [ebx + 0xe]
mov dword [ebp - 0x184], edx
movsx edx, word [ebx + 0xc]
mov dword [ebp - 0x170], eax
mov eax, dword [esi - 0x14]
mov dword [ebp - 0x17c], ecx
mov dword [ebp - 0x178], edx
mov dword [esp + 0x10], eax
mov eax, dword [esi - 0x18]
mov dword [esp + 0xc], eax
mov eax, dword [esi - 0x1c]
mov dword [esp + 8], eax
mov eax, dword [esi - 0x20]
mov dword [esp], str.__d__d____d__d_
mov dword [esp + 4], eax
call sym._wine_dbg_sprintf
mov dword [esp + 0x40], edi
mov edx, dword [ebp - 0x184]
mov dword [esp + 0x3c], edx
mov ecx, dword [ebp - 0x17c]
mov dword [esp + 0x38], ecx
mov edi, dword [ebp - 0x170]
mov dword [esp + 0x34], edi
mov edx, dword [ebp - 0x178]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], edx
movsx eax, word [ebx + 0xa]
mov dword [esp + 0x28], eax
movsx eax, word [ebx + 8]
mov dword [esp + 0x24], eax
movsx eax, word [ebx + 6]
mov dword [esp + 0x20], eax
movsx eax, word [ebx + 4]
mov dword [esp + 0x1c], eax
movsx eax, word [ebx + 2]
mov dword [esp + 0x18], eax
movsx eax, word [ebx]
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0x190]
mov dword [esp + 0xc], str._p_cursor_size_u_cursor_visible_x_cursor__u__u__width_u_height_u_win_s_attr_x_popup_attr_x_font_width_u_font_height_u__s_n
mov dword [esp + 0x10], eax
mov dword [esp + 8], str.get_output_info
mov dword [esp + 4], 0x415058
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0
mov eax, dword [0x4190d0]
mov edi, dword [0x41801c]
mov dword [ebp - 0x170], eax
mov eax, dword [0x4190cc]
mov dword [ebp - 0x178], eax
jmp 0x408310
mov eax, dword [0x4190d0]
mov edx, dword [0x4190cc]
mov dword [ebp - 0x174], 0
mov edi, dword [0x41801c]
cmp eax, 1
mov dword [ebp - 0x170], eax
sbb eax, eax
mov dword [ebp - 0x178], edx
and eax, 0xc0000017
mov dword [ebp - 0x16c], eax
jmp 0x408310
mov eax, dword [0x418088]
mov edx, 0xffffffff
call sym._wine_dbgstr_wn
mov dword [esp + 0xc], str.returning_title__s_n
mov dword [esp + 0x10], eax
mov dword [esp + 8], str.console_input_ioctl
mov dword [esp + 4], 0x415058
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0
jmp 0x4086ea
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], str.set__x_mode_n
mov dword [esp + 8], str.console_input_ioctl
mov dword [esp + 4], 0x415058
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0
mov eax, dword [0x4190d0]
mov dword [ebp - 0x174], 0
mov dword [ebp - 0x16c], 0
mov edi, dword [0x41801c]
mov dword [ebp - 0x170], eax
mov eax, dword [0x4190cc]
mov dword [ebp - 0x178], eax
jmp 0x408310
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], str.unsupported_ioctl__x_n
mov dword [esp + 8], str.console_input_ioctl
mov dword [esp + 4], 0x415058
mov dword [esp], 2
call sym._wine_dbg_log.constprop.1
mov eax, dword [0x4190d0]
mov dword [ebp - 0x16c], 0xc0000008
mov edi, dword [0x41801c]
mov dword [ebp - 0x170], eax
mov eax, dword [0x4190cc]
mov dword [ebp - 0x178], eax
jmp 0x408310
movzx edx, word [ecx]
mov word [eax + 2], dx
jmp 0x409f4b
movzx edx, word [ecx]
mov word [eax], dx
jmp 0x409f4b
lea eax, [eax + eax]
mov dword [ebp - 0x16c], ecx
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_malloc]
mov ecx, dword [ebp - 0x16c]
test eax, eax
mov edi, eax
je 0x40bf80
mov dword [esp + 0x14], ecx
mov dword [ebp - 0x16c], ecx
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x184]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x17c]
mov dword [esp + 4], 0
mov dword [esp + 8], eax
mov eax, dword [esi - 0x94]
mov eax, dword [eax + 0xa4]
mov dword [esp], eax
call ebx
mov ecx, dword [ebp - 0x16c]
mov eax, dword [ebp - 0x190]
mov edx, edi
sub esp, 0x18
call sym._write_console
mov dword [ebp - 0x16c], eax
mov dword [esp], edi
call dword [sym.imp.ucrtbase.dll_free]
mov eax, dword [0x4190d0]
mov edi, dword [0x41801c]
mov dword [ebp - 0x170], eax
mov eax, dword [0x4190cc]
mov dword [ebp - 0x178], eax
jmp 0x408310
mov ecx, 1
mov edx, 0x4160e4
mov eax, section..bss
call sym._tty_write
mov eax, section..bss
call sym._tty_sync
mov eax, dword [0x4190d0]
mov dword [ebp - 0x174], 0
mov dword [ebp - 0x16c], 0
mov edi, dword [0x41801c]
mov dword [ebp - 0x170], eax
mov eax, dword [0x4190cc]
mov dword [ebp - 0x178], eax
jmp 0x408310
mov eax, dword [ebp - 0x170]
mov eax, dword [eax + 8]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_IsValidCodePage]
sub esp, 4
test eax, eax
je 0x40be69
mov eax, dword [ebp - 0x170]
mov edi, dword [0x41801c]
mov dword [ebp - 0x174], 0
mov dword [ebp - 0x16c], 0
mov eax, dword [eax + 8]
mov dword [0x4180a4], eax
mov eax, dword [0x4190d0]
mov dword [ebp - 0x170], eax
mov eax, dword [0x4190cc]
mov dword [ebp - 0x178], eax
jmp 0x408310
mov eax, dword [ebp - 0x170]
mov eax, dword [eax + 4]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_IsValidCodePage]
sub esp, 4
test eax, eax
je 0x40bbd1
mov edi, dword [ebp - 0x170]
mov eax, dword [edi + 4]
mov dword [0x4180a0], eax
mov eax, dword [edi]
jmp 0x409e2b
mov dword [esp + 0xc], str.set_info_n
mov dword [esp + 8], str.console_input_ioctl
mov dword [esp + 4], 0x415058
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0
jmp 0x409e00
mov dword [esp + 4], 4
mov eax, dword [ebp - 0x170]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_realloc]
test eax, eax
je 0x40bed0
mov dword [0x4190d0], eax
mov dword [0x4190cc], 4
mov dword [ebp - 0x170], eax
mov dword [ebp - 0x178], 4
jmp 0x409ef8
mov dword [esp + 0xc], str.get_window_n
mov dword [esp + 8], str.console_input_ioctl
mov dword [esp + 4], 0x415058
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0
mov eax, dword [0x4190d0]
mov dword [ebp - 0x170], eax
jmp 0x409eb7
mov eax, dword [ebp - 0x1a8]
mov ebx, dword [ebp - 0x178]
cmp eax, ebx
cmovle ebx, eax
mov eax, dword [ebp - 0x1a0]
jmp 0x4090f7
mov edx, dword [0x418014]
test edx, edx
jne 0x409f0b
mov dword [esp], section..bss
call sym._init_message_window
mov edi, dword [0x4190cc]
mov eax, dword [0x4180a8]
mov ecx, dword [0x4190d0]
mov dword [ebp - 0x178], edi
jmp 0x409f0b
mov dword [esp + 0xc], str.peek_n
mov dword [esp + 8], str.console_input_ioctl
mov dword [esp + 4], 0x415058
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0
jmp 0x40888b
mov dword [esp + 4], edi
mov eax, dword [ebp - 0x170]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_realloc]
test eax, eax
je 0x40b621
mov edi, dword [ebp - 0x174]
mov dword [0x4190d0], eax
mov dword [ebp - 0x170], eax
mov dword [0x4190cc], edi
mov dword [ebp - 0x178], edi
mov eax, dword [ebp - 0x174]
mov dword [esp + 8], eax
mov eax, dword [0x418088]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x170]
mov dword [esp], eax
call sym._memcpy
mov edi, dword [0x41801c]
mov dword [ebp - 0x16c], 0
jmp 0x408310
movzx edi, word [ebp - 0x1a8]
mov dword [ebp - 0x19c], edx
mov word [ebp - 0x1c2], di
jmp 0x408e0d
mov dword [esp + 4], 4
mov eax, dword [ebp - 0x170]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_realloc]
test eax, eax
je 0x40c06e
mov dword [0x4190d0], eax
mov dword [0x4190cc], 4
mov dword [ebp - 0x170], eax
mov dword [ebp - 0x178], 4
jmp 0x409a65
mov dword [esp + 0xc], str.flush_n
mov dword [esp + 8], str.console_input_ioctl
mov dword [esp + 4], 0x415058
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0
mov eax, dword [0x4190d0]
mov dword [ebp - 0x170], eax
jmp 0x409e7c
mov dword [esp + 4], 0xc
mov eax, dword [ebp - 0x170]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_realloc]
test eax, eax
je 0x40bc28
mov dword [0x4190d0], eax
mov dword [0x4190cc], 0xc
mov dword [ebp - 0x170], eax
mov dword [ebp - 0x178], 0xc
jmp 0x4087ca
mov eax, dword [0x418004]
mov dword [esp + 0xc], str.returning_mode__x_n
mov dword [esp + 8], str.console_input_ioctl
mov dword [esp + 0x10], eax
mov dword [esp + 4], 0x415058
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0
mov eax, dword [0x4190d0]
mov dword [ebp - 0x170], eax
jmp 0x409a24
mov dword [esp + 4], eax
mov dword [esp], esi
call dword [sym.imp.ucrtbase.dll_realloc]
test eax, eax
je 0x40b64b
mov edi, dword [ebp - 0x174]
mov dword [0x4190d0], eax
mov dword [ebp - 0x170], eax
mov dword [0x4190cc], edi
mov dword [ebp - 0x178], edi
jmp 0x408913
mov dword [esp + 0xc], str.get_info_n
mov dword [esp + 8], str.console_input_ioctl
mov dword [esp + 4], 0x415058
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0
mov eax, dword [0x4190d0]
mov dword [ebp - 0x170], eax
jmp 0x408789
xor esi, esi
xor edi, edi
mov dword [esp + 0xc], 0x418000
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], esi
mov dword [esp + 8], sym._tty_input_4
mov dword [esp + 4], edi
mov dword [esp], edi
call dword [sym.imp.kernel32.dll_CreateThread]
mov dword [0x4180ac], eax
sub esp, 0x18
jmp 0x409cfa
mov dword [esp + 4], 4
mov eax, dword [ebp - 0x170]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_realloc]
test eax, eax
je 0x40c1e9
mov dword [0x4190d0], eax
mov dword [0x4190cc], 4
mov dword [ebp - 0x170], eax
mov dword [ebp - 0x178], 4
jmp 0x409fe6
mov eax, dword [esi - 0x8c]
mov dword [esp + 0xc], str.returning_mode__x_n
mov dword [esp + 8], str.screen_buffer_ioctl
mov dword [esp + 0x10], eax
mov dword [esp + 4], 0x415058
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0
mov eax, dword [0x4190d0]
mov dword [ebp - 0x170], eax
jmp 0x409fa5
test byte [0x415058], 1
je 0x407c85
mov eax, dword [edi]
or edx, 0xffffffff
xor edi, edi
call sym._wine_dbgstr_wn
mov dword [esp + 0xc], str.unknown_option__s_n
mov dword [esp + 0x10], eax
mov dword [esp + 8], str.wmain
mov dword [esp + 4], 0x415058
mov dword [esp], edi
call sym._wine_dbg_log.constprop.1
jmp 0x407c85
cmp dword [ebp - 0x174], 7
jbe 0x40c180
test ebx, ebx
je 0x40c180
mov eax, dword [esi - 0x88]
mov dword [ebp - 0x198], eax
cmp dword [ebp - 0x194], eax
jae 0x40c16b
mov ecx, dword [esi - 0x84]
cmp dword [ebp - 0x184], ecx
jae 0x40c141
mov eax, dword [ebp - 0x174]
lea edi, [ebx*4]
xor edx, edx
sub eax, 8
div edi
mov edi, dword [ebp - 0x184]
mov edx, dword [ebp - 0x194]
sub ecx, edi
mov edi, ecx
cmp eax, ecx
cmovbe edi, eax
mov eax, dword [ebp - 0x198]
sub eax, edx
cmp eax, ebx
cmovbe ebx, eax
mov eax, edi
imul eax, ebx
mov ecx, ebx
lea eax, [eax*4 + 8]
mov dword [ebp - 0x174], eax
cmp dword [ebp - 0x178], eax
jb 0x40c0fc
mov edx, dword [ebp - 0x17c]
mov eax, edx
test edx, edx
je 0x40bd12
movzx ebx, word [ebp - 0x194]
movzx edx, word [ebp - 0x194]
mov word [eax], bx
mov ebx, dword [ebp - 0x184]
lea edx, [edx + ecx - 1]
mov word [eax + 4], dx
mov edx, ebx
mov word [eax + 2], bx
lea edx, [edx + edi - 1]
mov word [eax + 6], dx
mov edx, dword [ebp - 0x17c]
mov dword [ebp - 0x170], edx
mov edx, dword [ebp - 0x190]
mov dword [ebp - 0x178], edx
test edi, edi
je 0x40bcfd
lea edx, [ecx*4]
lea ecx, [eax + 8]
mov eax, dword [ebp - 0x184]
mov ebx, ecx
add edi, eax
mov eax, edi
mov edi, edx
mov edx, eax
mov eax, dword [ebp - 0x184]
mov ecx, dword [esi - 0x64]
mov dword [ebp - 0x17c], edx
imul eax, dword [esi - 0x88]
mov edx, dword [ebp - 0x194]
mov dword [esp], ebx
add ebx, edi
mov dword [esp + 8], edi
add eax, edx
lea eax, [ecx + eax*4]
mov dword [esp + 4], eax
call sym._memcpy
add dword [ebp - 0x184], 1
mov edx, dword [ebp - 0x17c]
mov eax, dword [ebp - 0x184]
cmp edx, eax
jne 0x40abb6
mov edi, dword [0x41801c]
jmp 0x408310
mov eax, dword [esi - 0x88]
cmp dword [ebp - 0x194], eax
jae 0x40bdc5
mov edx, dword [esi - 0x84]
cmp dword [ebp - 0x184], edx
jb 0x40bd27
xor edx, edx
mov edi, dword [0x41801c]
mov dword [ebp - 0x174], edx
jmp 0x408310
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], edi
mov eax, dword [ebp - 0x184]
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0x194]
mov dword [esp + 0xc], str.__u__u__mode__u_width__u_n
mov dword [esp + 0x10], eax
mov dword [esp + 8], str.read_output
mov dword [esp + 4], 0x415058
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0
mov eax, dword [0x4190d0]
mov dword [ebp - 0x17c], eax
mov dword [ebp - 0x170], eax
jmp 0x40a0d9
mov eax, dword [ebp - 0x190]
mov dword [esp + 0xc], 0x4164c0
mov dword [esp + 8], str.screen_buffer_activate
mov dword [esp + 0x10], eax
mov dword [esp + 4], 0x415058
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0
jmp 0x409303
mov eax, dword [esi - 0x88]
cmp dword [ebp - 0x194], eax
jae 0x40b52e
mov edx, dword [esi - 0x84]
cmp dword [ebp - 0x184], edx
jb 0x40b49a
xor esi, esi
mov edi, dword [0x41801c]
mov dword [ebp - 0x174], esi
jmp 0x408310
mov dword [esp + 0x24], eax
mov eax, dword [ebp - 0x178]
mov dword [esp + 0x20], eax
movsx eax, word [edi + 0xa]
mov dword [esp + 0x1c], eax
movsx eax, word [edi + 8]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], eax
mov eax, dword [ebp - 0x1a0]
mov dword [esp + 0xc], str.__d__d_______u__u__w__u_h__u_n
mov dword [esp + 0x10], eax
mov dword [esp + 8], str.scroll_output
mov dword [esp + 4], 0x415058
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0
jmp 0x408c13
test al, 8
je 0x408094
mov dword [esp + 0xc], str.signaled_quit_n
mov dword [esp + 8], str.main_loop
mov dword [esp + 4], 0x415058
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0
xor eax, eax
jmp 0x407c8a
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], str.set__x_mode_n
mov dword [esp + 8], str.screen_buffer_ioctl
mov dword [esp + 4], 0x415058
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0
mov eax, dword [0x4190d0]
mov dword [ebp - 0x174], 0
mov edi, dword [0x41801c]
mov dword [ebp - 0x170], eax
mov eax, dword [0x4190cc]
mov dword [ebp - 0x178], eax
jmp 0x408310
mov eax, dword [0x4190d0]
mov edi, dword [0x41801c]
mov dword [ebp - 0x174], 0
mov dword [ebp - 0x170], eax
mov eax, dword [0x4190cc]
mov dword [ebp - 0x178], eax
jmp 0x408310
mov dword [esp + 0x18], eax
mov edi, dword [ebp - 0x17c]
mov eax, dword [edi + 4]
mov dword [esp + 0x14], eax
mov eax, dword [edi]
mov dword [esp + 0xc], str.__u__u__cnt__u_n
mov dword [esp + 0x10], eax
mov dword [esp + 8], str.write_output
mov dword [esp + 4], 0x415058
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0
jmp 0x409743
mov eax, dword [ebp - 0x17c]
mov edx, dword [eax + 0xc]
test edx, edx
jne 0x409707
mov eax, dword [0x4190cc]
mov edi, dword [0x41801c]
mov dword [ebp - 0x16c], 0xc000000d
mov dword [ebp - 0x178], eax
jmp 0x408310
xor edx, edx
mov dword [eax + 8], edx
jmp 0x40a03b
xor eax, eax
xor edi, edi
mov dword [esp + 0xc], 0x418000
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], edi
mov dword [esp + 8], sym._tty_input_4
mov dword [esp + 4], eax
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_CreateThread]
mov dword [0x4180ac], eax
sub esp, 0x18
jmp 0x408825
xor eax, eax
xor edx, edx
mov dword [esp + 0xc], 0x418000
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], eax
mov dword [esp + 8], sym._tty_input_4
mov dword [esp + 4], edx
mov dword [esp], edx
call dword [sym.imp.kernel32.dll_CreateThread]
mov dword [0x4180ac], eax
sub esp, 0x18
jmp 0x408961
mov eax, edi
mov edi, dword [ebp - 0x174]
mov edx, dword [esi - 8]
add eax, 0x64
lea ecx, [edi - 0x64]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp], eax
call sym._memcpy
jmp 0x40a2ba
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x170]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_realloc]
test eax, eax
je 0x40b6f5
mov edi, dword [ebp - 0x174]
mov dword [0x4190d0], eax
mov dword [ebp - 0x170], eax
mov dword [0x4190cc], edi
mov dword [ebp - 0x178], edi
jmp 0x40a1b0
test byte [0x415058], 8
jne 0x40b848
mov eax, dword [ebp - 0x174]
mov edi, dword [0x41801c]
mov dword [0x418034], 0x504030
mov dword [ebp - 0x16c], 0x103
mov dword [0x418038], eax
mov eax, dword [0x4190d0]
mov dword [ebp - 0x170], eax
mov eax, dword [0x4190cc]
mov dword [ebp - 0x178], eax
jmp 0x408310
xor eax, eax
mov dword [esp + 0xc], 0x418000
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], eax
xor eax, eax
mov dword [esp + 8], sym._tty_input_4
mov dword [esp + 4], eax
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_CreateThread]
mov dword [0x4180ac], eax
sub esp, 0x18
jmp 0x4088b0
mov edx, dword [0x4190d0]
xor esi, esi
mov dword [ebp - 0x16c], eax
mov dword [ebp - 0x174], esi
mov edi, dword [0x41801c]
mov dword [ebp - 0x170], edx
mov edx, dword [0x4190cc]
mov dword [ebp - 0x178], edx
jmp 0x408310
mov eax, dword [ebp - 0x190]
mov dword [esp + 0xc], 0x4164c0
mov dword [esp + 8], str.set_output_info
mov dword [esp + 0x10], eax
mov dword [esp + 4], 0x415058
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0
jmp 0x4093c5
cmp ecx, dword [esi - 0x74]
jne 0x409439
jmp 0x40946d
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], str.invalid_ioctl__x_n
mov dword [esp + 8], str.screen_buffer_ioctl
mov dword [esp + 4], 0x415058
mov dword [esp], 2
call sym._wine_dbg_log.constprop.1
mov eax, dword [0x4190d0]
mov dword [ebp - 0x16c], 0xc0000008
mov edi, dword [0x41801c]
mov dword [ebp - 0x170], eax
mov eax, dword [0x4190cc]
mov dword [ebp - 0x178], eax
jmp 0x408310
mov edx, dword [esi - 4]
mov edi, dword [esi - 8]
lea ecx, [edx + edx]
jmp 0x40964d
mov edi, dword [ebp - 0x1a4]
mov eax, dword [ebp - 0x174]
mov ebx, dword [ebp - 0x1a0]
imul eax, edi
add eax, ebx
xor ebx, ebx
lea eax, [edx + eax*4]
mov dword [ebp - 0x174], ebx
mov ebx, ecx
mov dword [ebp - 0x178], eax
mov eax, dword [ebp - 0x1b8]
imul eax, edi
mov edi, dword [ebp - 0x1a8]
add eax, edi
mov edi, esi
lea edx, [edx + eax*4]
mov eax, edx
mov edx, dword [ebp - 0x170]
mov esi, eax
mov eax, dword [ebp - 0x1b0]
mov dword [ebp - 0x170], edx
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x178]
mov dword [esp], esi
mov dword [esp + 4], eax
call dword [sym.imp.ucrtbase.dll_memmove]
mov ecx, dword [edi - 0x88]
add dword [ebp - 0x174], 1
mov edx, dword [ebp - 0x170]
lea eax, [ecx*4]
add dword [ebp - 0x178], eax
add esi, eax
mov eax, dword [ebp - 0x174]
cmp edx, eax
jg 0x40b0f2
mov esi, edi
mov ecx, ebx
jmp 0x408fbb
test edi, edi
je 0x40b241
lea eax, [edi - 1]
lea edx, [edi*4]
cmp eax, 5
jbe 0x40b1a6
mov eax, dword [ebp - 0x17c]
lea edx, [edi*4]
lea ebx, [eax + 0x14]
mov dword [ebp - 0x178], ebx
mov ebx, dword [ebp - 0x174]
lea eax, [ebx + edx - 2]
mov ebx, dword [ebp - 0x170]
add ebx, eax
cmp dword [ebp - 0x178], ebx
jae 0x40b70a
mov eax, dword [ebp - 0x17c]
add eax, 0x16
cmp ecx, eax
jae 0x40b70a
mov ebx, dword [ebp - 0x17c]
mov eax, ecx
add edx, ecx
movzx ecx, word [ebx + 0x14]
add eax, 4
mov word [eax - 4], cx
cmp eax, edx
jne 0x40b1b0
mov eax, dword [esi - 0x94]
mov edx, dword [ebp - 0x190]
cmp edx, dword [eax + 8]
jne 0x40b241
mov eax, dword [ebp - 0x17c]
xor edx, edx
mov ebx, dword [eax]
mov ecx, dword [eax + 4]
lea eax, [edi + ebx - 1]
div dword [esi - 0x88]
mov dword [ebp - 0x174], edx
xor edx, edx
mov dword [ebp - 0x170], eax
mov eax, ebx
div dword [esi - 0x88]
add eax, ecx
mov dword [ebp - 0x148], edx
mov edx, dword [ebp - 0x174]
mov dword [ebp - 0x144], eax
mov eax, dword [ebp - 0x170]
mov dword [ebp - 0x140], edx
mov edx, dword [ebp - 0x188]
add eax, ecx
mov dword [ebp - 0x13c], eax
mov eax, dword [ebp - 0x190]
call sym._update_output
mov eax, dword [esi - 0x94]
call sym._tty_sync
mov eax, dword [0x4190cc]
mov edx, dword [0x4190d0]
mov dword [ebp - 0x178], eax
mov dword [ebp - 0x170], edx
cmp eax, 3
jbe 0x40b288
mov eax, dword [ebp - 0x170]
test eax, eax
je 0x40b74f
mov dword [ebp - 0x174], 4
mov eax, dword [ebp - 0x170]
mov dword [eax], edi
mov edi, dword [0x41801c]
jmp 0x408310
mov dword [esp + 4], 4
mov dword [esp], edx
call dword [sym.imp.ucrtbase.dll_realloc]
test eax, eax
je 0x40b5ce
mov dword [0x4190d0], eax
mov dword [0x4190cc], 4
mov dword [ebp - 0x170], eax
mov dword [ebp - 0x178], 4
jmp 0x40b26b
test edi, edi
je 0x40b241
mov edx, dword [ebp - 0x17c]
lea eax, [ecx + edi*4]
movzx ebx, word [edx + 0x14]
add ecx, 4
mov word [ecx - 4], bx
movzx ebx, word [edx + 0x16]
mov word [ecx - 2], bx
cmp eax, ecx
jne 0x40b2d3
jmp 0x40b1bf
xor eax, eax
mov dword [esp + 0xc], 0x418000
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], eax
xor eax, eax
mov dword [esp + 8], sym._tty_input_4
mov dword [esp + 4], eax
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_CreateThread]
mov dword [0x4180ac], eax
sub esp, 0x18
jmp 0x4089df
test edi, edi
je 0x40b241
lea eax, [edi - 1]
lea edx, [edi*4]
cmp eax, 5
jbe 0x40b383
mov ebx, dword [ebp - 0x170]
mov eax, dword [ebp - 0x174]
lea edx, [ebx + eax + 2]
mov dword [ebp - 0x170], edx
lea edx, [edi*4]
add eax, edx
add eax, ebx
mov ebx, dword [ebp - 0x17c]
add ebx, 0x16
cmp ebx, eax
jae 0x40b430
mov eax, dword [ebp - 0x17c]
add eax, 0x18
cmp dword [ebp - 0x170], eax
jae 0x40b430
lea eax, [ecx + 2]
mov ebx, dword [ebp - 0x17c]
add edx, eax
movzx ecx, word [ebx + 0x16]
add eax, 4
mov word [eax - 4], cx
cmp edx, eax
jne 0x40b38e
jmp 0x40b1bf
mov eax, dword [0x4190d0]
mov edi, dword [0x41801c]
mov dword [ebp - 0x174], 4
mov dword [ebp - 0x170], eax
mov eax, dword [0x4190cc]
mov dword [ebp - 0x178], eax
jmp 0x408310
mov edi, dword [ebp - 0x17c]
mov eax, dword [edi + 8]
mov dword [esp + 0x18], eax
mov eax, dword [edi + 4]
mov dword [esp + 0x14], eax
mov eax, dword [edi]
mov dword [esp + 0xc], str.__u__u__mode__u_n
mov dword [esp + 0x10], eax
mov dword [esp + 8], str.fill_output
mov dword [esp + 4], 0x415058
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0
jmp 0x40921e
mov eax, dword [0x4190cc]
mov edi, dword [0x41801c]
mov dword [ebp - 0x16c], 0xc000000d
mov dword [ebp - 0x178], eax
jmp 0x408310
mov eax, dword [ebp - 0x17c]
mov edx, edi
shr edx, 1
movzx ebx, word [eax + 0x16]
mov eax, dword [ebp - 0x170]
lea edx, [eax + edx*8]
mov word [eax], bx
add eax, 8
mov word [eax - 4], bx
cmp edx, eax
jne 0x40b447
mov eax, edi
and eax, 0xfffffffe
test edi, 1
je 0x40b1bf
mov edx, dword [ebp - 0x17c]
movzx edx, word [edx + 0x16]
mov word [ecx + eax*4 + 2], dx
jmp 0x40b1bf
mov eax, dword [0x4190cc]
mov edi, dword [0x41801c]
mov dword [ebp - 0x16c], 0xc000000d
mov dword [ebp - 0x178], eax
jmp 0x408310
mov ecx, dword [ebp - 0x184]
mov edi, dword [esi - 0x64]
mov esi, dword [ebp - 0x194]
imul ecx, eax
imul eax, edx
add ecx, esi
mov esi, dword [ebp - 0x174]
shl eax, 2
lea ebx, [ecx*4]
sub eax, ebx
shr esi, 1
sar eax, 2
cmp eax, esi
cmovbe esi, eax
lea eax, [esi + esi]
mov dword [ebp - 0x174], eax
cmp dword [ebp - 0x178], eax
jb 0x40b569
mov edx, dword [ebp - 0x17c]
mov eax, edx
test edx, edx
je 0x40b554
mov edx, dword [ebp - 0x17c]
mov dword [ebp - 0x170], edx
mov edx, dword [ebp - 0x190]
mov dword [ebp - 0x178], edx
test esi, esi
je 0x40b541
add ecx, esi
lea edx, [edi + ebx]
lea ecx, [edi + ecx*4]
movzx ebx, word [edx]
add edx, 4
add eax, 2
mov word [eax - 2], bx
cmp ecx, edx
jne 0x40b512
mov edi, dword [0x41801c]
jmp 0x408310
xor eax, eax
mov edi, dword [0x41801c]
mov dword [ebp - 0x174], eax
jmp 0x408310
xor ebx, ebx
mov edi, dword [0x41801c]
mov dword [ebp - 0x174], ebx
jmp 0x408310
mov dword [ebp - 0x16c], 0xc0000017
mov edi, dword [0x41801c]
jmp 0x408310
mov dword [ebp - 0x184], ecx
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x17c]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_realloc]
mov ecx, dword [ebp - 0x184]
test eax, eax
je 0x40b5ed
mov edx, dword [ebp - 0x174]
mov dword [0x4190d0], eax
mov dword [ebp - 0x17c], eax
mov dword [0x4190cc], edx
mov dword [ebp - 0x190], edx
jmp 0x40b4ee
mov eax, dword [0x4190cc]
mov edi, dword [0x41801c]
mov dword [ebp - 0x16c], 0xc000000d
mov dword [ebp - 0x178], eax
jmp 0x408310
mov dword [ebp - 0x174], 4
mov edi, dword [0x41801c]
mov dword [ebp - 0x16c], 0xc0000017
jmp 0x408310
mov dword [ebp - 0x16c], 0xc0000017
mov edi, dword [0x41801c]
jmp 0x408310
mov dword [ebp - 0x174], 0xc
mov edi, dword [0x41801c]
mov dword [ebp - 0x16c], 0xc0000017
jmp 0x408310
mov dword [ebp - 0x16c], 0xc0000017
mov edi, dword [0x41801c]
jmp 0x408310
mov dword [ebp - 0x16c], 0xc000000d
mov edi, dword [0x41801c]
jmp 0x408310
mov dword [ebp - 0x16c], 0xc0000017
mov edi, dword [0x41801c]
jmp 0x408310
mov eax, dword [0x4190d0]
mov edi, dword [0x41801c]
mov dword [ebp - 0x16c], 0xc000000d
mov dword [ebp - 0x170], eax
mov eax, dword [0x4190cc]
mov dword [ebp - 0x178], eax
xor eax, eax
mov dword [ebp - 0x174], eax
jmp 0x408310
call sym._tty_sync
xor eax, eax
mov dword [esp + 4], eax
mov eax, dword [esi - 0x94]
mov dword [esp], eax
call sym._update_window_config
mov eax, dword [0x4190d0]
mov edi, dword [0x41801c]
mov dword [ebp - 0x170], eax
mov eax, dword [0x4190cc]
mov dword [ebp - 0x178], eax
xor eax, eax
mov dword [ebp - 0x174], eax
jmp 0x408310
mov eax, dword [0x4190cc]
mov edi, dword [0x41801c]
mov dword [ebp - 0x16c], 0xc000000d
mov dword [ebp - 0x178], eax
jmp 0x408310
mov dword [ebp - 0x16c], 0xc0000017
mov edi, dword [0x41801c]
jmp 0x408310
mov eax, dword [ebp - 0x17c]
mov edx, edi
shr edx, 1
movzx ebx, word [eax + 0x14]
lea edx, [ecx + edx*8]
mov eax, ecx
mov word [eax], bx
add eax, 8
mov word [eax - 4], bx
cmp edx, eax
jne 0x40b71d
mov eax, edi
and eax, 0xfffffffe
test edi, 1
je 0x40b1bf
mov edx, dword [ebp - 0x17c]
movzx edx, word [edx + 0x14]
mov word [ecx + eax*4], dx
jmp 0x40b1bf
mov dword [ebp - 0x174], 4
mov edi, dword [0x41801c]
mov dword [ebp - 0x16c], 0xc0000017
jmp 0x408310
cmp dword [ebp - 0x184], 0
jne 0x40beef
xor eax, eax
mov dword [ebp - 0x184], eax
mov eax, dword [0x4190cc]
cmp dword [ebp - 0x174], 8
mov dword [ebp - 0x178], eax
mov dword [ebp - 0x190], eax
mov eax, dword [0x4190d0]
mov dword [ebp - 0x17c], eax
mov ecx, eax
je 0x40b8fd
cmp dword [ebp - 0x178], 3
jbe 0x40b8b8
cmp dword [ebp - 0x17c], 0
je 0x40b891
mov dword [ebp - 0x174], 4
mov eax, dword [ebp - 0x184]
mov dword [ecx], eax
mov eax, dword [ebp - 0x17c]
mov edi, dword [0x41801c]
mov dword [ebp - 0x170], eax
mov eax, dword [ebp - 0x190]
mov dword [ebp - 0x178], eax
jmp 0x408310
mov eax, dword [0x4190cc]
mov edi, dword [0x41801c]
mov dword [ebp - 0x16c], 0xc000000d
mov dword [ebp - 0x178], eax
jmp 0x408310
mov eax, dword [0x4190d0]
mov edi, dword [0x41801c]
mov dword [ebp - 0x16c], 0xc000000d
mov dword [ebp - 0x170], eax
mov eax, dword [0x4190cc]
mov dword [ebp - 0x178], eax
jmp 0x408310
mov dword [esp + 0xc], str.pending_read_n
mov dword [esp + 8], str.console_input_ioctl
mov dword [esp + 4], 0x415058
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0
jmp 0x40af5f
mov eax, dword [0x4190cc]
mov edi, dword [0x41801c]
mov dword [ebp - 0x16c], 0xc000000d
mov dword [ebp - 0x178], eax
jmp 0x408310
xor eax, eax
mov edi, dword [0x41801c]
mov dword [ebp - 0x174], 4
mov dword [ebp - 0x170], eax
mov dword [ebp - 0x16c], 0xc0000017
jmp 0x408310
mov dword [esp + 4], 4
mov eax, dword [ebp - 0x17c]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_realloc]
test eax, eax
je 0x40b98f
mov dword [0x4190d0], eax
mov ecx, eax
mov dword [0x4190cc], 4
mov dword [ebp - 0x17c], eax
mov dword [ebp - 0x190], 4
jmp 0x40b7c8
mov eax, dword [ebp - 0x170]
cmp dword [ebp - 0x178], 7
mov edi, dword [eax + 0xc]
mov ebx, dword [eax + 4]
mov dword [ebp - 0x170], edi
mov edi, dword [eax]
jbe 0x40b9d7
cmp dword [ebp - 0x17c], 0
je 0x40b9ba
mov edx, dword [ebp - 0x170]
mov word [ecx], di
mov word [ecx + 2], bx
mov eax, dword [esi - 0x88]
add edi, edx
cmp edi, eax
cmova edi, eax
lea eax, [edi - 1]
mov edi, edx
xor edx, edx
mov word [ecx + 4], ax
mov eax, dword [ebp - 0x194]
div edi
mov edx, dword [esi - 0x84]
add eax, ebx
cmp eax, edx
cmova eax, edx
sub eax, 1
mov word [ecx + 6], ax
mov eax, dword [ebp - 0x17c]
mov edi, dword [0x41801c]
mov dword [ebp - 0x170], eax
mov eax, dword [ebp - 0x190]
mov dword [ebp - 0x178], eax
jmp 0x408310
mov eax, dword [ebp - 0x17c]
mov edi, dword [0x41801c]
mov dword [ebp - 0x174], 4
mov dword [ebp - 0x16c], 0xc0000017
mov dword [ebp - 0x170], eax
jmp 0x408310
xor eax, eax
mov edi, dword [0x41801c]
mov dword [ebp - 0x16c], 0xc0000017
mov dword [ebp - 0x170], eax
jmp 0x408310
mov dword [esp + 4], 8
mov dword [esp], ecx
call dword [sym.imp.ucrtbase.dll_realloc]
test eax, eax
je 0x40bc47
mov dword [0x4190d0], eax
mov ecx, eax
mov dword [0x4190cc], 8
mov dword [ebp - 0x17c], eax
mov dword [ebp - 0x190], 8
jmp 0x40b92b
mov dword [ebp - 0x174], 4
mov edi, dword [0x41801c]
mov dword [ebp - 0x16c], 0xc0000017
jmp 0x408310
mov eax, dword [0x4190cc]
mov edi, dword [0x41801c]
mov dword [ebp - 0x16c], 0xc000000d
mov dword [ebp - 0x178], eax
jmp 0x408310
mov eax, dword [0x4190d0]
xor esi, esi
mov edi, dword [0x41801c]
mov dword [ebp - 0x16c], 0xc000000d
mov dword [ebp - 0x174], esi
mov dword [ebp - 0x170], eax
mov eax, dword [0x4190cc]
mov dword [ebp - 0x178], eax
jmp 0x408310
mov dword [ebp - 0x16c], 0xc000000d
mov edi, dword [0x41801c]
jmp 0x408310
mov dword [ebp - 0x16c], 0xc0000017
mov edi, dword [0x41801c]
jmp 0x408310
mov dword [ebp - 0x16c], 0xc000000d
mov edi, dword [0x41801c]
jmp 0x408310
mov eax, dword [0x4190d0]
mov edi, dword [0x41801c]
mov dword [ebp - 0x16c], 0xc000000d
mov dword [ebp - 0x170], eax
mov eax, dword [0x4190cc]
mov dword [ebp - 0x178], eax
xor eax, eax
mov dword [ebp - 0x174], eax
jmp 0x408310
test byte [edx + 4], 8
je 0x409547
mov word [ebp - 0x148], 4
mov eax, dword [esi - 0x88]
mov word [ebp - 0x144], ax
mov eax, dword [esi - 0x84]
mov word [ebp - 0x142], ax
mov dword [esp + 0xc], 1
mov dword [esp + 8], 1
mov eax, dword [ebp - 0x188]
mov dword [esp], edx
mov dword [esp + 4], eax
call sym._write_console_input
mov eax, dword [ebp - 0x17c]
mov edx, dword [esi - 0x94]
mov eax, dword [eax]
jmp 0x40954f
call sym._set_tty_cursor_relative
jmp 0x40945a
mov eax, dword [0x4190cc]
mov edi, dword [0x41801c]
mov dword [ebp - 0x16c], 0xc000000d
mov dword [ebp - 0x178], eax
jmp 0x408310
mov eax, dword [0x4190cc]
mov edi, dword [0x41801c]
mov dword [ebp - 0x16c], 0xc000000d
mov dword [ebp - 0x178], eax
jmp 0x408310
mov eax, dword [0x4190d0]
mov edi, dword [0x41801c]
mov dword [ebp - 0x16c], 0xc000000d
mov dword [ebp - 0x170], eax
mov eax, dword [0x4190cc]
mov dword [ebp - 0x178], eax
jmp 0x408310
mov eax, dword [0x4190d0]
mov edi, dword [0x41801c]
mov dword [ebp - 0x16c], 0xc000000d
mov dword [ebp - 0x170], eax
mov eax, dword [0x4190cc]
mov dword [ebp - 0x178], eax
xor eax, eax
mov dword [ebp - 0x174], eax
jmp 0x408310
mov dword [ebp - 0x16c], 0xc0000017
mov edi, dword [0x41801c]
jmp 0x408310
mov dword [ebp - 0x16c], 0xc0000017
jmp 0x408310
mov dword [ebp - 0x174], 0xc
mov edi, dword [0x41801c]
mov dword [ebp - 0x16c], 0xc0000017
jmp 0x408310
mov eax, dword [ebp - 0x17c]
mov edi, dword [0x41801c]
mov dword [ebp - 0x16c], 0xc0000017
mov dword [ebp - 0x170], eax
jmp 0x408310
mov eax, dword [0x4190cc]
mov edi, dword [0x41801c]
mov dword [ebp - 0x16c], 0xc000000d
mov dword [ebp - 0x178], eax
jmp 0x408310
mov eax, dword [0x4190cc]
mov edi, dword [0x41801c]
mov dword [ebp - 0x16c], 0xc000000d
mov dword [ebp - 0x178], eax
jmp 0x408310
cmp dword [esi - 0x1c], eax
jne 0x4095e6
cmp dword [esi - 0x18], edi
jne 0x4095e6
cmp dword [esi - 0x14], ecx
jne 0x4095e6
mov eax, dword [ebx]
jmp 0x409606
mov eax, dword [0x4190d0]
xor edx, edx
mov edi, dword [0x41801c]
mov dword [ebp - 0x16c], 0xc000000d
mov dword [ebp - 0x174], edx
mov dword [ebp - 0x170], eax
mov eax, dword [0x4190cc]
mov dword [ebp - 0x178], eax
jmp 0x408310
mov dword [ebp - 0x174], 8
mov edi, dword [0x41801c]
jmp 0x408310
mov dword [ebp - 0x16c], 0xc0000017
mov edi, dword [0x41801c]
jmp 0x408310
mov ecx, dword [ebp - 0x184]
mov edi, dword [esi - 0x64]
mov esi, dword [ebp - 0x174]
imul ecx, eax
mov dword [ebp - 0x198], edi
mov edi, dword [ebp - 0x194]
imul eax, edx
shr esi, 1
add ecx, edi
shl eax, 2
lea edi, [ecx*4]
sub eax, edi
sar eax, 2
cmp eax, esi
cmovbe esi, eax
lea edx, [esi + esi]
mov dword [ebp - 0x174], edx
cmp dword [ebp - 0x178], edx
jb 0x40be00
mov ebx, dword [ebp - 0x17c]
mov eax, ebx
test ebx, ebx
je 0x40bdeb
mov ebx, dword [ebp - 0x17c]
mov dword [ebp - 0x170], ebx
mov ebx, dword [ebp - 0x190]
mov dword [ebp - 0x178], ebx
test esi, esi
je 0x40bdd8
mov esi, dword [ebp - 0x198]
add edx, eax
lea ecx, [esi + edi + 2]
movzx ebx, word [ecx]
add eax, 2
add ecx, 4
mov word [eax - 2], bx
cmp edx, eax
jne 0x40bda9
mov edi, dword [0x41801c]
jmp 0x408310
xor ecx, ecx
mov edi, dword [0x41801c]
mov dword [ebp - 0x174], ecx
jmp 0x408310
xor eax, eax
mov edi, dword [0x41801c]
mov dword [ebp - 0x174], eax
jmp 0x408310
mov dword [ebp - 0x16c], 0xc0000017
mov edi, dword [0x41801c]
jmp 0x408310
mov dword [ebp - 0x184], edx
mov dword [esp + 4], edx
mov eax, dword [ebp - 0x17c]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_realloc]
mov edx, dword [ebp - 0x184]
test eax, eax
je 0x40bffd
mov ebx, dword [ebp - 0x174]
mov dword [0x4190d0], eax
mov dword [ebp - 0x17c], eax
mov dword [0x4190cc], ebx
mov dword [ebp - 0x190], ebx
jmp 0x40bd81
mov eax, dword [0x4190cc]
mov edi, dword [0x41801c]
mov dword [ebp - 0x16c], 0xc000000d
mov dword [ebp - 0x178], eax
jmp 0x408310
mov eax, dword [0x4190d0]
mov edi, dword [0x41801c]
mov dword [ebp - 0x16c], 0xc000000d
mov dword [ebp - 0x170], eax
mov eax, dword [0x4190cc]
mov dword [ebp - 0x178], eax
xor eax, eax
mov dword [ebp - 0x174], eax
jmp 0x408310
mov dword [ebp - 0x174], 4
mov edi, dword [0x41801c]
mov dword [ebp - 0x16c], 0xc0000017
jmp 0x408310
mov dword [ebp - 0x16c], 0xc000000d
mov edi, dword [0x41801c]
jmp 0x408310
mov dword [ebp - 0x174], 4
mov edi, dword [0x41801c]
mov dword [ebp - 0x16c], 0xc0000017
jmp 0x408310
mov eax, dword [esi - 0x94]
mov edi, dword [ebp - 0x190]
cmp edi, dword [eax + 8]
jne 0x40b783
mov eax, dword [ebp - 0x17c]
mov edi, dword [eax]
mov dword [ebp - 0x148], edi
mov ecx, dword [eax + 4]
mov dword [ebp - 0x144], ecx
mov ebx, dword [eax + 0xc]
test ebx, ebx
je 0x40bfab
mov eax, dword [ebp - 0x194]
xor edx, edx
div ebx
mov edx, dword [esi - 0x84]
add eax, ecx
cmp eax, edx
cmova eax, edx
sub eax, 1
mov dword [ebp - 0x13c], eax
mov edx, dword [esi - 0x88]
lea eax, [edi + ebx]
cmp eax, edx
mov edi, edx
cmovbe edi, eax
sub edi, 1
mov eax, dword [ebp - 0x190]
mov edx, dword [ebp - 0x188]
mov dword [ebp - 0x140], edi
call sym._update_output
mov eax, dword [esi - 0x94]
call sym._tty_sync
jmp 0x40b783
mov eax, dword [0x4190d0]
mov edi, dword [0x41801c]
mov dword [ebp - 0x16c], 0xc0000017
mov dword [ebp - 0x170], eax
mov eax, dword [0x4190cc]
mov dword [ebp - 0x178], eax
jmp 0x408310
mov eax, dword [ebp - 0x184]
xor edx, edx
lea ebx, [eax + edi - 1]
mov edi, dword [esi - 0x88]
mov eax, ebx
div edi
add eax, ecx
mov dword [ebp - 0x13c], eax
cmp ecx, eax
je 0x40c012
xor eax, eax
sub edi, 1
mov dword [ebp - 0x148], eax
jmp 0x40bf59
mov eax, dword [0x4190cc]
mov edi, dword [0x41801c]
mov dword [ebp - 0x16c], 0xc000000d
mov dword [ebp - 0x178], eax
jmp 0x408310
mov dword [ebp - 0x16c], 0xc0000017
mov edi, dword [0x41801c]
jmp 0x408310
mov edi, ebx
jmp 0x40bf59
mov eax, dword [0x4190cc]
mov edi, dword [0x41801c]
mov dword [ebp - 0x16c], 0xc000000d
mov dword [ebp - 0x178], eax
jmp 0x408310
mov dword [ebp - 0x16c], 0xc000000d
mov edi, dword [0x41801c]
jmp 0x408310
mov eax, dword [0x4190cc]
mov edi, dword [0x41801c]
mov dword [ebp - 0x16c], 0xc000000d
mov dword [ebp - 0x178], eax
jmp 0x408310
mov dword [ebp - 0x174], 4
mov edi, dword [0x41801c]
mov dword [ebp - 0x16c], 0xc0000017
jmp 0x408310
mov eax, dword [0x4190cc]
mov edi, dword [0x41801c]
mov dword [ebp - 0x16c], 0xc000000d
mov dword [ebp - 0x178], eax
jmp 0x408310
mov eax, dword [0x4190cc]
mov edi, dword [0x41801c]
mov dword [ebp - 0x16c], 0xc000000d
mov dword [ebp - 0x178], eax
jmp 0x408310
mov dword [ebp - 0x16c], 0xc000000d
jmp 0x4091cc
mov eax, dword [0x4190cc]
mov edi, dword [0x41801c]
mov dword [ebp - 0x16c], 0xc000000d
mov dword [ebp - 0x178], eax
jmp 0x408310
mov dword [ebp - 0x190], ebx
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x17c]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_realloc]
mov ecx, dword [ebp - 0x190]
test eax, eax
je 0x40c156
mov edx, dword [ebp - 0x174]
mov dword [0x4190d0], eax
mov dword [ebp - 0x17c], eax
mov dword [0x4190cc], edx
mov dword [ebp - 0x190], edx
jmp 0x40ab4f
mov dword [ebp - 0x16c], 0xc000000d
mov edi, dword [0x41801c]
jmp 0x408310
mov dword [ebp - 0x16c], 0xc0000017
mov edi, dword [0x41801c]
jmp 0x408310
mov dword [ebp - 0x16c], 0xc000000d
mov edi, dword [0x41801c]
jmp 0x408310
mov dword [ebp - 0x16c], 0xc000000d
mov edi, dword [0x41801c]
jmp 0x408310
mov eax, dword [0x4190cc]
mov edi, dword [0x41801c]
mov dword [ebp - 0x16c], 0xc000000d
mov dword [ebp - 0x178], eax
jmp 0x408310
mov dword [ebp - 0x174], 4
mov edi, dword [0x41801c]
mov dword [ebp - 0x16c], 0xc0000017
jmp 0x408310
mov dword [ebp - 0x16c], 0xc000000d
mov edi, dword [0x41801c]
jmp 0x408310
mov dword [ebp - 0x174], 4
mov edi, dword [0x41801c]
mov dword [ebp - 0x16c], 0xc0000017
jmp 0x408310