Function at 0x42f8e0
Capabilities:
Access peb ldr_data
Get process heap flags

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0xb4
mov dword [esp], 0x49dc37
call dword [sym.imp.kernel32.dll_GetModuleHandleA]
sub esp, 4
mov dword [esp + 4], str.GdiConvertToDevmodeW
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_GetProcAddress]
mov dword [ebp - 0xac], eax
sub esp, 8
test eax, eax
je 0x42fd28
lea ebx, [ebp - 0xa8]
xor eax, eax
mov ecx, 0x27
mov edi, ebx
rep stosd dword es:[edi], eax
mov eax, 0x9c
mov word [ebp - 0x84], ax
mov dword [esp + 8], ebx
mov dword [esp + 4], 0xffffffff
mov dword [esp], 0
call dword [sym.imp.user32.dll_EnumDisplaySettingsA]
sub esp, 0xc
mov edi, eax
call fcn.00492bc0
mov esi, dword fs:[0x18]
mov dword [eax], 0x49d404
mov dword [eax + 4], 0x119
mov eax, dword [esi + 0x34]
mov dword [esp], edi
mov dword [esp + 8], eax
mov dword [esp + 4], str.EnumDisplaySettingsExA_error__lu_n
call fcn.0042b9e0
call fcn.00492bc0
mov dword [eax], 0x49d404
mov dword [eax + 4], 0x11a
movzx ecx, word [ebp - 0x84]
mov dword [esp + 4], str.dmSize_is_too_small:__04x_n
cmp cx, 0x7b
mov dword [esp + 8], ecx
seta al
movzx eax, al
mov dword [esp], eax
call fcn.0042b9e0
call fcn.00492bc0
mov dword [eax], 0x49d404
mov dword [eax + 4], 0x11b
movzx ecx, word [ebp - 0x84]
mov dword [esp + 4], str.dmSize_is_too_large:__04x_n
cmp cx, 0x9c
mov dword [esp + 8], ecx
setbe al
movzx eax, al
mov dword [esp], eax
call fcn.0042b9e0
mov dword [esp], ebx
mov eax, dword [ebp - 0xac]
call eax
sub esp, 4
mov edi, eax
call fcn.00492bc0
mov dword [eax], 0x49d404
mov dword [eax + 4], 0x11e
movzx ecx, word [edi + 0x44]
mov dword [esp + 4], str.dmSize_is_too_small:__04x_n
cmp cx, 0xbb
mov dword [esp + 8], ecx
seta al
movzx eax, al
mov dword [esp], eax
call fcn.0042b9e0
call fcn.00492bc0
mov dword [eax], 0x49d404
mov dword [eax + 4], 0x11f
movzx ecx, word [edi + 0x44]
mov dword [esp + 4], str.dmSize_is_too_large:__04x_n
cmp cx, 0xdc
mov dword [esp + 8], ecx
setbe al
movzx eax, al
mov dword [esp], eax
call fcn.0042b9e0
mov dword [esp + 8], edi
mov edx, dword [sym.imp.kernel32.dll_HeapFree]
mov dword [esp + 4], 0
mov eax, dword [esi + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
mov dword [ebp - 0xb0], edx
call edx
mov edx, 0x2c
sub esp, 0xc
mov word [ebp - 0x84], dx
mov dword [esp], ebx
mov eax, dword [ebp - 0xac]
call eax
sub esp, 4
mov edi, eax
call fcn.00492bc0
mov dword [eax], 0x49d404
mov dword [eax + 4], 0x124
movzx ecx, word [edi + 0x44]
mov dword [esp + 4], 0x49dce8
cmp cx, 0x4c
mov dword [esp + 8], ecx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0042b9e0
mov dword [esp + 8], edi
mov dword [esp + 4], 0
mov eax, dword [esi + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
mov edx, dword [ebp - 0xb0]
call edx
mov ecx, pe_nt_image_headers32
mov dword [ebp - 0x2c], 1
sub esp, 0xc
mov word [ebp - 0x84], cx
mov dword [esp], ebx
mov eax, dword [ebp - 0xac]
call eax
sub esp, 4
mov edi, eax
call fcn.00492bc0
mov dword [eax], 0x49d404
mov dword [eax + 4], 0x12b
movzx ecx, word [edi + 0x44]
mov dword [esp + 4], 0x49dce8
cmp cx, 0xc0
mov dword [esp + 8], ecx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0042b9e0
call fcn.00492bc0
mov dword [eax], 0x49d404
mov dword [eax + 4], 0x12d
mov eax, dword [edi + 0xbc]
mov dword [esp + 4], str.expected_DMICMMETHOD_NONE__got__lu_n
cmp eax, 1
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0042b9e0
mov dword [esp + 8], edi
mov edi, 0x400
mov dword [esp + 4], 0
mov eax, dword [esi + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
mov edx, dword [ebp - 0xb0]
call edx
mov word [ebp - 0x84], di
sub esp, 0xc
mov dword [esp], ebx
mov eax, dword [ebp - 0xac]
call eax
sub esp, 4
mov edi, eax
call fcn.00492bc0
mov dword [eax], 0x49d404
mov dword [eax + 4], 0x133
movzx ecx, word [edi + 0x44]
mov dword [esp + 4], 0x49dce8
cmp cx, 0xdc
mov dword [esp + 8], ecx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0042b9e0
mov dword [esp + 8], edi
mov dword [esp + 4], 0
mov eax, dword [esi + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
mov edx, dword [ebp - 0xb0]
call edx
xor eax, eax
mov dword [esi + 0x34], 0xdeadbeef
sub esp, 0xc
mov word [ebp - 0x84], ax
mov dword [esp], ebx
mov eax, dword [ebp - 0xac]
call eax
sub esp, 4
mov edi, eax
call fcn.00492bc0
mov dword [eax], 0x49d404
mov dword [eax + 4], 0x13a
xor eax, eax
test edi, edi
sete al
mov dword [esp + 4], str.GdiConvertToDevmodeW_should_fail_n
mov dword [esp], eax
call fcn.0042b9e0
call fcn.00492bc0
mov dword [eax], 0x49d404
mov dword [eax + 4], 0x13b
mov eax, dword [esi + 0x34]
mov dword [esp + 4], 0x49dd3e
mov dword [esp + 8], eax
xor eax, eax
cmp dword [esi + 0x34], 0xdeadbeef
sete al
mov dword [esp], eax
call fcn.0042b9e0
mov eax, 0x28
mov word [ebp - 0x84], ax
mov dword [esp], ebx
mov eax, dword [ebp - 0xac]
call eax
sub esp, 4
mov ebx, eax
call fcn.00492bc0
mov dword [eax], 0x49d404
mov dword [eax + 4], 0x140
movzx ecx, word [ebx + 0x44]
mov dword [esp + 8], 0x48
cmp cx, 0x48
mov dword [esp + 0xc], ecx
sete al
mov dword [esp + 4], str.expected__04lx__got__04x_n
movzx eax, al
mov dword [esp], eax
call fcn.0042b9e0
mov dword [esp + 8], ebx
mov dword [esp + 4], 0
mov eax, dword [esi + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
mov edx, dword [ebp - 0xb0]
call edx
sub esp, 0xc
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
call fcn.00492bc0
mov dword [eax], 0x49d404
mov dword [eax + 4], 0x112
mov dword [esp], str.GdiConvertToDevmodeW_is_not_available_on_this_platform_n
call fcn.0042b9b0
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret