Function at 0x407c60
Capabilities:
Parse pe header

Disassembly:
push 0xffffffffffffffff
push 0x43c5d0
mov eax, dword fs:[0]
push eax
sub esp, 0xc
push esi
push edi
mov eax, dword [0x45302c]
xor eax, esp
push eax
lea eax, [esp + 0x18]
mov dword fs:[0], eax
mov esi, ecx
mov eax, dword [esi + 0x4a0]
push 0
push 0
push pe_nt_image_headers32
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
cmp eax, 1
push ecx
mov ecx, esp
jne 0x407cd8
mov dword [esp + 0x10], esp
push 0x441b40
call fcn.00404d70
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x442100
mov dword [esp + 0x2c], 0
call fcn.00404d70
push ecx
mov byte [esp + 0x2c], 1
mov dword [esp + 0x20], esp
jmp 0x407d09
mov dword [esp + 0x18], esp
push 0x441b3c
call fcn.00404d70
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x442100
mov dword [esp + 0x2c], 2
call fcn.00404d70
push ecx
mov byte [esp + 0x2c], 3
mov dword [esp + 0x18], esp
mov ecx, esp
push str.ForceFlash
call fcn.00404d70
or edi, 0xffffffff
mov dword [esp + 0x2c], edi
call fcn.0040deb0
add esp, 0xc
push 0
add esi, 0x4d4
push 0
mov ecx, esi
call fcn.00402d40
cmp eax, 1
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
jne 0x407d6b
push 0x441b40
call fcn.00404d70
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.BB_PEI
mov dword [esp + 0x2c], 4
call fcn.00404d70
mov byte [esp + 0x28], 5
jmp 0x407d93
push 0x441b3c
call fcn.00404d70
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.BB_PEI
mov dword [esp + 0x2c], 6
call fcn.00404d70
mov byte [esp + 0x28], 7
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.ForceFlash
call fcn.00404d70
mov dword [esp + 0x2c], edi
call fcn.0040deb0
add esp, 0xc
push 0
push 1
mov ecx, esi
call fcn.00402d40
cmp eax, 1
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
jne 0x407df1
push 0x441b40
call fcn.00404d70
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x4420ac
mov dword [esp + 0x2c], 8
call fcn.00404d70
mov byte [esp + 0x28], 9
jmp 0x407e19
push 0x441b3c
call fcn.00404d70
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x4420ac
mov dword [esp + 0x2c], 0xa
call fcn.00404d70
mov byte [esp + 0x28], 0xb
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.ForceFlash
call fcn.00404d70
mov dword [esp + 0x2c], edi
call fcn.0040deb0
add esp, 0xc
push 0
push 2
mov ecx, esi
call fcn.00402d40
cmp eax, 1
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
jne 0x407e77
push 0x441b40
call fcn.00404d70
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x4420a0
mov dword [esp + 0x2c], 0xc
call fcn.00404d70
mov byte [esp + 0x28], 0xd
jmp 0x407e9f
push 0x441b3c
call fcn.00404d70
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x4420a0
mov dword [esp + 0x2c], 0xe
call fcn.00404d70
mov byte [esp + 0x28], 0xf
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.ForceFlash
call fcn.00404d70
mov dword [esp + 0x2c], edi
call fcn.0040deb0
add esp, 0xc
push 0
push 3
mov ecx, esi
call fcn.00402d40
cmp eax, 1
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
jne 0x407efd
push 0x441b40
call fcn.00404d70
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x44209c
mov dword [esp + 0x2c], 0x10
call fcn.00404d70
mov byte [esp + 0x28], 0x11
jmp 0x407f25
push 0x441b3c
call fcn.00404d70
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x44209c
mov dword [esp + 0x2c], 0x12
call fcn.00404d70
mov byte [esp + 0x28], 0x13
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.ForceFlash
call fcn.00404d70
mov dword [esp + 0x2c], edi
call fcn.0040deb0
add esp, 0xc
push 0
push 4
mov ecx, esi
call fcn.00402d40
cmp eax, 1
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
jne 0x407f83
push 0x441b40
call fcn.00404d70
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x442094
mov dword [esp + 0x2c], 0x14
call fcn.00404d70
mov byte [esp + 0x28], 0x15
jmp 0x407fab
push 0x441b3c
call fcn.00404d70
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x442094
mov dword [esp + 0x2c], 0x16
call fcn.00404d70
mov byte [esp + 0x28], 0x17
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.ForceFlash
call fcn.00404d70
mov dword [esp + 0x2c], edi
call fcn.0040deb0
add esp, 0xc
push 0
push 5
mov ecx, esi
call fcn.00402d40
cmp eax, 1
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
jne 0x408009
push 0x441b40
call fcn.00404d70
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x442088
mov dword [esp + 0x2c], 0x18
call fcn.00404d70
mov byte [esp + 0x28], 0x19
jmp 0x408031
push 0x441b3c
call fcn.00404d70
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x442088
mov dword [esp + 0x2c], 0x1a
call fcn.00404d70
mov byte [esp + 0x28], 0x1b
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.ForceFlash
call fcn.00404d70
mov dword [esp + 0x2c], edi
call fcn.0040deb0
add esp, 0xc
push 0
push 6
mov ecx, esi
call fcn.00402d40
cmp eax, 1
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
jne 0x40808f
push 0x441b40
call fcn.00404d70
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x442078
mov dword [esp + 0x2c], 0x1c
call fcn.00404d70
mov byte [esp + 0x28], 0x1d
jmp 0x4080b7
push 0x441b3c
call fcn.00404d70
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x442078
mov dword [esp + 0x2c], 0x1e
call fcn.00404d70
mov byte [esp + 0x28], 0x1f
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.ForceFlash
call fcn.00404d70
mov dword [esp + 0x2c], edi
call fcn.0040deb0
add esp, 0xc
push 0
push 7
mov ecx, esi
call fcn.00402d40
cmp eax, 1
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
jne 0x408115
push 0x441b40
call fcn.00404d70
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x442060
mov dword [esp + 0x2c], 0x20
call fcn.00404d70
mov byte [esp + 0x28], 0x21
jmp 0x40813d
push 0x441b3c
call fcn.00404d70
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x442060
mov dword [esp + 0x2c], 0x22
call fcn.00404d70
mov byte [esp + 0x28], 0x23
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.ForceFlash
call fcn.00404d70
mov dword [esp + 0x2c], edi
call fcn.0040deb0
add esp, 0xc
push 0
push 8
mov ecx, esi
call fcn.00402d40
cmp eax, 1
jne 0x40819b
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x441b40
call fcn.00404d70
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.Type06
mov dword [esp + 0x2c], 0x24
call fcn.00404d70
mov byte [esp + 0x28], 0x25
jmp 0x4081ce
test eax, eax
jne 0x4081eb
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x441b3c
call fcn.00404d70
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.Type06
mov dword [esp + 0x2c], 0x26
call fcn.00404d70
mov byte [esp + 0x28], 0x27
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.ForceFlash
call fcn.00404d70
mov dword [esp + 0x2c], edi
call fcn.0040deb0
add esp, 0xc
push 0
push 9
mov ecx, esi
call fcn.00402d40
cmp eax, 1
jne 0x40822c
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x441b40
call fcn.00404d70
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.Type07
mov dword [esp + 0x2c], 0x28
call fcn.00404d70
mov byte [esp + 0x28], 0x29
jmp 0x40825f
test eax, eax
jne 0x40827c
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x441b3c
call fcn.00404d70
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.Type07
mov dword [esp + 0x2c], 0x2a
call fcn.00404d70
mov byte [esp + 0x28], 0x2b
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.ForceFlash
call fcn.00404d70
mov dword [esp + 0x2c], edi
call fcn.0040deb0
add esp, 0xc
push 0
push 0xa
mov ecx, esi
call fcn.00402d40
cmp eax, 1
jne 0x4082bd
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x441b40
call fcn.00404d70
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.Type08
mov dword [esp + 0x2c], 0x2c
call fcn.00404d70
mov byte [esp + 0x28], 0x2d
jmp 0x4082f0
test eax, eax
jne 0x40830d
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x441b3c
call fcn.00404d70
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.Type08
mov dword [esp + 0x2c], 0x2e
call fcn.00404d70
mov byte [esp + 0x28], 0x2f
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.ForceFlash
call fcn.00404d70
mov dword [esp + 0x2c], edi
call fcn.0040deb0
add esp, 0xc
push 0
push 0xb
mov ecx, esi
call fcn.00402d40
cmp eax, 1
jne 0x40834e
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x441b40
call fcn.00404d70
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.Type09
mov dword [esp + 0x2c], 0x30
call fcn.00404d70
mov byte [esp + 0x28], 0x31
jmp 0x408381
test eax, eax
jne 0x40839e
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x441b3c
call fcn.00404d70
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.Type09
mov dword [esp + 0x2c], 0x32
call fcn.00404d70
mov byte [esp + 0x28], 0x33
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.ForceFlash
call fcn.00404d70
mov dword [esp + 0x2c], edi
call fcn.0040deb0
add esp, 0xc
push 0
push 0xc
mov ecx, esi
call fcn.00402d40
cmp eax, 1
jne 0x4083df
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x441b40
call fcn.00404d70
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.Type0A
mov dword [esp + 0x2c], 0x34
call fcn.00404d70
mov byte [esp + 0x28], 0x35
jmp 0x408412
test eax, eax
jne 0x40842f
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x441b3c
call fcn.00404d70
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.Type0A
mov dword [esp + 0x2c], 0x36
call fcn.00404d70
mov byte [esp + 0x28], 0x37
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.ForceFlash
call fcn.00404d70
mov dword [esp + 0x2c], edi
call fcn.0040deb0
add esp, 0xc
push 0
push 0xd
mov ecx, esi
call fcn.00402d40
cmp eax, 1
jne 0x408470
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x441b40
call fcn.00404d70
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.Type0B
mov dword [esp + 0x2c], 0x38
call fcn.00404d70
mov byte [esp + 0x28], 0x39
jmp 0x4084a3
test eax, eax
jne 0x4084c0
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x441b3c
call fcn.00404d70
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.Type0B
mov dword [esp + 0x2c], 0x3a
call fcn.00404d70
mov byte [esp + 0x28], 0x3b
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.ForceFlash
call fcn.00404d70
mov dword [esp + 0x2c], edi
call fcn.0040deb0
add esp, 0xc
push 0
push 0xe
mov ecx, esi
call fcn.00402d40
cmp eax, 1
jne 0x408501
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x441b40
call fcn.00404d70
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.Type0C
mov dword [esp + 0x2c], 0x3c
call fcn.00404d70
mov byte [esp + 0x28], 0x3d
jmp 0x408534
test eax, eax
jne 0x408551
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x441b3c
call fcn.00404d70
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.Type0C
mov dword [esp + 0x2c], 0x3e
call fcn.00404d70
mov byte [esp + 0x28], 0x3f
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.ForceFlash
call fcn.00404d70
mov dword [esp + 0x2c], edi
call fcn.0040deb0
add esp, 0xc
push 0
push 0xf
mov ecx, esi
call fcn.00402d40
cmp eax, 1
jne 0x408592
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x441b40
call fcn.00404d70
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.Type0D
mov dword [esp + 0x2c], 0x40
call fcn.00404d70
mov byte [esp + 0x28], 0x41
jmp 0x4085c5
test eax, eax
jne 0x4085e2
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x441b3c
call fcn.00404d70
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.Type0D
mov dword [esp + 0x2c], 0x42
call fcn.00404d70
mov byte [esp + 0x28], 0x43
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.ForceFlash
call fcn.00404d70
mov dword [esp + 0x2c], edi
call fcn.0040deb0
add esp, 0xc
push 0
push 0x10
mov ecx, esi
call fcn.00402d40
cmp eax, 1
jne 0x408623
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x441b40
call fcn.00404d70
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.Type0E
mov dword [esp + 0x2c], 0x44
call fcn.00404d70
mov byte [esp + 0x28], 0x45
jmp 0x408656
test eax, eax
jne 0x408673
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x441b3c
call fcn.00404d70
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.Type0E
mov dword [esp + 0x2c], 0x46
call fcn.00404d70
mov byte [esp + 0x28], 0x47
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.ForceFlash
call fcn.00404d70
mov dword [esp + 0x2c], edi
call fcn.0040deb0
add esp, 0xc
push 0
push 0x11
mov ecx, esi
call fcn.00402d40
cmp eax, 1
jne 0x4086b4
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x441b40
call fcn.00404d70
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.Type11
mov dword [esp + 0x2c], 0x48
call fcn.00404d70
mov byte [esp + 0x28], 0x49
jmp 0x4086e7
test eax, eax
jne 0x408704
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x441b3c
call fcn.00404d70
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.Type11
mov dword [esp + 0x2c], 0x4a
call fcn.00404d70
mov byte [esp + 0x28], 0x4b
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.ForceFlash
call fcn.00404d70
mov dword [esp + 0x2c], edi
call fcn.0040deb0
add esp, 0xc
push 0
push 0x12
mov ecx, esi
call fcn.00402d40
cmp eax, 1
jne 0x408745
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x441b40
call fcn.00404d70
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.Type12
mov dword [esp + 0x2c], 0x4c
call fcn.00404d70
mov byte [esp + 0x28], 0x4d
jmp 0x408778
test eax, eax
jne 0x408795
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x441b3c
call fcn.00404d70
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.Type12
mov dword [esp + 0x2c], 0x4e
call fcn.00404d70
mov byte [esp + 0x28], 0x4f
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.ForceFlash
call fcn.00404d70
mov dword [esp + 0x2c], edi
call fcn.0040deb0
add esp, 0xc
push 0
push 0x13
mov ecx, esi
call fcn.00402d40
cmp eax, 1
jne 0x4087d6
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x441b40
call fcn.00404d70
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.Type13
mov dword [esp + 0x2c], 0x50
call fcn.00404d70
mov byte [esp + 0x28], 0x51
jmp 0x408809
test eax, eax
jne 0x408826
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x441b3c
call fcn.00404d70
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.Type13
mov dword [esp + 0x2c], 0x52
call fcn.00404d70
mov byte [esp + 0x28], 0x53
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.ForceFlash
call fcn.00404d70
mov dword [esp + 0x2c], edi
call fcn.0040deb0
add esp, 0xc
push 0
push 0x14
mov ecx, esi
call fcn.00402d40
cmp eax, 1
jne 0x408867
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x441b40
call fcn.00404d70
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.Type14
mov dword [esp + 0x2c], 0x54
call fcn.00404d70
mov byte [esp + 0x28], 0x55
jmp 0x40889a
test eax, eax
jne 0x4088b7
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x441b3c
call fcn.00404d70
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.Type14
mov dword [esp + 0x2c], 0x56
call fcn.00404d70
mov byte [esp + 0x28], 0x57
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.ForceFlash
call fcn.00404d70
mov dword [esp + 0x2c], edi
call fcn.0040deb0
add esp, 0xc
push 0
push 0x15
mov ecx, esi
call fcn.00402d40
cmp eax, 1
jne 0x4088f8
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x441b40
call fcn.00404d70
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.Type15
mov dword [esp + 0x2c], 0x58
call fcn.00404d70
mov byte [esp + 0x28], 0x59
jmp 0x40892b
test eax, eax
jne 0x408948
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x441b3c
call fcn.00404d70
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.Type15
mov dword [esp + 0x2c], 0x5a
call fcn.00404d70
mov byte [esp + 0x28], 0x5b
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.ForceFlash
call fcn.00404d70
mov dword [esp + 0x2c], edi
call fcn.0040deb0
add esp, 0xc
mov ecx, dword [esp + 0x18]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
add esp, 0x18
ret