Function at 0x40e4d0
Capabilities:
Resume thread
Suspend thread

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x2ac
mov eax, dword [ebp + 8]
mov edi, dword [eax + 0x10]
movzx eax, byte [edi]
sub eax, 0x41
cmp al, 0x32
ja case.0x40e4bf.1
movzx eax, al
jmp dword [eax*4 + 0x43d81c]
mov eax, dword [ebp + 8]
mov esi, dword [sym.imp.ucrtbase.dll_strncmp]
cmp dword [eax + 0x14], 0xf
jg 0x40ed18
mov dword [esp + 8], 7
mov dword [esp + 4], str.TStatus
mov dword [esp], edi
call esi
test eax, eax
je 0x40ee60
test byte [global___dbch.0], 2
jne 0x40e518
xor ebx, ebx
lea esp, [ebp - 0xc]
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x14]
mov eax, dword [eax + 0x10]
call sym._wine_dbgstr_an
mov dword [esp + 0xc], str.Unhandled_query__s_n
mov dword [esp + 0x10], eax
mov dword [esp + 8], str.packet_query
mov dword [esp + 4], global___dbch.0
mov dword [esp], 1
call sym._wine_dbg_log.constprop.0_3
jmp 0x40e509
mov eax, dword [ebp + 8]
add edi, 1
mov esi, dword [sym.imp.ucrtbase.dll_strncmp]
mov eax, dword [eax + 0x14]
mov dword [esp + 4], str.ThreadInfo
mov dword [esp], edi
lea ebx, [eax - 1]
mov dword [ebp - 0x27c], eax
mov eax, 0xb
cmp ebx, eax
cmovbe eax, ebx
mov dword [esp + 8], eax
call esi
test eax, eax
je 0x40e5aa
mov eax, 0xc
mov dword [esp + 4], str.ProcessInfo
cmp ebx, eax
mov dword [esp], edi
cmova ebx, eax
mov dword [esp + 8], ebx
call esi
test eax, eax
jne case.0x40e4bf.1
mov eax, dword [ebp + 8]
call sym._packet_reply_open
mov ecx, 1
mov edx, 0x43d550
jmp 0x40e7f7
mov eax, dword [ebp + 8]
mov edx, 9
mov eax, dword [eax + 0x14]
mov dword [esp + 4], str.Attached
mov dword [esp], edi
cmp eax, edx
cmova eax, edx
mov dword [esp + 8], eax
call dword [sym.imp.ucrtbase.dll_strncmp]
test eax, eax
jne case.0x40e4bf.1
mov eax, dword [ebp + 8]
call sym._packet_reply_open
mov ecx, 1
mov edx, 0x43d55b
jmp 0x40e7f7
mov eax, dword [ebp + 8]
cmp dword [eax + 0x14], 1
jne case.0x40e4bf.1
mov eax, dword [eax + 0x9c]
test eax, eax
je 0x40fc8e
lea edx, [eax + 0x1c]
cmp edx, dword [eax + 0x1c]
je 0x40fc8e
mov ebx, dword [eax + 0x20]
mov eax, dword [ebp + 8]
cmp edx, ebx
je sym._packet_query.cold
call sym._packet_reply_open
mov eax, dword [ebp + 8]
mov ecx, 2
mov edx, 0x43d59a
call dbg.packet_reply_add_data
mov eax, dword [ebp + 8]
mov ecx, dword [ebx + 0x10]
lea edx, [ebp - 0x13c]
lea ebx, [ebp - 0x144]
lea esi, [eax + 0x18]
lea esi, [esi]
mov eax, ecx
sub edx, 1
shr ecx, 4
and eax, 0xf
movzx eax, byte [eax + 0x43c48b]
mov byte [edx], al
cmp edx, ebx
jne 0x40e678
mov ecx, 8
mov eax, esi
mov ebx, 2
call sym._reply_buffer_append
mov eax, dword [ebp + 8]
call dbg.packet_reply_close
jmp 0x40e50b
mov eax, dword [ebp + 8]
cmp dword [eax + 0x14], 0xa
jle case.0x40e4bf.1
mov dword [esp + 8], 0xa
mov dword [esp + 4], str.GetTIBAddr
mov dword [esp], edi
call dword [sym.imp.ucrtbase.dll_strncmp]
test eax, eax
jne case.0x40e4bf.1
cmp byte [edi + 0xa], 0x3a
jne case.0x40e4bf.1
lea eax, [ebp - 0x248]
add edi, 0xb
mov dword [esp + 8], 0x10
mov dword [esp + 4], eax
mov dword [esp], edi
call dword [sym.imp.ucrtbase.dll_strtol]
mov edx, dword [ebp - 0x248]
test edx, edx
je case.0x40e4bf.1
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x9c]
mov dword [esp], eax
call dbg.dbg_get_thread
mov ebx, eax
test eax, eax
je 0x40e8d6
mov eax, dword [ebp + 8]
call sym._packet_reply_open
mov eax, dword [ebp + 8]
mov ecx, dword [ebx + 0x14]
lea edx, [ebp - 0x13c]
lea ebx, [ebp - 0x144]
lea esi, [eax + 0x18]
mov eax, ecx
sub edx, 1
shr ecx, 4
and eax, 0xf
movzx eax, byte [eax + 0x43c48b]
mov byte [edx], al
cmp edx, ebx
jne 0x40e750
jmp 0x40e690
mov eax, dword [ebp + 8]
mov edx, 8
mov eax, dword [eax + 0x14]
mov dword [esp + 4], str.Offsets
mov dword [esp], edi
cmp eax, edx
cmova eax, edx
mov dword [esp + 8], eax
call dword [sym.imp.ucrtbase.dll_strncmp]
test eax, eax
jne case.0x40e4bf.1
mov eax, dword [ebp + 8]
lea ebx, [ebp - 0x144]
mov eax, dword [eax + 0xa8]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xa4]
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xa0]
mov dword [esp + 8], str.Text_08Ix_Data_08Ix_Bss_08Ix
mov dword [esp + 4], 0x40
mov dword [esp + 0xc], eax
mov dword [esp], ebx
call sym._snprintf
mov eax, dword [ebp + 8]
call sym._packet_reply_open
mov dword [esp], ebx
call dword [sym.imp.ucrtbase.dll_strlen]
mov edx, ebx
mov ecx, eax
mov eax, dword [ebp + 8]
call dbg.packet_reply_add_data
mov eax, dword [ebp + 8]
mov ebx, 2
call dbg.packet_reply_close
jmp 0x40e50b
mov eax, dword [ebp + 8]
mov ebx, dword [eax + 0x14]
cmp ebx, 5
jle case.0x40e4bf.1
mov dword [esp + 8], 5
mov esi, dword [sym.imp.ucrtbase.dll_strncmp]
mov dword [esp + 4], str.Rcmd_
mov dword [esp], edi
call esi
test eax, eax
jne case.0x40e4bf.1
sub ebx, 5
lea edx, [edi + 5]
cmp ebx, 0xff
ja 0x40fc71
test bl, 1
jne 0x40fc71
mov edi, ebx
lea ebx, [ebp - 0x144]
shr edi, 1
mov eax, ebx
mov ecx, edi
call dbg.hex_from
mov eax, dword [0x43a744]
test eax, eax
je 0x40e8d6
mov edx, 0x43a740
mov dword [ebp - 0x280], esi
mov dword [ebp - 0x27c], ebx
mov esi, edx
mov ebx, edi
mov edi, dword [esi + 8]
cmp ebx, edi
jb 0x40e8cc
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x27c]
mov dword [esp + 8], edi
mov dword [esp], eax
mov eax, dword [ebp - 0x280]
call eax
test eax, eax
jne 0x40e8cc
mov eax, dword [esi]
test eax, eax
jne 0x40f52c
cmp ebx, edi
je 0x40f52c
mov eax, dword [esi + 0x14]
add esi, 0x10
test eax, eax
jne 0x40e896
mov eax, dword [ebp + 8]
mov edx, 0x16
call dbg.packet_reply_error
mov ebx, eax
jmp 0x40e50b
mov eax, dword [ebp + 8]
mov edx, 9
mov ebx, 1
mov esi, dword [sym.imp.ucrtbase.dll_strncmp]
mov eax, dword [eax + 0x14]
mov dword [esp + 4], str.Symbol::
mov dword [esp], edi
cmp eax, edx
cmova eax, edx
mov dword [esp + 8], eax
call esi
test eax, eax
je 0x40e50b
mov dword [esp + 8], 9
mov dword [esp + 4], str.Supported
mov dword [esp], edi
call esi
test eax, eax
jne case.0x40e4bf.1
mov eax, dword [ebp + 8]
xor ebx, ebx
call sym._packet_reply_open
mov eax, dword [ebp + 8]
mov ecx, 0x11
mov edx, str.QStartNoAckMode_
call dbg.packet_reply_add_data
mov esi, dword [sym.imp.ucrtbase.dll_strlen]
mov edi, dword [ebp + 8]
mov ecx, 6
mov edx, str.qXfer:
mov eax, edi
call dbg.packet_reply_add_data
mov edx, dword [ebx*8 + 0x43a720]
add ebx, 1
mov dword [esp], edx
mov dword [ebp - 0x27c], edx
call esi
mov edx, dword [ebp - 0x27c]
mov ecx, eax
mov eax, edi
call dbg.packet_reply_add_data
mov ecx, 7
mov edx, str.:read_
mov eax, edi
call dbg.packet_reply_add_data
cmp ebx, 4
jne 0x40e966
jmp 0x40e7ff
lea edx, [ebp - 0x26c]
lea ebx, [ebp - 0x270]
mov dword [esp], edi
lea esi, [ebp - 0x268]
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 8], esi
mov dword [esp + 4], str.Xfer:_31_:_:read::_x__x
mov byte [ebp - 0x248], 0
call sym._sscanf
lea edx, [ebp - 0x26c]
cmp eax, 3
jne 0x40ee20
xor ebx, ebx
mov eax, dword [ebx*8 + 0x43a720]
mov dword [esp + 4], esi
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_strcmp]
test eax, eax
je 0x40ef58
add ebx, 1
cmp ebx, 4
jne 0x40ea06
test byte [global___dbch.0], 2
je 0x40e509
mov eax, dword [ebp - 0x26c]
mov dword [ebp - 0x284], eax
mov eax, dword [ebp - 0x270]
mov dword [ebp - 0x288], eax
lea eax, [ebp - 0x248]
mov dword [ebp - 0x27c], eax
shr eax, 0x10
je 0x40f97c
mov ebx, dword [ebp - 0x27c]
mov dword [esp + 4], 0xffffffff
mov dword [esp], ebx
call dword [sym.imp.kernel32.dll_IsBadStringPtrA]
mov dword [ebp - 0x280], 0x43c251
sub esp, 8
mov ecx, eax
test eax, eax
jne 0x40f588
movzx eax, byte [ebp - 0x248]
test al, al
je 0x40fa34
lea esi, [esi]
mov edx, ecx
lea ecx, [ecx + 1]
cmp byte [ebx + edx + 1], 0
jne 0x40eaa8
lea edi, [ebp - 0x21]
mov byte [ebp - 0x144], 0x22
lea ecx, [ebp - 0x143]
mov dword [ebp - 0x280], edi
jmp 0x40eb12
cmp al, 9
je 0x40f8d0
cmp al, 0xa
jne 0x40f81b
mov eax, 0x6e5c
add ecx, 2
mov word [ecx - 2], ax
lea esi, [esi]
lea edi, [edx - 1]
cmp ecx, dword [ebp - 0x280]
ja 0x40f556
test edx, edx
jle 0x40f556
mov eax, dword [ebp - 0x27c]
mov edx, edi
movzx eax, byte [eax]
add dword [ebp - 0x27c], 1
cmp al, 0xd
je 0x40f8e1
jle 0x40ead0
cmp al, 0x22
je 0x40f850
cmp al, 0x5c
jne 0x40f80d
mov edi, 0x5c5c
add ecx, 2
mov word [ecx - 2], di
jmp 0x40eaf0
mov eax, dword [ebp + 8]
add edi, 1
mov esi, dword [sym.imp.ucrtbase.dll_strncmp]
mov eax, dword [eax + 0x14]
mov dword [esp + 4], str.ThreadInfo
mov dword [esp], edi
lea ebx, [eax - 1]
mov dword [ebp - 0x27c], eax
mov eax, 0xb
cmp ebx, eax
cmovbe eax, ebx
mov dword [esp + 8], eax
call esi
test eax, eax
je 0x40f2e0
mov eax, 0xc
mov dword [esp + 4], str.ProcessInfo
cmp ebx, eax
mov dword [esp], edi
cmova ebx, eax
mov dword [esp + 8], ebx
call esi
test eax, eax
jne case.0x40e4bf.1
mov eax, dword [ebp + 8]
call sym._packet_reply_open
mov eax, dword [ebp + 8]
mov ecx, 1
mov edx, 0x43c4f8
call dbg.packet_reply_add_data
lea eax, [ebp - 0x248]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x9c]
mov eax, dword [eax + 8]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_GetExitCodeProcess]
sub esp, 8
test eax, eax
je 0x40f9b2
mov eax, dword [ebp - 0x248]
cmp eax, 0x103
je 0x40f917
lea ebx, [ebp - 0x144]
mov dword [esp + 0xc], eax
mov dword [esp + 8], str.Terminated___lu_
mov dword [esp + 4], pe_nt_image_headers32
mov dword [esp], ebx
call sym._snprintf
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x9c]
mov eax, dword [eax + 8]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_GetPriorityClass]
sub esp, 4
cmp eax, 0x100
je 0x40fa62
ja 0x40f4a2
cmp eax, 0x40
je 0x40fa93
cmp eax, 0x80
jne 0x40f4f0
mov dword [esp], ebx
call sym._strlen
add eax, ebx
mov dword [eax], 0x6968202c
mov dword [eax + 4], 0x70206867
mov dword [eax + 8], 0x726f6972
mov dword [eax + 0xc], 0x797469
mov dword [esp], ebx
call sym._strlen
mov ecx, 0xa
mov word [ebx + eax], cx
mov dword [esp], ebx
call dword [sym.imp.ucrtbase.dll_strlen]
lea esi, [eax + eax]
mov edi, eax
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x1c]
mov eax, dword [eax + 0x20]
lea ecx, [esi + edx]
cmp ecx, eax
ja 0x40f741
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x18]
add eax, edx
test edi, edi
je 0x40ecfc
lea edi, [eax + esi]
mov edx, ebx
lea esi, [esi]
nop
movzx ecx, byte [edx]
add eax, 2
add edx, 1
shr cl, 4
movzx ecx, cl
movzx ecx, byte [ecx + 0x43c48b]
mov byte [eax - 2], cl
movzx ecx, byte [edx - 1]
and ecx, 0xf
movzx ecx, byte [ecx + 0x43c48b]
mov byte [eax - 1], cl
cmp eax, edi
jne 0x40ecc8
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x1c]
mov eax, dword [ebp + 8]
add esi, edx
mov ebx, 2
mov dword [eax + 0x1c], esi
call dbg.packet_reply_close
jmp 0x40e50b
mov dword [esp + 8], 0xf
mov esi, dword [sym.imp.ucrtbase.dll_strncmp]
mov dword [esp + 4], str.ThreadExtraInfo
mov dword [esp], edi
call esi
test eax, eax
jne 0x40e4e3
cmp byte [edi + 0xf], 0x2c
jne 0x40e4e3
lea eax, [ebp - 0x268]
add edi, 0x10
mov dword [esp + 8], 0x10
mov dword [esp], edi
mov dword [esp + 4], eax
call dword [sym.imp.ucrtbase.dll_strtol]
mov edi, dword [ebp - 0x268]
test edi, edi
je case.0x40e4bf.1
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x9c]
mov dword [esp], eax
call dbg.dbg_get_thread
mov dword [ebp - 0x27c], eax
test eax, eax
je 0x40fb10
lea eax, [ebp - 0x248]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x27c]
mov eax, dword [eax + 0xc]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_GetExitCodeThread]
push esi
push esi
test eax, eax
je 0x40faf5
mov eax, dword [ebp - 0x248]
cmp eax, 0x103
je 0x40fb2f
lea ebx, [ebp - 0x144]
mov dword [esp + 0xc], eax
mov dword [esp + 8], str.Terminated__exit_code___lu_
mov dword [esp + 4], pe_nt_image_headers32
mov dword [esp], ebx
call sym._snprintf
mov eax, dword [ebp - 0x27c]
mov eax, dword [eax + 0xc]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_GetThreadPriority]
mov edi, eax
push edx
cmp eax, 0xf
jg 0x40ee7a
cmp eax, 0xfffffff1
jl case.0x40ee14.14
lea eax, [eax + 0xf]
cmp eax, 0x1e
ja case.0x40ee14.14
jmp dword [eax*4 + 0x43d8e8]
lea eax, [ebp - 0x248]
mov dword [esp + 0x14], edx
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x10], ebx
mov dword [esp + 8], esi
mov dword [esp + 4], str.Xfer:_31_:_:read:_255_:_:_x__x
mov eax, dword [eax + 0x10]
mov dword [esp], eax
call sym._sscanf
cmp eax, 4
jne case.0x40e4bf.1
jmp 0x40ea04
mov eax, dword [ebp + 8]
mov ebx, 2
call sym._packet_reply_open
mov eax, dword [ebp + 8]
call dbg.packet_reply_close
jmp 0x40e50b
mov esi, dword [sym.imp.ucrtbase.dll_strlen]
cmp eax, 0x7fffffff
je 0x40eeb3
mov dword [esp], ebx
mov esi, dword [sym.imp.ucrtbase.dll_strlen]
call esi
mov edx, pe_nt_image_headers32
mov dword [esp + 0xc], edi
sub edx, eax
add eax, ebx
mov dword [esp + 8], str.__priority___d
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._snprintf
mov eax, dword [ebp + 8]
call sym._packet_reply_open
mov dword [esp], ebx
call esi
mov edx, dword [ebp + 8]
lea edi, [eax + eax]
mov esi, eax
mov eax, dword [ebp + 8]
mov edx, dword [edx + 0x20]
mov eax, dword [eax + 0x1c]
lea ecx, [edi + eax]
cmp ecx, edx
jbe 0x40ef01
lea eax, [edx + edx*2]
mov edx, dword [ebp + 8]
shr eax, 1
cmp eax, ecx
cmovb eax, ecx
mov dword [edx + 0x20], eax
mov dword [esp + 4], eax
mov eax, dword [edx + 0x18]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_realloc]
mov edx, dword [ebp + 8]
mov dword [edx + 0x18], eax
mov eax, dword [edx + 0x1c]
mov edx, dword [ebp + 8]
add eax, dword [edx + 0x18]
lea edx, [eax + edi]
test esi, esi
je 0x40ef3c
movzx ecx, byte [ebx]
add eax, 2
add ebx, 1
shr cl, 4
movzx ecx, cl
movzx ecx, byte [ecx + 0x43c48b]
mov byte [eax - 2], cl
movzx ecx, byte [ebx - 1]
and ecx, 0xf
movzx ecx, byte [ecx + 0x43c48b]
mov byte [eax - 1], cl
cmp eax, edx
jne 0x40ef0e
mov eax, dword [ebp + 8]
mov ebx, 2
add dword [eax + 0x1c], edi
call dbg.packet_reply_close
jmp 0x40e50b
test byte [global___dbch.0], 8
jne 0x40f010
lea eax, [ebp - 0x248]
mov dword [ebp - 0x27c], eax
mov eax, dword [ebp + 8]
mov esi, dword [ebp - 0x270]
lea edi, [eax + 0xb4]
test esi, esi
je 0x40ef9a
mov edx, dword [eax + 0x1bc]
test edx, edx
je 0x40ef9a
cmp dword [eax + 0xb0], ebx
je 0x40f791
mov eax, dword [ebp + 8]
mov dword [eax + 0xb0], ebx
mov dword [eax + 0x1bc], 0
mov eax, dword [ebp - 0x27c]
mov dword [esp], edi
mov dword [esp + 4], eax
call dword [sym.imp.ucrtbase.dll_strcpy]
mov eax, dword [ebp + 8]
mov dword [esp], eax
call dword [ebx*8 + 0x43a724]
mov ebx, eax
test byte [global___dbch.0], 8
jne 0x40f2b0
mov eax, ebx
and al, 0x7f
cmp eax, 3
je 0x40f6c4
mov eax, dword [ebp + 8]
mov dword [eax + 0xb0], 0xffffffff
mov byte [eax + 0xb4], 0
mov dword [eax + 0x1bc], 0
jmp 0x40e50b
mov eax, dword [ebp - 0x270]
mov dword [ebp - 0x28c], eax
mov eax, dword [ebp - 0x26c]
mov dword [ebp - 0x288], eax
lea eax, [ebp - 0x248]
mov dword [ebp - 0x27c], eax
shr eax, 0x10
je 0x40f76f
mov edi, dword [ebp - 0x27c]
mov dword [esp + 4], 0xffffffff
mov dword [esp], edi
call dword [sym.imp.kernel32.dll_IsBadStringPtrA]
mov dword [ebp - 0x284], 0x43c251
sub esp, 8
mov ecx, eax
test eax, eax
jne 0x40f159
movzx eax, byte [ebp - 0x248]
test al, al
je 0x40f94d
lea esi, [esi]
mov edx, ecx
lea ecx, [ecx + 1]
cmp byte [edi + edx + 1], 0
jne 0x40f080
mov dword [ebp - 0x284], edx
lea edx, [ebp - 0x21]
mov ecx, dword [ebp - 0x27c]
lea edi, [ebp - 0x143]
mov dword [ebp - 0x280], edx
mov edx, dword [ebp - 0x284]
mov byte [ebp - 0x144], 0x22
mov dword [ebp - 0x290], ebx
jmp 0x40f0f4
cmp al, 9
je 0x40f3b0
cmp al, 0xa
jne 0x40f3cd
mov eax, 0x6e5c
add edi, 2
mov word [edi - 2], ax
lea esi, [esi]
lea ebx, [edx - 1]
cmp edi, dword [ebp - 0x280]
ja 0x40f11f
test edx, edx
jle 0x40f11f
movzx eax, byte [ecx]
mov edx, ebx
add ecx, 1
cmp al, 0xd
je 0x40f411
jle 0x40f0c0
cmp al, 0x22
je 0x40f400
cmp al, 0x5c
jne 0x40f3c1
mov eax, 0x5c5c
add edi, 2
mov word [edi - 2], ax
jmp 0x40f0e0
mov eax, ebx
mov byte [edi], 0x22
mov ebx, dword [ebp - 0x290]
test eax, eax
jle 0x40f95c
mov edx, 0x2e2e
mov byte [edi + 3], 0x2e
lea eax, [edi + 4]
mov word [edi + 1], dx
mov byte [eax], 0
lea eax, [ebp - 0x144]
mov dword [esp], eax
call dbg.__wine_dbg_strdup
mov dword [ebp - 0x284], eax
mov eax, esi
shr eax, 0x10
je 0x40f7f5
mov dword [esp + 4], 0xffffffff
mov dword [esp], esi
call dword [sym.imp.kernel32.dll_IsBadStringPtrA]
mov ecx, eax
sub esp, 8
mov eax, 0x43c251
test ecx, ecx
jne 0x40f261
movzx eax, byte [ebp - 0x268]
test al, al
je 0x40f936
lea esi, [esi]
lea esi, [esi]
mov edx, ecx
lea ecx, [ecx + 1]
cmp byte [esi + edx + 1], 0
jne 0x40f1a0
mov edi, esi
lea esi, [ebp - 0x21]
mov byte [ebp - 0x144], 0x22
lea ecx, [ebp - 0x143]
mov dword [ebp - 0x290], ebx
mov dword [ebp - 0x280], esi
jmp 0x40f204
cmp al, 9
je 0x40f428
cmp al, 0xa
jne 0x40f447
mov eax, 0x6e5c
add ecx, 2
mov word [ecx - 2], ax
lea esi, [esi]
lea esi, [edx - 1]
cmp ecx, dword [ebp - 0x280]
ja 0x40f22f
test edx, edx
jle 0x40f22f
movzx eax, byte [edi]
mov edx, esi
add edi, 1
cmp al, 0xd
je 0x40f491
jle 0x40f1d0
cmp al, 0x22
je 0x40f480
cmp al, 0x5c
jne 0x40f439
mov esi, 0x5c5c
add ecx, 2
mov word [ecx - 2], si
jmp 0x40f1f0
mov byte [ecx], 0x22
mov ebx, dword [ebp - 0x290]
test esi, esi
jle 0x40f945
mov esi, 0x2e2e
mov byte [ecx + 3], 0x2e
lea eax, [ecx + 4]
mov word [ecx + 1], si
mov byte [eax], 0
lea eax, [ebp - 0x144]
mov dword [esp], eax
call dbg.__wine_dbg_strdup
mov esi, dword [ebp - 0x288]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], str.qXfer__s_read__s__u__u_n
mov dword [esp + 0x1c], esi
mov esi, dword [ebp - 0x28c]
mov dword [esp + 8], str.packet_query
mov dword [esp + 0x18], esi
mov esi, dword [ebp - 0x284]
mov dword [esp + 4], global___dbch.0
mov dword [esp + 0x14], esi
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_3
jmp 0x40ef71
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], str.qXfer_read_result___d_n
mov dword [esp + 8], str.packet_query
mov dword [esp + 4], global___dbch.0
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_3
jmp 0x40efdc
mov eax, dword [ebp + 8]
lea ebx, [ebp - 0x144]
call sym._packet_reply_open
mov eax, dword [ebp + 8]
mov ecx, 1
mov edx, 0x43d52f
call dbg.packet_reply_add_data
mov eax, dword [ebp + 8]
mov edi, dword [ebp + 8]
mov eax, dword [eax + 0x9c]
add edi, 0x18
mov esi, dword [eax + 0x1c]
add eax, 0x1c
cmp esi, eax
je 0x40e7ff
mov dword [ebp - 0x27c], edi
mov edi, dword [ebp + 8]
lea esi, [esi]
lea esi, [esi]
mov edx, dword [esi + 0x10]
lea eax, [ebp - 0x13c]
lea esi, [esi]
mov ecx, edx
sub eax, 1
shr edx, 4
and ecx, 0xf
movzx ecx, byte [ecx + 0x43c48b]
mov byte [eax], cl
cmp eax, ebx
jne 0x40f340
mov eax, dword [ebp - 0x27c]
mov edx, ebx
mov ecx, 8
call sym._reply_buffer_append
mov eax, dword [edi + 0x9c]
mov edx, dword [esi]
add eax, 0x1c
cmp eax, edx
je 0x40f3a8
test edx, edx
je 0x40f3a8
mov eax, edi
mov ecx, 1
mov edx, 0x43d531
call dbg.packet_reply_add_data
mov eax, dword [edi + 0x9c]
mov esi, dword [esi]
add eax, 0x1c
cmp esi, eax
jne 0x40f330
jmp 0x40e7ff
mov esi, edx
jmp 0x40f399
mov eax, 0x745c
add edi, 2
mov word [edi - 2], ax
jmp 0x40f0e0
lea ebx, [eax - 0x20]
cmp bl, 0x5e
jbe 0x40f90d
mov ebx, 0x785c
add edi, 4
mov word [edi - 4], bx
mov ebx, eax
and eax, 0xf
shr bl, 4
movzx eax, byte [eax + str.0123456789abcdefhandle_exception]
movzx ebx, bl
movzx ebx, byte [ebx + str.0123456789abcdefhandle_exception]
mov byte [edi - 1], al
mov byte [edi - 2], bl
jmp 0x40f0e0
mov eax, 0x225c
add edi, 2
mov word [edi - 2], ax
jmp 0x40f0e0
mov eax, 0x725c
add edi, 2
mov word [edi - 2], ax
jmp 0x40f0e0
mov eax, 0x745c
add ecx, 2
mov word [ecx - 2], ax
jmp 0x40f1f0
lea esi, [eax - 0x20]
mov ebx, esi
cmp bl, 0x5e
jbe 0x40f903
mov ebx, 0x785c
add ecx, 4
mov word [ecx - 4], bx
mov ebx, eax
and eax, 0xf
shr bl, 4
movzx eax, byte [eax + str.0123456789abcdefhandle_exception]
movzx esi, bl
movzx ebx, byte [esi + str.0123456789abcdefhandle_exception]
mov byte [ecx - 1], al
mov byte [ecx - 2], bl
jmp 0x40f1f0
mov eax, 0x225c
add ecx, 2
mov word [ecx - 2], ax
jmp 0x40f1f0
mov eax, 0x725c
add ecx, 2
mov word [ecx - 2], ax
jmp 0x40f1f0
cmp eax, 0x4000
je 0x40fabd
cmp eax, 0x8000
jne 0x40ec7f
mov dword [esp], ebx
call sym._strlen
add eax, ebx
mov dword [eax], 0x6261202c
mov dword [eax + 4], 0x2065766f
mov dword [eax + 8], 0x6d726f6e
mov dword [eax + 0xc], 0x70206c61
mov dword [eax + 0x10], 0x726f6972
mov dword [eax + 0x14], 0x797469
jmp 0x40ec7f
cmp eax, 0x20
jne 0x40ec7f
mov dword [esp], ebx
mov esi, 0x79
call sym._strlen
add eax, ebx
mov dword [eax], 0x6f6e202c
mov dword [eax + 4], 0x6c616d72
mov dword [eax + 8], 0x69727020
mov dword [eax + 0xc], 0x7469726f
mov word [eax + 0x10], si
jmp 0x40ec7f
mov ecx, edi
mov edi, ebx
mov ebx, dword [ebp - 0x27c]
sub edi, ecx
lea eax, [ebx + ecx]
mov dword [esp + 4], edi
mov ebx, 2
mov dword [esp + 8], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call dword [esi + 0xc]
jmp 0x40e50b
mov byte [ecx], 0x22
test edi, edi
jle 0x40fa43
mov edx, 0x2e2e
mov byte [ecx + 3], 0x2e
lea eax, [ecx + 4]
mov word [ecx + 1], dx
mov byte [eax], 0
lea eax, [ebp - 0x144]
mov dword [esp], eax
call dbg.__wine_dbg_strdup
mov dword [ebp - 0x280], eax
mov eax, esi
shr eax, 0x10
je 0x40f964
mov dword [esp + 4], 0xffffffff
mov dword [esp], esi
call dword [sym.imp.kernel32.dll_IsBadStringPtrA]
mov ecx, eax
sub esp, 8
mov eax, 0x43c251
test ecx, ecx
jne 0x40f677
movzx eax, byte [ebp - 0x268]
test al, al
je 0x40fa4b
lea esi, [esi]
mov edx, ecx
lea ecx, [ecx + 1]
cmp byte [esi + edx + 1], 0
jne 0x40f5c8
mov byte [ebp - 0x144], 0x22
lea ecx, [ebp - 0x143]
lea edi, [ebp - 0x21]
jmp 0x40f620
cmp al, 9
je 0x40f8b8
cmp al, 0xa
jne 0x40f86d
mov eax, 0x6e5c
add ecx, 2
mov word [ecx - 2], ax
lea esi, [esi]
lea ebx, [edx - 1]
test edx, edx
jle 0x40f64b
cmp ecx, edi
ja 0x40f64b
movzx eax, byte [esi]
mov edx, ebx
add esi, 1
cmp al, 0xd
je 0x40f8f2
jle 0x40f5f0
cmp al, 0x22
je 0x40f8a0
cmp al, 0x5c
jne 0x40f861
mov eax, 0x5c5c
add ecx, 2
mov word [ecx - 2], ax
jmp 0x40f610
mov byte [ecx], 0x22
test ebx, ebx
jle 0x40fa5a
mov edx, 0x2e2e
mov byte [ecx + 3], 0x2e
lea eax, [ecx + 4]
mov word [ecx + 1], dx
mov byte [eax], 0
lea eax, [ebp - 0x144]
mov dword [esp], eax
call dbg.__wine_dbg_strdup
mov esi, dword [ebp - 0x284]
mov dword [esp + 0x10], eax
xor ebx, ebx
mov dword [esp + 0xc], str.unhandled_qXfer__s_read__s__u__u_n
mov dword [esp + 0x1c], esi
mov esi, dword [ebp - 0x288]
mov dword [esp + 8], str.packet_query
mov dword [esp + 0x18], esi
mov esi, dword [ebp - 0x280]
mov dword [esp + 4], global___dbch.0
mov dword [esp + 0x14], esi
mov dword [esp], 1
call sym._wine_dbg_log.constprop.0_3
jmp 0x40e50b
and ebx, 0x80
mov esi, dword [ebp - 0x270]
or ebx, 2
mov eax, dword [ebp + 8]
mov edi, dword [ebp - 0x26c]
call sym._packet_reply_open
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x1bc]
cmp esi, eax
jae 0x40fa15
mov ecx, eax
lea edx, [edi + esi]
sub ecx, esi
cmp ecx, edi
cmova ecx, edi
mov dword [ebp - 0x27c], ecx
mov ecx, 1
cmp eax, edx
ja 0x40f9e5
mov eax, dword [ebp + 8]
mov edx, 0x43d550
call dbg.packet_reply_add_data
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x27c]
add esi, dword [eax + 0x1b8]
mov edx, esi
call dbg.packet_reply_add_data
mov eax, dword [ebp + 8]
call dbg.packet_reply_close
jmp 0x40efe9
lea eax, [eax + eax*2]
mov edx, dword [ebp + 8]
shr eax, 1
cmp eax, ecx
cmovb eax, ecx
mov dword [edx + 0x20], eax
mov dword [esp + 4], eax
mov eax, dword [edx + 0x18]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_realloc]
mov edx, dword [ebp + 8]
mov dword [edx + 0x18], eax
mov edx, dword [edx + 0x1c]
jmp 0x40ecb8
movzx eax, word [ebp - 0x27c]
mov dword [esp], 0x43c244
mov dword [esp + 4], eax
call sym._wine_dbg_sprintf.constprop.0
mov dword [ebp - 0x284], eax
jmp 0x40f159
mov eax, dword [ebp - 0x27c]
mov dword [esp], edi
mov dword [esp + 4], eax
call dword [sym.imp.ucrtbase.dll_strcmp]
test eax, eax
jne 0x40ef9a
mov ebx, 2
test byte [global___dbch.0], 8
je 0x40f6d3
mov dword [esp + 0x10], 3
mov dword [esp + 0xc], str.qXfer_read_result___d__cached__n
mov dword [esp + 8], str.packet_query
mov dword [esp + 4], global___dbch.0
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_3
mov esi, dword [ebp - 0x270]
jmp 0x40f6d3
movzx esi, si
mov dword [esp], 0x43c244
mov dword [esp + 4], esi
call sym._wine_dbg_sprintf.constprop.0
jmp 0x40f261
lea edi, [eax - 0x20]
mov ebx, edi
cmp bl, 0x5e
jbe 0x40f99e
mov ebx, 0x785c
add ecx, 4
mov word [ecx - 4], bx
mov ebx, eax
and eax, 0xf
shr bl, 4
movzx eax, byte [eax + str.0123456789abcdefhandle_exception]
movzx edi, bl
movzx ebx, byte [edi + str.0123456789abcdefhandle_exception]
mov byte [ecx - 1], al
mov byte [ecx - 2], bl
jmp 0x40eaf0
mov eax, 0x225c
add ecx, 2
mov word [ecx - 2], ax
jmp 0x40eaf0
lea ebx, [eax - 0x20]
cmp bl, 0x5e
jbe 0x40f9a8
mov ebx, 0x785c
add ecx, 4
mov word [ecx - 4], bx
mov ebx, eax
and eax, 0xf
shr bl, 4
movzx eax, byte [eax + str.0123456789abcdefhandle_exception]
movzx ebx, bl
movzx ebx, byte [ebx + str.0123456789abcdefhandle_exception]
mov byte [ecx - 1], al
mov byte [ecx - 2], bl
jmp 0x40f610
mov eax, 0x225c
add ecx, 2
mov word [ecx - 2], ax
jmp 0x40f610
mov eax, 0x745c
add ecx, 2
mov word [ecx - 2], ax
jmp 0x40f610
mov eax, 0x745c
add ecx, 2
mov word [ecx - 2], ax
jmp 0x40eaf0
mov eax, 0x725c
add ecx, 2
mov word [ecx - 2], ax
jmp 0x40eaf0
mov eax, 0x725c
add ecx, 2
mov word [ecx - 2], ax
jmp 0x40f610
mov byte [ecx], al
add ecx, 1
jmp 0x40f1f0
mov byte [edi], al
add edi, 1
jmp 0x40f0e0
mov dword [ebp - 0x144], 0x6e6e7552
lea ebx, [ebp - 0x144]
mov dword [ebp - 0x140], 0x676e69
jmp 0x40ec1d
mov word [ebp - 0x144], 0x2222
lea ecx, [ebp - 0x143]
lea eax, [ecx + 1]
jmp 0x40f250
mov word [ebp - 0x144], 0x2222
lea edi, [ebp - 0x143]
lea eax, [edi + 1]
jmp 0x40f142
movzx esi, si
mov dword [esp], 0x43c244
mov dword [esp + 4], esi
call sym._wine_dbg_sprintf.constprop.0
jmp 0x40f677
movzx eax, word [ebp - 0x27c]
mov dword [esp], 0x43c244
mov dword [esp + 4], eax
call sym._wine_dbg_sprintf.constprop.0
mov dword [ebp - 0x280], eax
jmp 0x40f588
mov byte [ecx], al
add ecx, 1
jmp 0x40eaf0
mov byte [ecx], al
add ecx, 1
jmp 0x40f610
mov dword [ebp - 0x144], 0x6e6b6e55
lea ebx, [ebp - 0x144]
mov dword [ebp - 0x140], 0x206e776f
mov dword [ebp - 0x13c], 0x636f7270
mov dword [ebp - 0x138], 0x737365
jmp 0x40ec90
mov eax, dword [ebp + 8]
mov edx, 0x43d52f
call dbg.packet_reply_add_data
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x27c]
add esi, dword [eax + 0x1b8]
mov edx, esi
call dbg.packet_reply_add_data
mov eax, dword [ebp + 8]
call dbg.packet_reply_close
jmp 0x40e50b
mov eax, dword [ebp + 8]
mov ecx, 1
mov edx, 0x43d550
call dbg.packet_reply_add_data
mov eax, dword [ebp + 8]
call dbg.packet_reply_close
jmp 0x40efe9
mov word [ebp - 0x144], 0x2222
lea ecx, [ebp - 0x143]
lea eax, [ecx + 1]
jmp 0x40f571
mov word [ebp - 0x144], 0x2222
lea ecx, [ebp - 0x143]
lea eax, [ecx + 1]
jmp 0x40f666
mov dword [esp], ebx
call sym._strlen
add eax, ebx
mov dword [eax], 0x6572202c
mov dword [eax + 4], 0x69746c61
mov dword [eax + 8], 0x7020656d
mov dword [eax + 0xc], 0x726f6972
mov dword [eax + 0x10], 0x797469
jmp 0x40ec7f
mov dword [esp], ebx
call sym._strlen
add eax, ebx
mov dword [eax], 0x6469202c
mov dword [eax + 4], 0x7020656c
mov dword [eax + 8], 0x726f6972
mov dword [eax + 0xc], 0x797469
jmp 0x40ec7f
mov dword [esp], ebx
call sym._strlen
add eax, ebx
mov dword [eax], 0x6562202c
mov dword [eax + 4], 0x20776f6c
mov dword [eax + 8], 0x6d726f6e
mov dword [eax + 0xc], 0x70206c61
mov dword [eax + 0x10], 0x726f6972
mov dword [eax + 0x14], 0x797469
jmp 0x40ec7f
lea ebx, [ebp - 0x144]
mov eax, str.Unknown_threadID
mov ecx, 0x11
mov edi, ebx
mov esi, eax
rep movsb byte es:[edi], byte [esi]
jmp 0x40eded
lea ebx, [ebp - 0x144]
mov esi, str.No_information
mov ecx, 0xf
mov edi, ebx
rep movsb byte es:[edi], byte [esi]
mov esi, dword [sym.imp.ucrtbase.dll_strlen]
jmp 0x40eeb3
mov eax, dword [ebp - 0x27c]
mov eax, dword [eax + 0xc]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_SuspendThread]
mov dword [ebp - 0x248], eax
push ebx
test eax, eax
je 0x40fb8e
lea ebx, [ebp - 0x144]
cmp eax, 0xffffffff
je 0x40fb76
sub eax, 1
mov dword [esp + 8], str.Suspended___lu_
mov dword [esp + 0xc], eax
mov dword [esp + 4], pe_nt_image_headers32
mov dword [esp], ebx
call sym._snprintf
mov eax, dword [ebp - 0x27c]
mov eax, dword [eax + 0xc]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_ResumeThread]
push ecx
jmp 0x40eded
mov dword [ebp - 0x144], 0x6e6e7552
lea ebx, [ebp - 0x144]
mov dword [ebp - 0x140], 0x676e69
jmp 0x40fb76
mov dword [esp], ebx
call sym._strlen
mov edx, str.__priority_idle
mov ecx, 4
add eax, ebx
mov esi, edx
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov esi, dword [sym.imp.ucrtbase.dll_strlen]
jmp 0x40eeb3
mov dword [esp], ebx
call sym._strlen
mov edx, str.__priority__1_below_normal
add eax, ebx
mov ecx, 0x1b
mov edi, eax
mov esi, edx
rep movsb byte es:[edi], byte [esi]
mov esi, dword [sym.imp.ucrtbase.dll_strlen]
jmp 0x40eeb3
mov dword [esp], ebx
call sym._strlen
mov edx, str.__priority__2_below_normal
add eax, ebx
jmp 0x40fbde
mov dword [esp], ebx
call sym._strlen
mov edx, str.__priority_time_critical
mov ecx, 0x19
add eax, ebx
mov esi, edx
mov edi, eax
rep movsb byte es:[edi], byte [esi]
mov esi, dword [sym.imp.ucrtbase.dll_strlen]
jmp 0x40eeb3
mov dword [esp], ebx
call sym._strlen
mov edx, str.__priority_2_above_normal
add eax, ebx
jmp 0x40fbde
mov dword [esp], ebx
call sym._strlen
mov edx, str.__priority_1_above_normal
add eax, ebx
jmp 0x40fbde
mov dword [esp], ebx
call sym._strlen
mov edx, str.__priority_normal
mov ecx, 0x12
add eax, ebx
mov esi, edx
mov edi, eax
rep movsb byte es:[edi], byte [esi]
mov esi, dword [sym.imp.ucrtbase.dll_strlen]
jmp 0x40eeb3
mov dword [esp + 8], 0x682
mov dword [esp + 4], str._home_ubuntu_buildbot_runners_wine_wine_src_programs_winedbg_gdbproxy.c
mov dword [esp], str._len__1___0__len___2__sizeof_buffer_
call dword [sym.imp.ucrtbase.dll__assert]
mov dword [esp + 8], 0x810
mov dword [esp + 4], str._home_ubuntu_buildbot_runners_wine_wine_src_programs_winedbg_gdbproxy.c
mov dword [esp], str.gdbctx__process___list_empty_gdbctx__process__threads_
call dword [sym.imp.ucrtbase.dll__assert]
lea esi, [esi]
nop