Function at 0x403630
Capabilities:
Get graphical window text
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x278
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
cmp eax, 0x110
je 0x4036e8
ja 0x403690
cmp eax, 0x18
je 0x4036d0
cmp eax, 0x4e
jne case.0x403d82.1046
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 8]
cmp eax, 0xffffff37
je 0x403d90
cmp eax, 0xffffff9b
je 0x403a18
cmp eax, 0xffffff36
je 0x4039e8
lea esp, [ebp - 0xc]
xor eax, eax
pop ebx
pop esi
pop edi
pop ebp
ret 0x10
cmp eax, 0x111
jne case.0x403d82.1046
mov ebx, dword [ebp + 0x10]
shr ebx, 0x10
cmp ebx, 1
je 0x403d40
cmp ebx, 0x300
je 0x403a40
test ebx, ebx
je 0x403d18
movzx esi, word [ebp + 0x10]
lea ecx, [esi - 0x413]
cmp ecx, 0x21
ja case.0x403d82.1046
jmp dword [ecx*4 + 0x417e2c]
mov dword [esp], edi
call sym._set_window_title
lea esp, [ebp - 0xc]
xor eax, eax
pop ebx
pop esi
pop edi
pop ebp
ret 0x10
mov dword [esp], edi
mov ebx, dword [sym.imp.user32.dll_GetDlgItem]
lea esi, [ebp - 0x214]
mov dword [esp + 4], 0x412
call ebx
lea edx, [ebp - 0x250]
sub esp, 8
mov dword [esp + 4], edx
mov dword [esp], eax
call dword [sym.imp.user32.dll_GetClientRect]
mov ecx, dword [ebp - 0x248]
mov edx, 0x2aaaaaab
sub ecx, dword [ebp - 0x250]
mov eax, ecx
sar ecx, 0x1f
sub esp, 8
imul edx
mov dword [esp], 0
sub edx, ecx
lea eax, [edx - 5]
mov dword [ebp - 0x254], eax
mov eax, dword [sym.imp.kernel32.dll_GetModuleHandleW]
mov dword [ebp - 0x25c], eax
call eax
sub esp, 4
mov dword [esp], eax
mov eax, dword [sym.imp.user32.dll_LoadStringW]
mov dword [esp + 0xc], 0x40
mov dword [esp + 8], esi
mov dword [esp + 4], 0x2010
mov dword [ebp - 0x258], eax
call eax
mov dword [ebp - 0x234], esi
mov dword [ebp - 0x240], 0xe
sub esp, 0x10
cmp word [ebp - 0x214], 0
je 0x403e58
mov eax, esi
lea esi, [esi]
nop
add eax, 2
cmp word [eax], 0
jne 0x4037a0
sub eax, esi
sar eax, 1
mov ecx, dword [sym.imp.user32.dll_SendDlgItemMessageW]
mov dword [ebp - 0x230], eax
lea edx, [ebp - 0x240]
mov eax, dword [ebp - 0x254]
mov dword [esp + 0x10], edx
mov dword [ebp - 0x260], ecx
mov dword [ebp - 0x238], eax
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x1061
mov dword [esp + 4], 0x412
mov dword [esp], edi
call ecx
mov edx, dword [ebp - 0x25c]
sub esp, 0x14
mov dword [esp], 0
call edx
mov edx, dword [ebp - 0x258]
sub esp, 4
mov dword [esp + 0xc], 0x40
mov dword [esp + 8], esi
mov dword [esp + 4], 0x2011
mov dword [esp], eax
call edx
mov eax, dword [ebp - 0x248]
sub eax, dword [ebp - 0x250]
mov dword [ebp - 0x234], esi
sub eax, dword [ebp - 0x254]
sub esp, 0x10
cmp word [ebp - 0x214], 0
mov dword [ebp - 0x238], eax
mov ecx, dword [ebp - 0x260]
lea edx, [ebp - 0x240]
je 0x404368
mov eax, esi
lea esi, [esi]
nop
add eax, 2
cmp word [eax], 0
jne 0x403868
sub eax, esi
sar eax, 1
mov dword [esp + 0x10], edx
mov dword [ebp - 0x230], eax
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0x1061
mov dword [esp + 4], 0x412
mov dword [esp], edi
call ecx
sub esp, 0x14
call sym._load_drives
mov dword [esp + 4], 0x411
mov dword [esp], edi
test eax, eax
jne 0x403dd0
call ebx
mov esi, dword [sym.imp.user32.dll_ShowWindow]
sub esp, 8
mov dword [esp + 4], 5
mov dword [esp], eax
call esi
sub esp, 8
mov dword [esp], edi
mov dword [esp + 4], 0x412
call ebx
sub esp, 8
mov dword [esp + 4], 0
mov dword [esp], eax
call esi
sub esp, 8
mov dword [esp], edi
mov dword [esp + 4], 0x413
call ebx
sub esp, 8
mov dword [esp + 4], 0
mov dword [esp], eax
call esi
sub esp, 8
mov dword [esp], edi
mov dword [esp + 4], 0x414
call ebx
sub esp, 8
mov dword [esp + 4], 0
mov dword [esp], eax
call esi
sub esp, 8
mov dword [esp], edi
mov dword [esp + 4], 0x427
call ebx
sub esp, 8
mov dword [esp + 4], 0
mov dword [esp], eax
call esi
sub esp, 8
mov dword [esp], edi
mov dword [esp + 4], 0x425
call ebx
sub esp, 8
mov dword [esp + 4], 0
mov dword [esp], eax
call esi
sub esp, 8
mov dword [esp], edi
mov dword [esp + 4], 0x42b
call ebx
sub esp, 8
mov dword [esp + 4], 0
mov dword [esp], eax
call esi
sub esp, 8
mov dword [esp], edi
mov dword [esp + 4], 0x429
call ebx
sub esp, 8
mov dword [esp + 4], 0
mov dword [esp], eax
call esi
sub esp, 8
mov dword [esp], edi
mov dword [esp + 4], 0x434
call ebx
sub esp, 8
mov dword [esp + 4], 0
mov dword [esp], eax
call esi
mov eax, edi
sub esp, 8
call sym._set_advanced
lea esp, [ebp - 0xc]
xor eax, eax
pop ebx
pop esi
pop edi
pop ebp
ret 0x10
call sym._apply_drive_changes
mov dword [esp], edi
mov dword [esp + 8], 0
mov dword [esp + 4], 0
call dword [sym.imp.user32.dll_SetWindowLongW]
xor eax, eax
sub esp, 0xc
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret 0x10
mov eax, dword [ebp + 0x14]
test byte [eax + 0x18], 2
jne case.0x403d82.1046
test byte [eax + 0x14], 2
je case.0x403d82.1046
mov eax, edi
call sym._update_controls
jmp case.0x403d82.1046
mov eax, dword [0x416ed4]
movzx esi, word [ebp + 0x10]
test eax, eax
jne 0x4036be
test byte [0x415060], 8
jne 0x404385
cmp word [ebp + 0x10], 0x426
je 0x4043b2
ja 0x40428d
cmp word [ebp + 0x10], 0x424
je 0x4044c0
cmp word [ebp + 0x10], 0x425
jne 0x4036be
mov dword [esp + 4], esi
mov dword [esp], edi
call dword [sym.imp.user32.dll_GetDlgItem]
sub esp, 8
mov dword [ebp - 0x254], eax
mov dword [esp], eax
call dword [sym.imp.user32.dll_GetWindowTextLengthW]
sub esp, 4
inc eax
mov edx, eax
je 0x40473d
add eax, eax
mov dword [ebp - 0x260], edx
mov dword [esp], eax
mov eax, dword [sym.imp.ucrtbase.dll_malloc]
mov dword [ebp - 0x25c], eax
call eax
mov dword [ebp - 0x258], eax
test eax, eax
je 0x404748
mov edx, dword [ebp - 0x260]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x254]
mov dword [esp + 8], edx
mov dword [esp], eax
call dword [sym.imp.user32.dll_GetWindowTextW]
mov edx, dword [sym.imp.ucrtbase.dll_free]
sub esp, 0xc
mov dword [ebp - 0x254], edx
test eax, eax
je 0x404b37
mov eax, dword [ebp - 0x258]
mov edx, dword [sym.imp.kernel32.dll_WideCharToMultiByte]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov dword [esp], 0xfdf2
mov dword [ebp - 0x260], edx
call edx
sub esp, 0x20
test eax, eax
je 0x40460c
mov dword [esp], eax
mov ecx, dword [ebp - 0x25c]
mov dword [ebp - 0x264], eax
call ecx
mov ecx, dword [ebp - 0x264]
mov edx, dword [ebp - 0x260]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x10], eax
mov dword [ebp - 0x264], eax
mov eax, dword [ebp - 0x258]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], 0
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov dword [esp], 0xfdf2
call edx
mov eax, dword [0x415a4c]
sub esp, 0x20
mov ecx, dword [eax + 4]
mov dword [ebp - 0x25c], eax
mov eax, dword [ebp - 0x254]
mov dword [esp], ecx
call eax
mov edx, dword [ebp - 0x264]
mov eax, dword [ebp - 0x25c]
test edx, edx
je 0x4046b6
mov dword [eax + 4], edx
mov dword [eax + 0x1c], 1
test byte [0x415060], 8
jne 0x404710
mov ecx, dword [sym.imp.user32.dll_SendDlgItemMessageW]
mov dword [esp + 0x10], 2
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], 0x100c
mov dword [esp + 4], 0x412
mov dword [esp], edi
mov dword [ebp - 0x25c], ecx
call ecx
sub esp, 0x14
test eax, eax
js 0x403cc1
mov dword [ebp - 0x210], eax
mov eax, dword [ebp - 0x258]
mov dword [ebp - 0x214], 1
mov ecx, dword [ebp - 0x25c]
cmp word [eax], 0
mov dword [ebp - 0x200], eax
mov dword [ebp - 0x20c], 1
je 0x404b0e
lea esi, [esi]
add eax, 2
cmp word [eax], 0
jne 0x403c80
sub eax, dword [ebp - 0x258]
mov dword [esp + 0xc], 0
sar eax, 1
mov dword [esp + 8], 0x104c
mov dword [ebp - 0x1fc], eax
lea eax, [ebp - 0x214]
mov dword [esp + 0x10], eax
mov dword [esp + 4], 0x412
mov dword [esp], edi
call ecx
sub esp, 0x14
mov eax, dword [ebp - 0x258]
mov dword [esp], eax
mov eax, dword [ebp - 0x254]
call eax
mov dword [esp], edi
call dword [sym.imp.user32.dll_GetParent]
sub esp, 4
mov dword [esp + 0xc], 0
mov dword [esp + 8], edi
mov dword [esp + 4], 0x468
mov dword [esp], eax
call dword [sym.imp.user32.dll_SendMessageW]
lea ecx, [esi - 0x414]
sub esp, 0x10
cmp ecx, 0x20
ja case.0x403d82.1046
jmp dword [ecx*4 + 0x417eb4]
cmp dword [ebp + 0x10], 0x438
je 0x403e5f
mov eax, dword [ebp + 0x10]
sub eax, 0x413
cmp eax, 0x21
ja case.0x403d82.1046
jmp dword [eax*4 + 0x417f38]
mov dword [esp], edi
call dword [sym.imp.user32.dll_GetParent]
sub esp, 4
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x468
mov dword [esp], eax
call dword [sym.imp.user32.dll_SendMessageW]
movzx eax, word [ebp + 0x10]
sub esp, 0x10
sub eax, 0x413
cmp eax, 0x21
ja case.0x403d82.1046
jmp dword [eax*4 + 0x417fc0]
test byte [0x415060], 8
je 0x4039ed
mov dword [esp + 0xc], str.PSN_KILLACTIVE_n
mov dword [esp + 8], str.DriveDlgProc
mov dword [esp + 4], 0x415060
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_3
jmp 0x4039ed
call ebx
sub esp, 8
mov dword [esp + 4], 0
mov dword [esp], eax
call dword [sym.imp.user32.dll_ShowWindow]
mov eax, dword [0x415a44]
sub esp, 8
mov dword [esp + 0xc], 0x417d70
mov dword [esp + 8], 0x417d74
mov dword [esp + 4], 0x417d8e
mov dword [esp], eax
call sym._get_reg_key
mov dword [esp + 4], 0x417d90
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_wcscmp]
test eax, eax
je 0x404340
mov eax, dword [0x415ab8]
test eax, eax
je 0x404240
mov eax, edi
call sym._fill_drives_list
mov eax, edi
call sym._update_controls
mov eax, edi
call sym._set_advanced
lea esp, [ebp - 0xc]
xor eax, eax
pop ebx
pop esi
pop edi
pop ebp
ret 0x10
xor eax, eax
jmp 0x4037ad
mov dword [esp + 4], 0x438
mov dword [esp], edi
call dword [sym.imp.user32.dll_IsDlgButtonChecked]
sub esp, 8
cmp eax, 1
je 0x4045ff
mov dword [esp + 0xc], 0x417d70
mov eax, dword [0x415a44]
mov dword [esp + 8], 0x417d74
mov dword [esp + 4], 0x417d8e
mov dword [esp], eax
call sym._set_reg_key
mov dword [esp], edi
call dword [sym.imp.user32.dll_GetParent]
sub esp, 4
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x468
mov dword [esp], eax
call dword [sym.imp.user32.dll_SendMessageW]
sub esp, 0x10
jmp case.0x403d82.1046
lea ebx, [ebp - 0x214]
mov dword [esp], edi
mov dword [esp + 4], ebx
call sym._browse_for_unix_folder
test eax, eax
je case.0x403d82.1046
mov dword [esp + 4], 0x425
mov dword [esp], edi
call dword [sym.imp.user32.dll_GetDlgItem]
sub esp, 8
mov dword [esp + 4], ebx
mov dword [esp], eax
call dword [sym.imp.user32.dll_SetWindowTextW]
sub esp, 8
jmp case.0x403d82.1046
mov edx, dword [0x4150d0]
xor eax, eax
test edx, edx
sete al
mov dword [0x4150d0], eax
mov eax, edi
call sym._set_advanced
jmp case.0x403d82.1046
test ebx, ebx
jne case.0x403d82.1046
mov dword [esp + 0x10], 2
mov esi, dword [sym.imp.user32.dll_SendDlgItemMessageW]
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], 0x100c
mov dword [esp + 4], 0x412
mov dword [esp], edi
call esi
sub esp, 0x14
mov ebx, eax
cmp eax, 0xffffffff
je case.0x403d82.1046
mov dword [ebp - 0x210], eax
lea eax, [ebp - 0x214]
mov dword [ebp - 0x214], 4
mov dword [ebp - 0x20c], 0
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x104b
mov dword [esp + 4], 0x412
mov dword [esp], edi
call esi
mov edx, dword [ebp - 0x1f4]
sub esp, 0x14
test byte [0x415060], 8
jne 0x4047d8
cmp byte [edx], 0x43
je 0x404762
mov dword [esp], edx
call sym._delete_drive
mov eax, edi
call sym._fill_drives_list
dec ebx
mov edx, 0
cmovns edx, ebx
mov eax, edi
call sym._lv_set_curr_select
mov dword [esp + 4], 0x412
mov dword [esp], edi
call dword [sym.imp.user32.dll_GetDlgItem]
sub esp, 8
mov dword [esp], eax
call dword [sym.imp.user32.dll_SetFocus]
mov eax, edi
sub esp, 4
call sym._update_controls
mov dword [esp], edi
call dword [sym.imp.user32.dll_GetParent]
sub esp, 4
mov dword [esp + 0xc], 0
mov dword [esp + 8], edi
mov dword [esp + 4], 0x468
mov dword [esp], eax
call dword [sym.imp.user32.dll_SendMessageW]
sub esp, 0x10
jmp case.0x403d82.1046
test ebx, ebx
jne case.0x403d82.1046
mov dword [esp], 0
mov ebx, 1
call sym._drive_available_mask
mov ecx, 2
not eax
jmp 0x404082
inc ecx
cmp ecx, 0x1a
je 0x4045b2
mov esi, ebx
lea edx, [ecx + 0x41]
shl esi, cl
test esi, eax
jne 0x404078
movsx edx, dl
mov dword [esp + 0xc], sym._drivechoose_dlgproc_16
mov dword [esp + 0x10], edx
mov dword [esp + 8], edi
mov dword [esp + 4], 0x2013
mov dword [esp], 0
call dword [sym.imp.user32.dll_DialogBoxParamW]
sub esp, 0x14
mov ebx, eax
cmp eax, 0xffffffff
je case.0x403d82.1046
movsx esi, al
test byte [0x415060], 8
jne 0x404a0c
cmp bl, 0x43
je 0x4049a1
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x417e0b
mov dword [esp], esi
call sym._add_drive
mov eax, edi
call sym._fill_drives_list
mov dword [esp], 0
call sym._drive_available_mask
xor edx, edx
xor ecx, ecx
not eax
mov ebx, eax
lea eax, [esi - 0x41]
jmp 0x404149
mov esi, 1
shl esi, cl
and esi, ebx
cmp esi, 1
sbb edx, 0xffffffff
inc ecx
cmp ecx, 0x1a
je 0x403ff0
cmp eax, ecx
jne 0x404130
jmp 0x403ff0
test ebx, ebx
jne case.0x403d82.1046
mov ebx, dword [sym.imp.user32.dll_GetDlgItem]
mov dword [esp + 4], 0x412
mov dword [esp], edi
call ebx
mov esi, dword [sym.imp.user32.dll_SendMessageW]
sub esp, 8
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x188
mov dword [esp], eax
call esi
sub esp, 0x10
mov dword [ebp - 0x254], eax
mov dword [esp + 4], 0x412
mov dword [esp], edi
call ebx
mov edx, dword [ebp - 0x254]
sub esp, 8
mov dword [esp + 0xc], 0
mov dword [esp + 8], edx
mov dword [esp + 4], 0x199
mov dword [esp], eax
call esi
sub esp, 0x10
jmp case.0x403d82.1046
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x147
mov dword [esp + 4], 0x429
mov dword [esp], edi
call dword [sym.imp.user32.dll_SendDlgItemMessageW]
sub esp, 0x14
test eax, eax
js 0x4046cf
mov ebx, dword [eax*8 + 0x4236a0]
cmp ebx, 5
je 0x404997
mov edx, 2
cmp ebx, 2
je 0x404997
mov eax, edi
call sym._enable_labelserial_box
mov eax, dword [0x415a4c]
mov dword [eax + 0x14], ebx
mov dword [eax + 0x1c], 1
jmp case.0x403d82.1046
mov dword [esp], 0xd
call sym._load_string
mov dword [esp], 0x2012
mov esi, eax
call sym._load_string
mov dword [esp + 8], esi
mov ebx, eax
mov dword [esp], edi
mov dword [esp + 0xc], 0x30
mov dword [esp + 4], eax
call dword [sym.imp.user32.dll_MessageBoxW]
sub esp, 0x10
mov dword [esp], esi
mov esi, dword [sym.imp.ucrtbase.dll_free]
call esi
mov dword [esp], ebx
call esi
jmp 0x403e34
cmp word [ebp + 0x10], 0x42a
jne 0x40436f
mov dword [esp + 4], esi
mov dword [esp], edi
call dword [sym.imp.user32.dll_GetDlgItem]
sub esp, 8
mov dword [ebp - 0x254], eax
mov dword [esp], eax
call dword [sym.imp.user32.dll_GetWindowTextLengthW]
sub esp, 4
inc eax
mov edx, eax
je 0x40488b
add eax, eax
mov dword [ebp - 0x258], edx
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_malloc]
test eax, eax
je 0x40488b
mov edx, dword [ebp - 0x258]
mov dword [esp + 4], eax
mov dword [ebp - 0x258], eax
mov eax, dword [ebp - 0x254]
mov dword [esp + 8], edx
mov dword [esp], eax
call dword [sym.imp.user32.dll_GetWindowTextW]
mov edx, dword [sym.imp.ucrtbase.dll_free]
mov ecx, dword [ebp - 0x258]
sub esp, 0xc
test eax, eax
mov dword [ebp - 0x254], edx
je 0x404b6c
mov dword [esp], ecx
mov eax, dword [ebp - 0x254]
call eax
lea ecx, [esi - 0x414]
cmp ecx, 0x20
ja case.0x403d82.1046
jmp dword [ecx*4 + 0x418048]
mov dword [esp + 8], 1
mov dword [esp + 4], 0x438
mov dword [esp], edi
call dword [sym.imp.user32.dll_CheckDlgButton]
sub esp, 0xc
jmp 0x403e27
xor eax, eax
jmp 0x403875
lea ecx, [esi - 0x413]
cmp ecx, 0x21
ja case.0x403d82.1046
jmp dword [ecx*4 + 0x4180cc]
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], str.edit_id__d_changed_n
mov dword [esp + 8], str.on_edit_changed
mov dword [esp + 4], 0x415060
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_3
jmp 0x403a5e
mov dword [esp + 4], esi
mov dword [esp], edi
call dword [sym.imp.user32.dll_GetDlgItem]
sub esp, 8
mov dword [ebp - 0x254], eax
mov dword [esp], eax
call dword [sym.imp.user32.dll_GetWindowTextLengthW]
sub esp, 4
inc eax
mov edx, eax
je 0x40489d
add eax, eax
mov dword [ebp - 0x258], edx
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_malloc]
test eax, eax
je 0x40489d
mov edx, dword [ebp - 0x258]
mov dword [esp + 4], eax
mov dword [ebp - 0x258], eax
mov eax, dword [ebp - 0x254]
mov dword [esp + 8], edx
mov dword [esp], eax
call dword [sym.imp.user32.dll_GetWindowTextW]
mov ecx, dword [ebp - 0x258]
sub esp, 0xc
test eax, eax
je 0x404b78
mov dword [esp], ecx
mov dword [ebp - 0x258], ecx
mov dword [esp + 8], 0x10
mov dword [esp + 4], 0
call dword [sym.imp.ucrtbase.dll_wcstoul]
mov edx, dword [sym.imp.ucrtbase.dll_free]
mov ecx, dword [ebp - 0x258]
mov dword [ebp - 0x254], edx
mov edx, dword [0x415a4c]
mov dword [edx + 0x10], eax
mov eax, dword [ebp - 0x254]
mov dword [ebp - 0x258], edx
mov dword [esp], ecx
call eax
mov edx, dword [ebp - 0x258]
mov dword [edx + 0x1c], 1
test byte [0x415060], 8
jne 0x4046e0
mov dword [esp], edi
call dword [sym.imp.user32.dll_GetParent]
sub esp, 4
mov dword [esp + 0xc], 0
mov dword [esp + 8], edi
mov dword [esp + 4], 0x468
mov dword [esp], eax
call dword [sym.imp.user32.dll_SendMessageW]
sub esp, 0x10
jmp 0x404328
mov dword [esp + 4], esi
mov dword [esp], edi
call dword [sym.imp.user32.dll_GetDlgItem]
sub esp, 8
mov dword [ebp - 0x258], eax
mov dword [esp], eax
call dword [sym.imp.user32.dll_GetWindowTextLengthW]
sub esp, 4
inc eax
mov edx, eax
je 0x404814
add eax, eax
mov dword [ebp - 0x25c], edx
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_malloc]
mov edx, dword [ebp - 0x25c]
test eax, eax
mov dword [ebp - 0x254], eax
je 0x404814
mov eax, dword [ebp - 0x254]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x258]
mov dword [esp], eax
call dword [sym.imp.user32.dll_GetWindowTextW]
sub esp, 0xc
test eax, eax
je 0x404b51
mov eax, dword [0x415a4c]
mov edx, dword [eax + 0xc]
mov dword [ebp - 0x258], eax
mov dword [esp], edx
call dword [sym.imp.ucrtbase.dll_free]
mov eax, dword [ebp - 0x258]
mov edx, dword [ebp - 0x254]
mov dword [eax + 0x1c], 1
mov dword [eax + 0xc], edx
test byte [0x415060], 8
jne 0x4048b2
mov dword [esp], edi
call dword [sym.imp.user32.dll_GetParent]
sub esp, 4
mov dword [esp + 0xc], 0
mov dword [esp + 8], edi
mov dword [esp + 4], 0x468
mov dword [esp], eax
call dword [sym.imp.user32.dll_SendMessageW]
lea ecx, [esi - 0x413]
sub esp, 0x10
cmp ecx, 0x21
jbe switch.0x0040437e
jmp case.0x403d82.1046
mov dword [esp], 0xd
call sym._load_string
mov dword [esp], 0x200d
mov esi, eax
call sym._load_string
mov dword [esp + 8], esi
mov ebx, eax
mov dword [esp], edi
mov dword [esp + 0xc], 0x30
mov dword [esp + 4], eax
call dword [sym.imp.user32.dll_MessageBoxW]
sub esp, 0x10
mov dword [esp], esi
mov esi, dword [sym.imp.ucrtbase.dll_free]
call esi
mov dword [esp], ebx
call esi
jmp case.0x403d82.1046
mov dword [esp + 0xc], 0x417d90
jmp 0x403e84
mov edx, dword [sym.imp.kernel32.dll_MultiByteToWideChar]
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [ebp - 0x264], edx
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], str.drive_c
mov dword [esp + 4], 0
mov dword [esp], 0xfdf2
call edx
mov ecx, eax
sub esp, 0x18
add eax, eax
mov dword [esp], eax
mov eax, dword [ebp - 0x25c]
mov dword [ebp - 0x260], ecx
call eax
mov dword [ebp - 0x258], eax
test eax, eax
je 0x4046a3
mov ecx, dword [ebp - 0x260]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0xffffffff
mov edx, dword [ebp - 0x264]
mov dword [esp + 0x14], ecx
mov dword [esp + 8], str.drive_c
mov dword [esp + 4], 0
mov dword [esp], 0xfdf2
call edx
sub esp, 0x18
mov eax, dword [0x415a4c]
mov eax, dword [eax + 4]
mov dword [esp], eax
mov eax, dword [ebp - 0x254]
call eax
mov dword [esp], str.drive_c
call dword [sym.imp.ucrtbase.dll__strdup]
mov edx, eax
mov eax, dword [0x415a4c]
jmp 0x403bf5
mov ebx, dword [eax*8 + 0x4236a0]
mov edx, 2
jmp 0x404225
mov eax, dword [edx + 0x10]
mov dword [esp + 0xc], str.set_serial_to__08lX_n
mov dword [esp + 8], str.on_edit_changed
mov dword [esp + 0x10], eax
mov dword [esp + 4], 0x415060
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_3
jmp 0x40448f
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], str.set_path_to__s_n
mov dword [esp + 8], str.on_edit_changed
mov dword [esp + 4], 0x415060
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_3
jmp 0x403c0c
mov eax, dword [sym.imp.ucrtbase.dll_malloc]
mov dword [ebp - 0x25c], eax
mov dword [ebp - 0x258], 0
mov eax, dword [sym.imp.ucrtbase.dll_free]
mov dword [ebp - 0x254], eax
jmp 0x403b0d
mov dword [esp], 0xd
mov dword [ebp - 0x25c], edx
call sym._load_string
mov dword [esp], 0x200f
mov esi, eax
call sym._load_string
mov dword [esp + 8], esi
mov dword [esp + 0xc], 0x34
mov dword [esp + 4], eax
mov dword [ebp - 0x258], eax
mov dword [esp], edi
call dword [sym.imp.user32.dll_MessageBoxW]
sub esp, 0x10
mov dword [ebp - 0x254], eax
mov dword [esp], esi
mov esi, dword [sym.imp.ucrtbase.dll_free]
call esi
mov ecx, dword [ebp - 0x258]
mov dword [esp], ecx
call esi
cmp dword [ebp - 0x254], 7
mov edx, dword [ebp - 0x25c]
jne 0x403fd8
jmp case.0x403d82.1046
mov eax, dword [edx + 4]
mov dword [esp + 0xc], str.unixpath:__s_n
mov dword [esp + 8], str.on_remove_click
mov dword [esp + 0x10], eax
mov dword [esp + 4], 0x415060
mov dword [esp], 3
mov dword [ebp - 0x254], edx
call sym._wine_dbg_log.constprop.0_3
mov edx, dword [ebp - 0x254]
jmp 0x403fcf
mov eax, dword [sym.imp.ucrtbase.dll_free]
mov dword [ebp - 0x254], eax
mov eax, dword [0x415a4c]
mov edx, dword [eax + 0xc]
mov dword [ebp - 0x258], eax
mov eax, dword [ebp - 0x254]
mov dword [esp], edx
call eax
mov eax, dword [ebp - 0x258]
mov dword [eax + 0xc], 0
mov dword [eax + 0x1c], 1
test byte [0x415060], 8
je 0x404572
mov edx, 0x417d69
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], str.set_label_to__s_n
mov dword [esp + 8], str.on_edit_changed
mov dword [esp + 4], 0x415060
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_3
jmp 0x404572
mov eax, dword [sym.imp.ucrtbase.dll_free]
xor ecx, ecx
mov dword [ebp - 0x254], eax
jmp 0x40431d
mov edx, dword [sym.imp.ucrtbase.dll_free]
xor ecx, ecx
xor eax, eax
mov dword [ebp - 0x254], edx
jmp 0x40445b
mov eax, dword [ebp - 0x254]
shr eax, 0x10
je 0x404b19
mov edx, dword [ebp - 0x254]
mov dword [esp + 4], 0xffffffff
mov dword [esp], edx
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov edx, 0x417d5f
sub esp, 8
test eax, eax
jne 0x40485e
mov edx, dword [ebp - 0x254]
cmp word [edx], 0
je 0x404b91
mov ecx, eax
lea eax, [eax + 1]
cmp word [edx + ecx*2 + 2], 0
jne 0x4048f8
mov dword [ebp - 0x25c], esi
lea eax, [ebp - 0x212]
mov esi, dword [ebp - 0x254]
mov word [ebp - 0x214], 0x224c
mov dword [ebp - 0x258], ebx
jmp 0x404963
cmp dx, 9
je 0x404a39
cmp dx, 0xa
jne 0x404a68
mov ebx, 0x6e5c
add eax, 2
mov word [eax - 2], bx
lea ebx, [ebp - 0xf2]
lea edx, [ecx - 1]
cmp eax, ebx
ja 0x404aca
test ecx, ecx
jle 0x404aca
mov ecx, edx
movzx edx, word [esi]
add esi, 2
cmp dx, 0xd
je 0x404a4a
jbe 0x404928
cmp dx, 0x22
je 0x404ab9
cmp dx, 0x5c
jne 0x404a5b
mov ebx, 0x5c5c
add eax, 2
mov word [eax - 2], bx
jmp 0x404948
mov edx, 1
jmp 0x404225
mov dword [esp], 0
lea ebx, [ebp - 0x214]
call dword [sym.imp.kernel32.dll_GetModuleHandleW]
sub esp, 4
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 0x40
mov dword [esp + 4], 0x200e
mov dword [esp], eax
call dword [sym.imp.user32.dll_LoadStringW]
sub esp, 0x10
mov dword [esp + 0x14], 3
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0
mov dword [esp + 4], str..._drive_c
mov dword [esp], 0x43
call sym._add_drive
jmp 0x40410c
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], str.selected_drive_letter__c_n
mov dword [esp + 8], str.on_add_click
mov dword [esp + 4], 0x415060
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_3
jmp 0x4040d3
mov ebx, 0x745c
add eax, 2
mov word [eax - 2], bx
jmp 0x404948
mov edx, 0x725c
add eax, 2
mov word [eax - 2], dx
jmp 0x404948
lea ebx, [edx - 0x20]
cmp bx, 0x5e
jbe 0x404b06
mov ebx, edx
mov byte [eax], 0x5c
add eax, 5
shr bx, 0xc
movzx ebx, bx
movzx ebx, byte [ebx + 0x423400]
mov byte [eax - 4], bl
mov ebx, edx
shr bx, 8
and ebx, 0xf
movzx ebx, byte [ebx + 0x423400]
mov byte [eax - 3], bl
mov ebx, edx
and edx, 0xf
shr bx, 4
movzx edx, byte [edx + 0x423400]
and ebx, 0xf
movzx ebx, byte [ebx + 0x423400]
mov byte [eax - 1], dl
mov byte [eax - 2], bl
jmp 0x404948
mov edx, 0x225c
add eax, 2
mov word [eax - 2], dx
jmp 0x404948
mov ebx, dword [ebp - 0x258]
mov esi, dword [ebp - 0x25c]
mov byte [eax], 0x22
test edx, edx
jle 0x404ba7
mov word [eax + 1], 0x2e2e
lea edx, [eax + 4]
mov byte [eax + 3], 0x2e
lea eax, [ebp - 0x214]
mov byte [edx], 0
mov dword [esp], eax
call sym.___wine_dbg_strdup
mov edx, eax
jmp 0x40485e
mov byte [eax], dl
inc eax
jmp 0x404948
mov eax, dword [ebp - 0x258]
jmp 0x403c89
movzx eax, word [ebp - 0x254]
mov dword [esp], 0x417cfc
mov dword [esp + 4], eax
call sym._wine_dbg_sprintf.constprop.0_3
mov edx, eax
jmp 0x40485e
mov eax, dword [ebp - 0x258]
mov dword [esp], eax
call edx
mov dword [ebp - 0x258], 0
jmp 0x403b0d
mov eax, dword [ebp - 0x254]
mov dword [esp], eax
mov eax, dword [sym.imp.ucrtbase.dll_free]
mov dword [ebp - 0x254], eax
call eax
jmp 0x40481f
mov dword [esp], ecx
call edx
xor ecx, ecx
jmp 0x40431d
mov eax, dword [sym.imp.ucrtbase.dll_free]
mov dword [esp], ecx
mov dword [ebp - 0x254], eax
call eax
xor ecx, ecx
xor eax, eax
jmp 0x40445b
mov word [ebp - 0x214], 0x224c
lea eax, [ebp - 0x212]
mov byte [ebp - 0x212], 0x22
lea edx, [eax + 1]
jmp 0x404aee