Function at 0x41c700
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x90
mov eax, dword [0x447400]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [ebp + 0xc]
push edi
mov edi, dword [ebp + 8]
push 0x7f
lea eax, [ebp - 0x83]
push 0
push eax
mov dword [ebp - 0x88], esi
mov byte [ebp - 0x84], 0
call fcn.00429f70
mov ebx, dword [ebp + 0x10]
push str._n__Dump_Gop_Driver_Info:_n
push ebx
push esi
call fcn.0041d700
mov eax, 0x5a4d
add esp, 0x18
cmp word [edi], ax
je 0x41c760
push str.ERROR:_The_Gop_Driver_does_not_appear_to_be_a_PE32_image__magic_number_wrong__n
push ebx
jmp 0x41cb19
mov ebx, dword [edi + 0x3c]
add ebx, edi
cmp dword [ebx], 0x4550
je 0x41c77b
mov eax, dword [ebp + 0x10]
push str.ERROR:_The_Gop_Driver_does_not_appear_to_be_a_PE32_image__signature_wrong__n
push eax
jmp 0x41cb19
movzx esi, word [ebx + 4]
push esi
call fcn.0041d380
push eax
mov eax, dword [ebp + 0x10]
push str.____Machine_type_code_______s_n
push eax
push dword [ebp - 0x88]
call fcn.0041d700
add esp, 0x14
push esi
call fcn.0041d380
cmp dword [ebx + 0x58], 0
mov esi, dword [ebp - 0x88]
push eax
jne 0x41c7b7
push str.____The_GOP_Driver_is_not_Authenticode_signed._n
jmp 0x41c7bc
push str.____The_GOP_Driver_appears_to_be_Authenticode_signed._n
push dword [ebp + 0x10]
push esi
call fcn.0041d700
add esp, 0x14
mov eax, 0x14c
cmp word [ebx + 4], ax
mov ebx, dword [ebx + 0x50]
mov eax, ebx
shr eax, 0xa
push eax
push ebx
push str.____Size_Of_Gop_Image_______d___d_KB__n
push dword [ebp + 0x10]
mov dword [ebp - 0x8c], ebx
push esi
call fcn.0041d700
add esp, 0x14
mov ecx, edi
mov dword [ebp - 0x90], 0
test ebx, ebx
je 0x41c8a6
jmp 0x41c810
mov edx, ecx
mov esi, str.AMD_GOP
mov ebx, 0xa
lea esp, [esp]
mov eax, dword [edx]
cmp eax, dword [esi]
jne 0x41c839
add edx, 4
add esi, 4
sub ebx, 4
jae 0x41c820
mov ax, word [edx]
cmp ax, word [esi]
je 0x41c853
mov eax, dword [ebp - 0x90]
mov ebx, dword [ebp - 0x8c]
inc eax
inc ecx
mov dword [ebp - 0x90], eax
cmp eax, ebx
jb 0x41c810
jmp 0x41c8a0
xor edx, edx
mov al, byte [ecx]
mov byte [ebp + edx - 0x84], al
test al, al
je 0x41c89a
mov al, byte [ecx + 2]
mov byte [ebp + edx - 0x83], al
test al, al
je 0x41c89a
mov al, byte [ecx + 4]
mov byte [ebp + edx - 0x82], al
test al, al
je 0x41c89a
mov al, byte [ecx + 6]
add ecx, 8
mov byte [ebp + edx - 0x81], al
test al, al
je 0x41c89a
add edx, 4
cmp edx, 0x100
jb 0x41c855
mov ebx, dword [ebp - 0x8c]
mov esi, dword [ebp - 0x88]
lea eax, [ebp - 0x84]
push eax
push str.____GOP_Driver_Name:__s_n
push dword [ebp + 0x10]
push esi
call fcn.0041d700
add esp, 0x10
xor edx, edx
mov ecx, edi
test ebx, ebx
je 0x41c8f6
cmp dword [ecx], 0x5f444d41
jne 0x41c8de
cmp dword [ecx + 4], 0x6c697542
jne 0x41c8de
cmp word [ecx + 8], 0x64
je 0x41c8e6
inc edx
inc ecx
cmp edx, ebx
jb 0x41c8c6
jmp 0x41c8f6
mov eax, dword [ecx + 0xa]
mov dword [0x448808], eax
mov eax, dword [ecx + 0xe]
mov dword [0x44880c], eax
xor edx, edx
mov ecx, edi
test ebx, ebx
je 0x41c930
mov edi, edi
cmp dword [ecx], 0x5f444d41
jne 0x41c918
cmp word [ecx + 4], 0x4c43
jne 0x41c918
movzx eax, byte [ecx + 6]
test al, al
je 0x41c920
inc edx
inc ecx
cmp edx, ebx
jb 0x41c900
jmp 0x41c930
mov eax, dword [ecx + 0xa]
mov dword [0x448810], eax
mov eax, dword [ecx + 0xe]
mov dword [0x448814], eax
xor edx, edx
mov ecx, edi
test ebx, ebx
je 0x41c95b
cmp dword [ecx], 0x49464555
jne 0x41c955
cmp dword [ecx + 4], 0x5645525f
jne 0x41c955
movzx eax, byte [ecx + 8]
test al, al
je 0x41ca00
inc edx
inc ecx
cmp edx, ebx
jb 0x41c938
mov dl, byte [0x448818]
test dl, dl
je 0x41c9d5
movzx eax, dl
push eax
push str.____UEFI_MAJ_REV____________d__n
push dword [ebp + 0x10]
push esi
call fcn.0041d700
movzx eax, byte [0x448819]
push eax
push str.____UEFI_MIN_REV____________d__n
push dword [ebp + 0x10]
push esi
call fcn.0041d700
movzx eax, byte [0x44881a]
push eax
push str.____UEFI_FIX_REV____________d__n
push dword [ebp + 0x10]
push esi
call fcn.0041d700
movzx eax, byte [0x44881b]
push eax
push str.____LEGACY_MAJ_VER__________d__n
push dword [ebp + 0x10]
push esi
call fcn.0041d700
movzx eax, byte [0x44881c]
add esp, 0x40
push eax
push str.____LEGACY_MIN_VER__________d__n
push dword [ebp + 0x10]
push esi
call fcn.0041d700
add esp, 0x10
xor edx, edx
mov ecx, edi
test ebx, ebx
je 0x41ca3a
lea ecx, [ecx]
cmp dword [ecx], 0x534f4942
jne 0x41c9f8
cmp dword [ecx + 4], 0x5444495f
jne 0x41c9f8
cmp word [ecx + 8], 0x46
je 0x41ca32
inc edx
inc ecx
cmp edx, ebx
jb 0x41c9e0
jmp 0x41ca3a
mov dl, byte [ecx + 0xb]
mov byte [0x448818], dl
movzx eax, byte [ecx + 0xc]
mov byte [0x448819], al
movzx eax, byte [ecx + 0xd]
mov byte [0x44881a], al
movzx eax, byte [ecx + 0xe]
mov byte [0x44881b], al
movzx eax, byte [ecx + 0xf]
mov byte [0x44881c], al
jmp 0x41c961
mov eax, dword [ecx + 0xa]
mov dword [0x4487fc], eax
push dword [0x44880c]
push dword [0x448808]
push str.____GOP_AMD_Build___________d__n
push dword [ebp + 0x10]
push esi
call fcn.0041d700
push dword [0x448814]
push dword [0x448810]
push str.____GOP_AMD_CL______________d__n
push dword [ebp + 0x10]
push esi
call fcn.0041d700
push dword [0x4487fc]
push str.____GOP_BIOS_IDTF__________0x_08X__n
push dword [ebp + 0x10]
push esi
call fcn.0041d700
add esp, 0x38
test ebx, ebx
je 0x41cacf
mov ecx, 0xffffffe8
sub ecx, edi
mov edx, 0xaa55
cmp byte [edi], 0x55
jne 0x41cab2
cmp byte [edi + 1], 0xaa
jne 0x41cab2
cmp word [edi], dx
jne 0x41cab2
movzx eax, word [edi + 0x18]
cmp dword [eax + edi], 0x52494350
je 0x41cabe
inc edi
lea eax, [ecx + 0x18]
add eax, edi
cmp eax, ebx
jb 0x41ca95
jmp 0x41cacf
movzx eax, word [edi + 0x48]
movzx eax, word [eax + edi + 0xe]
mov eax, dword [eax + edi]
mov dword [0x448800], eax
cmp dword [0x448800], 0
je 0x41cb11
mov ebx, dword [ebp + 0x10]
push str.____GOP_Driver_contains_tables__n
push ebx
push esi
call fcn.0041d700
push dword [0x448800]
push str.____Legacy_BIOS_IDTF_______0x_08X__n
push ebx
push esi
call fcn.0041d700
mov eax, dword [0x448800]
add esp, 0x1c
cmp eax, dword [0x4487fc]
je 0x41cb22
push str.____WARNING:_The_GOP_BIOS_IDTF_differs_from_the_Legacy_BIOS_IDTF__n
push ebx
jmp 0x41cb19
push str.____GOP_Driver_does_not_carry_tables__n
push dword [ebp + 0x10]
push esi
call fcn.0041d700
add esp, 0xc
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
mov eax, 2
pop ebx
call fcn.004287a4
mov esp, ebp
pop ebp
ret