Function at 0x69070020
Capabilities:
Inspect load icon resource

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
mov ebx, edx
sub esp, 0x1ec
mov esi, dword [edx + 4]
mov dword [ebp - 0x1bc], eax
mov edi, dword [sym.imp.user32.dll_LoadImageW]
mov eax, dword [esi + 0x14]
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
and eax, 0x40
mov dword [esp + 0xc], 0
cmp eax, 1
mov eax, dword [0x6908d004]
mov dword [esp + 8], 1
sbb ecx, ecx
mov dword [esp + 4], str.PD32_COLLATE
and ecx, 3
mov dword [esp], eax
add ecx, 0x470
mov dword [ebp - 0x1c0], ecx
call edi
mov dword [ebx + 0x14], eax
mov eax, dword [0x6908d004]
sub esp, 0x18
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 1
mov dword [esp + 4], str.PD32_NOCOLLATE
mov dword [esp], eax
call edi
mov edi, dword [sym.imp.user32.dll_LoadIconW]
mov dword [ebx + 0x18], eax
mov eax, dword [0x6908d004]
sub esp, 0x18
mov dword [esp + 4], str.PD32_PORTRAIT
mov dword [esp], eax
call edi
mov dword [ebx + 0x1c], eax
mov eax, dword [0x6908d004]
sub esp, 8
mov dword [esp + 4], 0x6907d688
mov dword [esp], eax
call edi
mov dword [ebx + 0x20], eax
mov eax, dword [ebx + 0x18]
sub esp, 8
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x1bc]
mov dword [esp + 8], 0x172
mov dword [esp + 4], 0x43e
mov dword [esp], eax
call dword [sym.imp.user32.dll_SendDlgItemMessageW]
mov edi, dword [ebx + 0x14]
sub esp, 0x14
test edi, edi
je 0x69070150
mov ecx, dword [ebx + 0x18]
test ecx, ecx
je 0x69070150
mov edx, dword [ebx + 0x1c]
test edx, edx
je 0x69070150
mov eax, dword [ebx + 0x20]
test eax, eax
jne 0x69070183
lea esi, [esi]
test byte [0x690760c0], 2
jne 0x69070400
mov dword [esp], 7
call fcn.69041890
mov eax, dword [ebp - 0x1bc]
mov dword [esp + 4], 0
mov dword [esp], eax
call dword [sym.imp.user32.dll_EndDialog]
sub esp, 8
test byte [esi + 0x15], 8
jne 0x69070300
mov dword [ebx + 0x10], 0
mov edi, dword [sym.imp.user32.dll_GetDlgItem]
test byte [esi + 0x14], 0x40
je 0x69070330
movzx edx, word [esi + 0x1e]
movzx eax, word [esi + 0x1c]
cmp dx, ax
jae 0x690702d0
mov word [esi + 0x1e], ax
movzx ecx, word [esi + 0x1a]
or dword [esi + 0x14], 8
mov edx, eax
cmp ax, cx
jbe 0x690701d0
mov word [esi + 0x1a], ax
mov ecx, eax
nop
cmp dx, cx
jae 0x690701d9
mov word [esi + 0x1a], dx
movzx ecx, word [esi + 0x18]
cmp ax, cx
jbe 0x690701e8
mov word [esi + 0x18], ax
mov ecx, eax
cmp dx, cx
jb 0x690702f0
mov eax, dword [ebp - 0x1c0]
mov ecx, dword [ebp - 0x1bc]
mov dword [esp + 4], eax
mov dword [esp], ecx
call edi
sub esp, 8
test eax, eax
je 0x690703b8
mov eax, dword [esi + 0xc]
mov edi, dword [sym.imp.kernel32.dll_GlobalLock]
mov dword [esp], eax
call edi
mov dword [ebp - 0x1c4], eax
mov eax, dword [esi + 8]
sub esp, 4
mov dword [esp], eax
call edi
mov edx, dword [ebp - 0x1c4]
sub esp, 4
mov edi, eax
test edx, edx
je 0x69070448
movzx eax, word [edx + 2]
lea ecx, [edx + eax*2]
mov edx, dword [ebp - 0x1c0]
mov eax, dword [ebp - 0x1bc]
call fcn.6906dc30
test edi, edi
jne 0x69070498
mov edi, dword [sym.imp.kernel32.dll_GlobalUnlock]
mov eax, dword [esi + 0xc]
mov dword [esp], eax
call edi
sub esp, 4
mov dword [esp], 0x200
call dword [sym.imp.ucrtbase.dll_malloc]
mov dword [esp + 0xc], 0xff
mov dword [esp + 8], eax
mov esi, eax
mov eax, dword [ebp - 0x1c0]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x1bc]
mov dword [esp], eax
call dword [sym.imp.user32.dll_GetDlgItemTextW]
sub esp, 0x10
test eax, eax
jne 0x69070430
mov dword [esp], esi
call dword [sym.imp.ucrtbase.dll_free]
mov eax, 1
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
je 0x690701b9
movzx ecx, word [esi + 0x1a]
cmp ax, cx
jbe 0x690701d0
mov word [esi + 0x1a], ax
mov ecx, eax
jmp 0x690701d0
mov word [esi + 0x18], dx
jmp 0x690701f1
mov dword [esp], str.commdlg_help
call dword [sym.imp.user32.dll_RegisterWindowMessageW]
mov dword [ebx + 0x10], eax
sub esp, 4
test eax, eax
jne 0x69070194
mov dword [esp], 0xc
call fcn.69041890
xor eax, eax
jmp 0x690702c1
mov eax, dword [ebp - 0x1bc]
mov dword [esp + 4], 0x482
mov dword [esp], eax
call edi
sub esp, 8
mov dword [esp + 0x20], eax
mov eax, dword [0x6908d004]
mov dword [esp + 0x2c], 1
mov dword [esp + 0x1c], eax
mov eax, dword [ebp - 0x1bc]
mov dword [esp + 0x28], 1
mov dword [esp + 0x24], 0x270f
mov dword [esp + 0x18], 0x270f
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0x508000a6
call dword [sym.imp.comctl32.dll_CreateUpDownControl]
mov dword [ebx + 0x24], eax
sub esp, 0x30
jmp 0x690701a4
lea eax, [ebp - 0x1ac]
lea esi, [ebp - 0x1a8]
mov dword [ebp - 0x1ac], 0xc8
mov dword [esp + 4], eax
mov dword [esp], esi
call sub.winspool.drv_GetDefaultPrinterW
sub esp, 8
test eax, eax
jne 0x69070480
test byte [0x690760c0], 1
jne 0x690704b0
lea esp, [ebp - 0xc]
mov eax, 1
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 0xc], str.no_icon_in_resource_file_n
mov dword [esp + 8], str.PRINTDLG_WMInitDialogW
mov dword [esp + 4], 0x690760c0
mov dword [esp], 1
call fcn.6906acc0
jmp 0x6907015d
mov eax, dword [ebp - 0x1bc]
mov ecx, ebx
mov edx, esi
call fcn.6906eab0
jmp 0x690702b3
test eax, eax
je 0x690704e0
mov ecx, eax
mov edx, dword [ebp - 0x1c0]
mov eax, dword [ebp - 0x1bc]
call fcn.6906dc30
mov eax, dword [esi + 8]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_GlobalUnlock]
sub esp, 4
jmp 0x69070274
mov eax, dword [ebp - 0x1bc]
mov ecx, ebx
mov edx, esi
call fcn.6906eab0
jmp 0x690703f2
mov eax, dword [esi + 8]
mov edi, dword [sym.imp.kernel32.dll_GlobalUnlock]
mov dword [esp], eax
call edi
sub esp, 4
jmp 0x69070269
mov dword [esp + 0xc], str.No_default_printer_found__expect_problems__n
mov dword [esp + 8], str.PRINTDLG_WMInitDialogW
mov dword [esp + 4], 0x690760c0
mov dword [esp], 0
call fcn.6906acc0
jmp 0x690703f2
mov edx, dword [ebp - 0x1c0]
mov eax, dword [ebp - 0x1bc]
xor ecx, ecx
call fcn.6906dc30
jmp 0x69070274