Function at 0x420cef
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x47b0d6
mov eax, dword fs:[0]
push eax
mov eax, 0x1d1c
call fcn.00451490
mov eax, dword [0x4b6070]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x1c64], ecx
mov edi, dword [ebp + 8]
mov eax, dword [ebp + 0x20]
mov esi, dword [ebp + 0x1c]
mov dword [ebp - 0x1c70], edi
mov dword [ebp - 0x1c60], eax
and dword [ebp - 4], 0
lea ecx, [ebp - 0x70]
call fcn.00407270
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xd0]
call fcn.00407270
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x88]
call fcn.00407270
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x70]
mov edx, dword [ebp + 0xc]
call fcn.0041ab48
lea ecx, [ebp - 0x1c58]
call fcn.0040faf7
mov byte [ebp - 4], 4
test esi, esi
lea ebx, [ebp - 0x1c58]
cmovne ebx, esi
mov dword [ebp - 0x1c80], ebx
mov al, byte [ebx + 0x1b7c]
test al, al
jne 0x420e24
push dword [ebp - 0x1c60]
mov ecx, ebx
push 0
call fcn.004104b5
mov dword [ebp - 0x1c60], eax
test eax, eax
je 0x420e24
lea ecx, [ebp - 0x1d28]
call fcn.00408d76
mov esi, eax
mov byte [ebp - 4], 5
push str.Shim_Module_probe_failed:
push esi
call fcn.0040b812
mov edi, dword [ebp - 0x1c60]
pop ecx
pop ecx
push edi
mov ecx, esi
call fcn.0040a427
lea eax, [ebp - 0x58]
mov ecx, esi
push eax
call fcn.00408d5d
mov byte [ebp - 4], 6
lea eax, [ebp - 0x58]
push eax
push 1
call fcn.00406d81
pop ecx
pop ecx
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x58]
call fcn.00407241
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x1d28]
call fcn.0040878b
jmp 0x421d8c
mov esi, str._shim__n
push esi
call fcn.00459e88
pop ecx
push eax
push esi
mov ecx, edi
call fcn.0040751f
push str._version_2.1.68__version__n
lea edx, [ebp - 0x70]
lea ecx, [ebp - 0x28]
call fcn.004234e0
pop ecx
mov byte [ebp - 4], 7
mov ecx, edi
push 0xffffffffffffffff
push 0
push eax
call fcn.00407889
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x28]
call fcn.00407241
mov esi, dword [ebp - 0x1c64]
lea ecx, [esi + 0x1c]
call fcn.00408dcd
test al, al
jne 0x420fbc
push 0x498ca0
lea ecx, [ebp - 0x28]
call fcn.0040724b
mov byte [ebp - 4], 8
lea ecx, [esi + 4]
call fcn.004071ba
lea ecx, [esi + 0x34]
mov dword [ebp - 0x1c60], eax
call fcn.004071ba
lea ecx, [esi + 0x1c]
mov edi, eax
call fcn.004071ba
lea ecx, [ebp - 0x1d28]
mov esi, eax
call fcn.00408d76
mov ebx, eax
mov byte [ebp - 4], 9
lea eax, [ebp - 0x70]
push eax
push ebx
call fcn.0040bb75
push str._generator_name
push ebx
call fcn.0040b812
push esi
push ebx
call fcn.0040b812
push str._moduleVersion
push ebx
call fcn.0040b812
push edi
push ebx
call fcn.0040b812
push str._architecture
push ebx
call fcn.0040b812
lea eax, [ebp - 0x28]
push eax
push ebx
call fcn.0040bb75
push str._revision
push ebx
call fcn.0040b812
add esp, 0x40
push dword [0x48f364]
push ebx
call fcn.0040b812
push str._buildType
push ebx
call fcn.0040b812
push dword [0x48f36c]
push ebx
call fcn.0040b812
push str._buildTime
push ebx
call fcn.0040b812
push dword [0x48f368]
push ebx
call fcn.0040b812
push 0x498d68
push ebx
call fcn.0040b812
push dword [ebp - 0x1c60]
push ebx
call fcn.0040b812
add esp, 0x38
lea eax, [ebp - 0x58]
mov ecx, ebx
push eax
call fcn.00408d5d
mov byte [ebp - 4], 0xa
lea eax, [ebp - 0x58]
mov edi, dword [ebp - 0x1c70]
mov ecx, edi
push 0xffffffffffffffff
push 0
push eax
call fcn.00407889
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x58]
call fcn.00407241
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x1d28]
call fcn.0040878b
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x28]
call fcn.00407241
mov ebx, dword [ebp - 0x1c80]
mov esi, dword [ebp - 0x1c64]
lea eax, [esi + 4]
mov ecx, eax
mov dword [ebp - 0x1c6c], eax
call fcn.004071ba
mov ecx, dword [ebx + 0x1b84]
mov edx, dword [ebx + 0x1b80]
mov dword [ebp - 0x1c5c], eax
cmp ecx, edx
jb 0x420fe6
sub ecx, edx
jmp 0x420fe9
sub ecx, edx
dec ecx
movd xmm0, ecx
lea eax, [ebp - 0x1c78]
cvtdq2pd xmm0, xmm0
shr ecx, 0x1f
push eax
addsd xmm0, qword [ecx*8 + 0x4a5250]
divsd xmm0, qword [0x4a5238]
movsd qword [ebp - 0x1c90], xmm0
call fcn.00408bea
mov eax, dword [ebp - 0x1c78]
mov dword [ebp - 0x1c88], eax
mov eax, dword [ebp - 0x1c74]
pop ecx
mov dword [ebp - 0x1c84], eax
lea ecx, [ebp - 0x1c88]
lea eax, [ebp - 0x40]
push eax
call fcn.0040c863
mov esi, eax
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x1d28]
call fcn.00408d76
mov dword [ebp - 0x1c60], eax
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x70]
push ecx
push eax
call fcn.0040bb75
push str._instance_gmt_time
push dword [ebp - 0x1c60]
call fcn.0040b812
push esi
mov esi, dword [ebp - 0x1c60]
push esi
call fcn.0040bb75
push str._scan_time
push esi
call fcn.0040b812
add esp, 0x20
test esi, esi
jne 0x421099
xor ecx, ecx
jmp 0x4210a0
mov eax, dword [esi]
mov ecx, dword [eax + 4]
add ecx, esi
mov eax, dword [ecx + 0x14]
and eax, 0xffffefff
or eax, 0x2000
push 0
mov dword [ecx + 0x14], eax
lea eax, [ebp - 0x50]
push 3
push eax
call fcn.0044f8f1
add esp, 0xc
mov edx, eax
mov ecx, esi
call fcn.0040c7d8
lea eax, [ebp - 0x1c90]
mov ecx, esi
push eax
call fcn.00423459
mov esi, eax
push 0x498dbc
push esi
call fcn.0040b812
push dword [ebp - 0x1c5c]
push esi
call fcn.0040b812
add esp, 0x10
lea eax, [ebp - 0x28]
mov ecx, esi
push eax
call fcn.00408d5d
mov byte [ebp - 4], 0xd
xor esi, esi
push 0xffffffffffffffff
push esi
lea eax, [ebp - 0x28]
mov ecx, edi
push eax
call fcn.00407889
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x28]
call fcn.00407241
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x1d28]
call fcn.0040878b
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x40]
call fcn.00407241
mov ecx, dword [ebp - 0x1c64]
lea eax, [ebp - 0x88]
push eax
lea eax, [ebp + 0x10]
push eax
call fcn.0042228c
test al, al
je 0x421175
push 0xffffffffffffffff
push esi
lea eax, [ebp - 0x88]
mov ecx, edi
push eax
call fcn.00407889
push esi
push 0x4914c4
lea ecx, [ebp - 0x88]
call fcn.00407411
push str._hardware_
lea edx, [ebp - 0x70]
lea ecx, [ebp - 0x28]
call fcn.004234e0
pop ecx
mov esi, eax
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0x1c6c]
call fcn.004071ba
push eax
mov edx, esi
lea ecx, [ebp - 0x40]
call fcn.0042354c
pop ecx
mov byte [ebp - 4], 0xf
mov ecx, edi
push 0xffffffffffffffff
push 0
push eax
call fcn.00407889
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x40]
call fcn.00407241
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x28]
call fcn.00407241
mov esi, dword [ebp + 0xc]
mov al, byte [ebx + 0xf]
inc esi
mov dword [ebp + 0xc], esi
test al, al
je 0x42130b
push str.WriteShimSection____Now_write_CPUs
push 4
call fcn.00406d9c
mov eax, dword [ebx + 0x1aa4]
mov edx, dword [ebx + 0x1aa0]
sub eax, edx
pop ecx
pop ecx
xor ecx, ecx
sar eax, 2
mov dword [ebp - 0x1c5c], ecx
test eax, eax
je 0x4212ab
push dword [edx + ecx*4]
mov ecx, dword [ebp - 0x1c64]
push esi
push edi
call fcn.0041ab82
test al, al
jne 0x421285
lea ecx, [ebp - 0x1d28]
call fcn.00408d76
mov esi, eax
mov byte [ebp - 4], 0x10
push str.Error_when_write_cpu
push esi
call fcn.0040b812
pop ecx
pop ecx
push dword [ebp - 0x1c5c]
mov ecx, esi
call fcn.0040a427
lea eax, [ebp - 0x28]
mov ecx, esi
push eax
call fcn.00408d5d
mov byte [ebp - 4], 0x11
lea eax, [ebp - 0x28]
push eax
push 4
call fcn.00406d81
pop ecx
pop ecx
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x28]
call fcn.00407241
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x1d28]
call fcn.0040878b
mov esi, dword [ebp + 0xc]
mov eax, dword [ebx + 0x1aa4]
mov ecx, dword [ebp - 0x1c5c]
mov edx, dword [ebx + 0x1aa0]
inc ecx
sub eax, edx
mov dword [ebp - 0x1c5c], ecx
sar eax, 2
cmp ecx, eax
jb 0x42120c
push str.WriteShimSection____Now_write_Processors
push 4
call fcn.00406d9c
and dword [ebp - 0x54], 0
lea eax, [ebp - 0x54]
and dword [ebp - 0x50], 0
pop ecx
pop ecx
mov dword [ebp - 0x1c74], eax
call fcn.004178f5
mov dword [ebp - 0x54], eax
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x54]
call fcn.004368c4
test al, al
je 0x4212f3
mov ecx, dword [ebp - 0x1c64]
lea eax, [ebp - 0x54]
push eax
push esi
push edi
call fcn.0041adf2
mov byte [ebp - 4], 4
lea eax, [ebp - 0x54]
mov dword [ebp - 0x1c74], eax
mov byte [ebp - 4], 4
mov ecx, eax
call fcn.00422ed8
mov al, byte [ebx + 0xe]
lea ecx, [ebx + 0x1a00]
test al, al
je 0x42133c
push ecx
push esi
mov esi, dword [ebp - 0x1c64]
mov ecx, esi
push edi
call fcn.0041b1ff
test al, al
jne 0x421342
push str.Write_CS_info_failed_
push 4
call fcn.00406d9c
pop ecx
pop ecx
jmp 0x421342
mov esi, dword [ebp - 0x1c64]
push str.WriteShimSection____Now_write_MoboInfo
push 4
call fcn.00406d9c
pop ecx
pop ecx
push dword [ebx + 0x20]
mov ecx, esi
push dword [ebp + 0xc]
push edi
call fcn.0041b366
test al, al
jne 0x421370
push str.Error_when_write_MOBO_info_
push 4
call fcn.00406d9c
pop ecx
pop ecx
push dword [ebx + 0x1b4c]
mov ecx, esi
push dword [ebp + 0xc]
push edi
call fcn.0041b553
test al, al
jne 0x421393
push str.Error_when_write_BIOS_info_
push 4
call fcn.00406d9c
pop ecx
pop ecx
push str.WriteShimSection____Now_write_HDs
push 4
call fcn.00406d9c
mov eax, dword [ebx + 0x1b5c]
sub eax, dword [ebx + 0x1b58]
cdq
mov dword [ebp - 0x1c68], 0x94
idiv dword [ebp - 0x1c68]
pop ecx
pop ecx
xor ecx, ecx
mov dword [ebp - 0x1c5c], ecx
test eax, eax
je 0x421492
xor edx, edx
mov dword [ebp - 0x1c60], edx
mov eax, dword [ebx + 0x1b58]
add eax, edx
push eax
push ecx
push dword [ebp + 0xc]
push edi
push ecx
mov ecx, esi
call fcn.0041b91b
test al, al
jne 0x421458
lea ecx, [ebp - 0x1d28]
call fcn.00408d76
mov esi, eax
mov byte [ebp - 4], 0x18
push str.Error_when_write_harddisk
push esi
call fcn.0040b812
pop ecx
pop ecx
push dword [ebp - 0x1c5c]
mov ecx, esi
call fcn.0040a427
lea eax, [ebp - 0x28]
mov ecx, esi
push eax
call fcn.00408d5d
mov byte [ebp - 4], 0x19
lea eax, [ebp - 0x28]
push eax
push 4
call fcn.00406d81
pop ecx
pop ecx
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x28]
call fcn.00407241
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x1d28]
call fcn.0040878b
mov esi, dword [ebp - 0x1c64]
mov eax, dword [ebp - 0x1c68]
add dword [ebp - 0x1c60], eax
mov eax, dword [ebx + 0x1b5c]
sub eax, dword [ebx + 0x1b58]
cdq
idiv dword [ebp - 0x1c68]
mov ecx, dword [ebp - 0x1c5c]
mov edx, dword [ebp - 0x1c60]
inc ecx
mov dword [ebp - 0x1c5c], ecx
cmp ecx, eax
jb 0x4213d6
push str.WriteShimSection____Now_write_NvidiaDriver
push 4
call fcn.00406d9c
lea eax, [ebx + 0x1adc]
cmp dword [eax], 0
pop ecx
pop ecx
je 0x4214b7
push eax
push dword [ebp + 0xc]
mov ecx, esi
push edi
call fcn.0041ba39
push str.WriteShimSection____Now_write_DispAdapters
push 4
call fcn.00406d9c
mov eax, dword [ebx + 0x1abc]
mov edx, dword [ebx + 0x1ab8]
sub eax, edx
and dword [ebp - 0x1c60], 0
pop ecx
pop ecx
xor ecx, ecx
sar eax, 2
mov dword [ebp - 0x1c5c], ecx
test eax, eax
je 0x42160d
push dword [edx + ecx*4]
mov ecx, esi
push dword [ebp + 0xc]
push edi
call fcn.0041bb44
test al, al
je 0x4215ab
mov eax, dword [ebx + 0x1ab8]
mov ecx, dword [ebp - 0x1c5c]
and dword [ebp - 0x1c68], 0
mov edx, dword [eax + ecx*4]
mov eax, dword [edx + 0xd4]
add edx, 0xd0
sub eax, dword [edx]
sar eax, 2
test eax, eax
je 0x421589
mov eax, dword [edx]
mov edx, dword [ebp - 0x1c68]
mov eax, dword [eax + edx*4]
cmp byte [eax + 0x79], 0
jne 0x421561
push ecx
push dword [ebp - 0x1c60]
add eax, 0x7a
mov ecx, esi
push eax
push dword [ebp + 0xc]
push edi
call fcn.0041cb6e
inc dword [ebp - 0x1c60]
mov ecx, dword [ebp - 0x1c5c]
mov eax, dword [ebx + 0x1ab8]
inc dword [ebp - 0x1c68]
mov edx, dword [eax + ecx*4]
mov eax, dword [edx + 0xd4]
add edx, 0xd0
sub eax, dword [edx]
sar eax, 2
cmp dword [ebp - 0x1c68], eax
jb 0x42152e
mov eax, dword [ebx + 0x1abc]
inc ecx
mov edx, dword [ebx + 0x1ab8]
sub eax, edx
sar eax, 2
mov dword [ebp - 0x1c5c], ecx
cmp ecx, eax
jb 0x4214ed
jmp 0x42160d
lea ecx, [ebp - 0x1d28]
call fcn.00408d76
mov esi, eax
mov byte [ebp - 4], 0x1a
push str.Error_when_write_Display_device
push esi
call fcn.0040b812
pop ecx
pop ecx
push dword [ebp - 0x1c5c]
mov ecx, esi
call fcn.0040a427
lea eax, [ebp - 0x28]
mov ecx, esi
push eax
call fcn.00408d5d
mov byte [ebp - 4], 0x1b
lea eax, [ebp - 0x28]
push eax
push 4
call fcn.00406d81
pop ecx
pop ecx
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x28]
call fcn.00407241
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x1d28]
call fcn.0040878b
mov eax, dword [ebx + 0x1ac8]
xor edx, edx
mov ecx, dword [ebx + 0x1ac4]
sub eax, ecx
mov esi, dword [ebp - 0x1c64]
sar eax, 2
mov dword [ebp - 0x1c68], edx
test eax, eax
je 0x4217ab
and dword [ebp - 0x1c7c], 0
mov eax, edx
or dword [ebp - 0x1c5c], 0xffffffff
shl eax, 2
mov dword [ebp - 0x1c60], eax
mov eax, dword [ecx + eax]
lea ecx, [ebp - 0x1c7c]
push ecx
mov ecx, ebx
push dword [eax + 0xb0]
push dword [eax + 0xb4]
call fcn.00412afe
mov edx, dword [ebx + 0x1ab8]
mov eax, dword [ebx + 0x1abc]
and dword [ebp - 0x1c8c], 0
sub eax, edx
sar eax, 2
mov dword [ebp - 0x1c84], edx
mov dword [ebp - 0x1c7c], eax
test eax, eax
je 0x4216f7
mov eax, dword [ebx + 0x1ac4]
mov ecx, dword [ebp - 0x1c60]
mov edi, dword [ebp - 0x1c5c]
mov esi, dword [ebp - 0x1c7c]
mov ebx, dword [ebp - 0x1c8c]
mov eax, dword [ecx + eax]
add eax, 0x3c
mov dword [ebp - 0x1c74], eax
mov ecx, dword [edx + ebx*4]
mov edx, eax
add ecx, 0xc
call fcn.00417dbe
mov edx, dword [ebp - 0x1c84]
test al, al
mov eax, dword [ebp - 0x1c74]
cmovne edi, ebx
inc ebx
cmp ebx, esi
jb 0x4216bc
mov ebx, dword [ebp - 0x1c80]
mov esi, dword [ebp - 0x1c64]
mov dword [ebp - 0x1c5c], edi
mov edi, dword [ebp - 0x1c70]
push dword [ebp - 0x1c5c]
mov eax, dword [ebx + 0x1ac4]
add eax, dword [ebp - 0x1c60]
push ecx
mov ecx, esi
push dword [eax]
push dword [ebp + 0xc]
push edi
call fcn.0041d842
test al, al
je 0x421743
mov eax, dword [ebx + 0x1ac8]
mov edx, dword [ebp - 0x1c68]
mov ecx, dword [ebx + 0x1ac4]
inc edx
sub eax, ecx
mov dword [ebp - 0x1c68], edx
sar eax, 2
cmp edx, eax
jb 0x421634
jmp 0x4217ab
lea ecx, [ebp - 0x1d28]
call fcn.00408d76
mov esi, eax
mov byte [ebp - 4], 0x1c
push str.Error_when_write_gpu_info
push esi
call fcn.0040b812
pop ecx
pop ecx
push dword [ebp - 0x1c5c]
mov ecx, esi
call fcn.0040a503
lea eax, [ebp - 0x28]
mov ecx, esi
push eax
call fcn.00408d5d
mov byte [ebp - 4], 0x1d
lea eax, [ebp - 0x28]
push eax
push 4
call fcn.00406d81
pop ecx
pop ecx
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x28]
call fcn.00407241
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x1d28]
call fcn.0040878b
mov esi, dword [ebp - 0x1c64]
lea eax, [ebx + 0x1ad0]
mov ecx, esi
push eax
push dword [ebp + 0xc]
push edi
call fcn.0042025a
push dword [ebp + 0xc]
mov ecx, esi
push edi
call fcn.0041c480
push dword [ebp + 0xc]
mov ecx, esi
push edi
call fcn.0041c70c
push dword [ebp + 0xc]
mov ecx, esi
push edi
call fcn.0041c996
lea eax, [ebp - 0x88]
push eax
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x1c74], esp
push str.hardware
call fcn.0040724b
mov byte [ebp - 4], 0x1e
lea eax, [ebp + 0x10]
push eax
mov byte [ebp - 4], 4
mov ecx, esi
call fcn.0042220e
test al, al
je 0x421835
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x88]
mov ecx, edi
push eax
call fcn.00407889
push 0
push 0x4914c4
lea ecx, [ebp - 0x88]
call fcn.00407411
lea ecx, [ebp - 0xb8]
call fcn.00407270
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x70]
mov edx, dword [ebp + 0xc]
call fcn.0041ab48
push str.____Insert_additional_hardware_here___
lea edx, [ebp - 0x70]
lea ecx, [ebp - 0x28]
call fcn.004234e0
pop ecx
mov esi, eax
mov byte [ebp - 4], 0x20
mov ecx, dword [ebp - 0x1c6c]
call fcn.004071ba
push eax
mov edx, esi
lea ecx, [ebp - 0x40]
call fcn.0042354c
pop ecx
mov byte [ebp - 4], 0x21
mov ecx, edi
push 0xffffffffffffffff
push 0
push eax
call fcn.00407889
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x40]
call fcn.00407241
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x28]
call fcn.00407241
push str.__hardware_
lea edx, [ebp - 0x70]
lea ecx, [ebp - 0x28]
call fcn.004234e0
pop ecx
mov esi, eax
mov byte [ebp - 4], 0x22
mov ecx, dword [ebp - 0x1c6c]
call fcn.004071ba
push eax
mov edx, esi
lea ecx, [ebp - 0x40]
call fcn.0042354c
pop ecx
mov byte [ebp - 4], 0x23
mov ecx, edi
push 0xffffffffffffffff
push 0
push eax
call fcn.00407889
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x40]
call fcn.00407241
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x28]
call fcn.00407241
push str._software_
lea edx, [ebp - 0x70]
lea ecx, [ebp - 0x28]
call fcn.004234e0
pop ecx
mov esi, eax
mov byte [ebp - 4], 0x24
mov ecx, dword [ebp - 0x1c6c]
call fcn.004071ba
push eax
mov edx, esi
lea ecx, [ebp - 0x40]
call fcn.0042354c
pop ecx
mov byte [ebp - 4], 0x25
push 0xffffffffffffffff
push 0
push eax
mov ecx, edi
call fcn.00407889
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x40]
call fcn.00407241
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x28]
call fcn.00407241
push str.WriteShimSection____Now_write_OS
push 4
call fcn.00406d9c
mov al, byte [ebx + 0xd]
mov esi, dword [ebp - 0x1c64]
pop ecx
pop ecx
lea ecx, [ebx + 0x28]
test al, al
je 0x42198d
push ecx
push dword [ebp + 0xc]
mov ecx, esi
push edi
call fcn.0041f7cc
test al, al
jne 0x42198d
push str.Write_OS_info_failed_
push 4
call fcn.00406d9c
pop ecx
pop ecx
push str.WriteShimSection____Now_write_.NET_FW_info
push 4
call fcn.00406d9c
pop ecx
pop ecx
lea eax, [ebx + 0x1b24]
mov ecx, esi
push eax
push dword [ebp + 0xc]
push edi
call fcn.004202b8
lea ecx, [ebp - 0xa0]
call fcn.00407270
mov byte [ebp - 4], 0x26
lea eax, [ebx + 0x1b30]
lea ecx, [ebp - 0xa0]
cmp ecx, eax
je 0x4219d6
push 0xffffffffffffffff
push 0
push eax
call fcn.0040748a
mov al, byte [ebx + 0x1b48]
mov ecx, esi
mov byte [ebp - 0x1c74], al
lea eax, [ebp - 0xa0]
push dword [ebp - 0x1c74]
push eax
push dword [ebp + 0xc]
push edi
call fcn.004203e4
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0xa0]
call fcn.00407241
push str.WriteShimSection____Now_write_PCI_Device
push 4
call fcn.00406d9c
mov eax, dword [ebx + 0x1b08]
mov edx, dword [ebx + 0x1b04]
sub eax, edx
pop ecx
pop ecx
xor ecx, ecx
sar eax, 2
mov dword [ebp - 0x1c70], ecx
test eax, eax
je 0x421a76
push dword [edx + ecx*4]
mov ecx, esi
push dword [ebp + 0xc]
push edi
call fcn.0041ff30
test al, al
jne 0x421a54
push str.Write_PCI_device_failed_
push 4
call fcn.00406d9c
pop ecx
pop ecx
mov eax, dword [ebx + 0x1b08]
mov ecx, dword [ebp - 0x1c70]
mov edx, dword [ebx + 0x1b04]
inc ecx
sub eax, edx
mov dword [ebp - 0x1c70], ecx
sar eax, 2
cmp ecx, eax
jb 0x421a34
lea eax, [ebp - 0x88]
push eax
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x1c74], esp
push str.software
call fcn.0040724b
mov byte [ebp - 4], 0x27
lea eax, [ebp + 0x10]
push eax
mov byte [ebp - 4], 0x1f
mov ecx, esi
call fcn.0042220e
test al, al
je 0x421acd
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x88]
mov ecx, edi
push eax
call fcn.00407889
push 0
push 0x4914c4
lea ecx, [ebp - 0x88]
call fcn.00407411
mov ebx, dword [ebp + 0xc]
mov ecx, esi
push ebx
push edi
call fcn.004204c6
push ebx
push edi
mov ecx, esi
call fcn.00420a05
push str.____Insert_additional_software_here___
lea edx, [ebp - 0x70]
lea ecx, [ebp - 0x28]
call fcn.004234e0
pop ecx
mov esi, eax
mov byte [ebp - 4], 0x28
mov ebx, dword [ebp - 0x1c6c]
mov ecx, ebx
call fcn.004071ba
push eax
mov edx, esi
lea ecx, [ebp - 0x40]
call fcn.0042354c
pop ecx
mov byte [ebp - 4], 0x29
mov ecx, edi
push 0xffffffffffffffff
push 0
push eax
call fcn.00407889
mov byte [ebp - 4], 0x28
lea ecx, [ebp - 0x40]
call fcn.00407241
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x28]
call fcn.00407241
push str.__software_
lea edx, [ebp - 0x70]
lea ecx, [ebp - 0x28]
call fcn.004234e0
pop ecx
mov esi, eax
mov byte [ebp - 4], 0x2a
mov ecx, ebx
call fcn.004071ba
push eax
mov edx, esi
lea ecx, [ebp - 0x40]
call fcn.0042354c
pop ecx
mov byte [ebp - 4], 0x2b
mov ecx, edi
push 0xffffffffffffffff
push 0
push eax
call fcn.00407889
mov byte [ebp - 4], 0x2a
lea ecx, [ebp - 0x40]
call fcn.00407241
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x28]
call fcn.00407241
push str._network_environment_
lea edx, [ebp - 0x70]
lea ecx, [ebp - 0x28]
call fcn.004234e0
pop ecx
mov esi, eax
mov byte [ebp - 4], 0x2c
mov ecx, ebx
call fcn.004071ba
push eax
mov edx, esi
lea ecx, [ebp - 0x40]
call fcn.0042354c
pop ecx
mov byte [ebp - 4], 0x2d
xor esi, esi
push 0xffffffffffffffff
push esi
push eax
mov ecx, edi
call fcn.00407889
mov byte [ebp - 4], 0x2c
lea ecx, [ebp - 0x40]
call fcn.00407241
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x28]
call fcn.00407241
lea eax, [ebp - 0x88]
push eax
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x1c74], esp
push str.network_environment
call fcn.0040724b
mov byte [ebp - 4], 0x2e
lea eax, [ebp + 0x10]
push eax
mov byte [ebp - 4], 0x1f
mov ecx, dword [ebp - 0x1c64]
call fcn.0042220e
test al, al
je 0x421c38
push 0xffffffffffffffff
push esi
lea eax, [ebp - 0x88]
mov ecx, edi
push eax
call fcn.00407889
push esi
push 0x4914c4
lea ecx, [ebp - 0x88]
call fcn.00407411
push str.____Insert_additional_network_environment_here___
lea edx, [ebp - 0x70]
lea ecx, [ebp - 0x58]
call fcn.004234e0
pop ecx
mov esi, eax
mov byte [ebp - 4], 0x2f
mov ecx, ebx
call fcn.004071ba
push eax
mov edx, esi
lea ecx, [ebp - 0x40]
call fcn.0042354c
pop ecx
mov byte [ebp - 4], 0x30
mov ecx, edi
push 0xffffffffffffffff
push 0
push eax
call fcn.00407889
mov byte [ebp - 4], 0x2f
lea ecx, [ebp - 0x40]
call fcn.00407241
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x58]
call fcn.00407241
push str.__network_environment_
lea edx, [ebp - 0x70]
lea ecx, [ebp - 0x58]
call fcn.004234e0
pop ecx
mov esi, eax
mov byte [ebp - 4], 0x31
mov ecx, ebx
call fcn.004071ba
push eax
mov edx, esi
lea ecx, [ebp - 0x40]
call fcn.0042354c
pop ecx
mov byte [ebp - 4], 0x32
mov ecx, edi
push 0xffffffffffffffff
push 0
push eax
call fcn.00407889
mov byte [ebp - 4], 0x31
lea ecx, [ebp - 0x40]
call fcn.00407241
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x58]
call fcn.00407241
mov esi, str.____Insert_additional_sections_here___
push esi
call fcn.00459e88
pop ecx
push eax
push esi
mov ecx, edi
call fcn.0040751f
mov ecx, ebx
call fcn.004071ba
push eax
mov ecx, edi
call fcn.004071fc
mov esi, str.__shim__n
push esi
call fcn.00459e88
pop ecx
push eax
push esi
mov ecx, edi
call fcn.0040751f
mov ecx, edi
call fcn.0040992c
mov esi, eax
lea ecx, [ebp - 0x1d28]
call fcn.00408d76
mov edi, eax
mov byte [ebp - 4], 0x33
push str.Exit_WriteShimSection_length
push edi
call fcn.0040b812
pop ecx
pop ecx
push esi
mov ecx, edi
call fcn.0040a427
lea eax, [ebp - 0x28]
mov ecx, edi
push eax
call fcn.00408d5d
mov byte [ebp - 4], 0x34
lea eax, [ebp - 0x28]
push eax
push 4
call fcn.00406d81
pop ecx
pop ecx
mov byte [ebp - 4], 0x33
lea ecx, [ebp - 0x28]
call fcn.00407241
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x1d28]
call fcn.0040878b
xor edi, edi
mov byte [ebp - 4], 4
lea ecx, [ebp - 0xb8]
call fcn.00407241
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x1c58]
call fcn.0040fd8b
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x88]
call fcn.00407241
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xd0]
call fcn.00407241
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x70]
call fcn.00407241
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x10]
call fcn.0040ed72
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0045079d
mov esp, ebp
pop ebp
ret 0x1c