Function at 0x10034090
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa8
mov eax, dword [0x100ad00c]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 0x14]
push ebx
mov ebx, dword [ebp + 0xc]
push esi
mov esi, dword [ebp + 8]
mov dword [ebp - 0x74], eax
mov eax, dword [eax]
push edi
mov edi, dword [ebp + 0x18]
mov dword [ebp - 0x6c], edi
mov cl, byte [eax]
inc eax
mov edi, dword [ebp - 0x74]
mov dword [ebp - 0x7c], edx
mov dword [ebp - 0x78], eax
mov dword [edi], eax
cmp cl, 0x52
jne case.0x100340f7.66
mov ecx, eax
mov al, byte [ecx]
inc ecx
movsx eax, al
add eax, 0xffffffbf
mov dword [edi], ecx
mov edi, dword [ebp - 0x6c]
mov dword [ebp - 0x80], ecx
cmp eax, 0x36
ja case.0x100340f7.66
movzx eax, byte [eax + 0x10036b24]
jmp dword [eax*4 + 0x10036afc]
push 5
push str.Tfp64
push dword [ebp - 0x78]
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x8c], 0x3f
mov dword [ebp - 0x84], 0x20
call sym.IntelFirmwareInterfaceInstallHelper.dll_nocrt_strncmp
add esp, 0xc
test eax, eax
je 0x100341a4
mov ecx, dword [ebp - 0x98]
cmp dword [ebp - 0x8c], ecx
je case.0x100340f7.66
test eax, eax
jns 0x10034157
mov eax, dword [ebp - 0x84]
dec eax
mov dword [ebp - 0x8c], eax
jmp 0x1003416a
mov ecx, dword [ebp - 0x84]
mov eax, dword [ebp - 0x8c]
inc ecx
mov dword [ebp - 0x98], ecx
cmp eax, ecx
jl case.0x100340f7.66
sub eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
mov dword [ebp - 0x84], eax
lea edx, [eax + eax*2]
movzx ecx, byte [edx*8 + 0x10084f18]
lea eax, [edx*8 + 0x10084f19]
push ecx
push eax
push dword [ebp - 0x78]
call sym.IntelFirmwareInterfaceInstallHelper.dll_nocrt_strncmp
add esp, 0xc
test eax, eax
jne 0x10034132
mov eax, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x74]
push 0x10
push 0
lea edx, [eax + eax*2]
shl edx, 3
mov dword [ebp - 0x78], edx
movzx eax, byte [edx + 0x10084f18]
dec eax
add dword [ecx], eax
movzx eax, word [edx + 0x10084f2c]
mov ecx, dword [ebp + 0x20]
or ecx, eax
lea eax, [ebp - 0x64]
push eax
mov dword [ebp - 0x68], ecx
call sym.IntelFirmwareInterfaceInstallHelper.dll_nocrt_memset
mov eax, dword [ebp - 0x78]
add esp, 0xc
mov edx, dword [ebp - 0x68]
movzx eax, byte [eax + 0x10084f23]
dec eax
test dl, 0x10
je 0x10034296
cmp eax, 7
ja case.0x1003429b.2
jmp dword [eax*4 + 0x10036b5c]
mov ecx, dword [ebp - 0x7c]
mov eax, dword [ecx]
add eax, 4
mov dword [ecx], eax
mov eax, dword [eax - 4]
cdq
mov dword [ebp - 0x60], edx
mov ecx, eax
mov edx, dword [ebp - 0x68]
or edx, 0x800
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x68], edx
jmp 0x100342be
mov ecx, dword [ebp - 0x7c]
mov eax, dword [ecx]
add eax, 4
mov dword [ecx], eax
mov eax, dword [eax - 4]
cdq
mov dword [ebp - 0x60], edx
mov ecx, eax
mov edx, dword [ebp - 0x68]
or edx, 0x1000
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x68], edx
jmp 0x100342be
mov ecx, dword [ebp - 0x7c]
mov eax, dword [ecx]
add eax, 4
mov dword [ecx], eax
mov eax, dword [eax - 4]
cdq
mov dword [ebp - 0x60], edx
mov ecx, eax
mov edx, dword [ebp - 0x68]
or edx, 0x2000
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x68], edx
jmp 0x100342be
mov ecx, dword [ebp - 0x7c]
mov eax, dword [ecx]
add eax, 8
or edx, 0x4000
mov dword [ecx], eax
mov dword [ebp - 0x68], edx
mov ecx, dword [eax - 8]
mov eax, dword [eax - 4]
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x60], eax
jmp 0x100342be
cmp eax, 9
ja case.0x1003429b.2
jmp dword [eax*4 + 0x10036b7c]
mov ecx, dword [ebp - 0x7c]
mov eax, dword [ecx]
add eax, 4
or edx, 0x800
mov dword [ecx], eax
mov al, byte [eax - 4]
mov byte [ebp - 0x64], al
mov dword [ebp - 0x68], edx
mov ecx, dword [ebp - 0x64]
mov dword [ebp - 0x6c], ecx
test edx, 0x400
je 0x10034380
push edx
push dword [ebp + 0x1c]
lea eax, [ebp - 0x54]
push edi
push ecx
push 0x50
push eax
call fcn.10054b90
add esp, 0x18
push eax
lea eax, [ebp - 0x54]
push eax
push ebx
mov ecx, esi
call dword [section..rdata]
call esi
add esp, 0xc
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10001210
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x7c]
mov eax, dword [ecx]
add eax, 4
or edx, 0x1000
mov dword [ecx], eax
mov ax, word [eax - 4]
mov word [ebp - 0x64], ax
jmp 0x100342b8
mov ecx, dword [ebp - 0x7c]
mov eax, dword [ecx]
add eax, 4
or edx, 0x2000
mov dword [ecx], eax
mov dword [ebp - 0x68], edx
mov ecx, dword [eax - 4]
mov dword [ebp - 0x64], ecx
jmp 0x100342be
mov ecx, dword [ebp - 0x7c]
mov eax, dword [ecx]
add eax, 8
mov dword [ecx], eax
mov ecx, dword [eax - 8]
mov dword [ebp - 0x64], ecx
mov ax, word [eax - 4]
mov word [ebp - 0x60], ax
jmp 0x100342be
mov eax, dword [ebp - 0x7c]
mov ecx, dword [eax]
add ecx, 0xc
mov dword [eax], ecx
mov eax, dword [ecx - 0xc]
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x64], eax
mov eax, dword [ecx - 8]
mov dword [ebp - 0x60], eax
mov ax, word [ecx - 4]
mov ecx, dword [ebp - 0x6c]
mov word [ebp - 0x5c], ax
jmp 0x100342c1
mov eax, dword [ebp - 0x78]
mov ecx, dword [eax + 0x10084f28]
mov dword [ebp - 0x90], ecx
cmp ecx, 0xc
ja case.0x100340f7.66
jmp dword [ecx*4 + 0x10036ba4]
movzx eax, byte [eax + 0x10084f24]
mov ecx, dword [ebp - 0x6c]
push edx
push dword [ebp + 0x1c]
push edi
push eax
push dword [ebp - 0x60]
lea eax, [ebp - 0x54]
push ecx
push eax
call fcn.1000d600
add esp, 0x1c
jmp 0x100342e1
test edi, edi
jns 0x100343e0
movzx eax, byte [eax + 0x10084f23]
mov ecx, edx
shr ecx, 2
and ecx, 2
or edx, 4
lea edi, [ecx + eax*2]
mov eax, dword [ebp - 0x78]
movzx eax, byte [eax + 0x10084f24]
push edx
push dword [ebp + 0x1c]
push edi
push eax
push dword [ebp - 0x60]
mov eax, dword [ebp - 0x6c]
push eax
lea eax, [ebp - 0x54]
push eax
call fcn.1000d600
add esp, 0x1c
jmp 0x100342e1
mov ecx, dword [ebp - 0x6c]
cmp ecx, 1
jne 0x10034441
cmp dword [ebp - 0x60], 0
jne 0x10034441
and edx, 8
mov ecx, esi
or edx, 0x20
shr edx, 3
push edx
push str.true
push ebx
call dword [section..rdata]
call esi
add esp, 0xc
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10001210
mov esp, ebp
pop ebp
ret
mov eax, ecx
or eax, dword [ebp - 0x60]
jne 0x1003446e
push 5
push str.false
push ebx
mov ecx, esi
call dword [section..rdata]
call esi
add esp, 0xc
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10001210
mov esp, ebp
pop ebp
ret
push dword [ebp - 0x60]
push ecx
push str.__lld_
push 0
push 0
push ebx
push esi
call fcn.100549d0
add esp, 0x1c
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10001210
mov esp, ebp
pop ebp
ret
movzx eax, word [ebp - 0x62]
and edx, 0xffff146f
or edx, 0x1000
push edx
push 0xffffffffffffffff
push 4
mov dword [ebp - 0x68], edx
cdq
push 0x10
push edx
push eax
lea eax, [ebp - 0x54]
push eax
call fcn.1000d600
mov ecx, dword [ebp - 0x68]
movzx eax, word [ebp - 0x64]
push ecx
push 0xffffffffffffffff
push 4
cdq
push 0x10
push edx
push eax
lea eax, [ebp - 0x4f]
mov byte [ebp - 0x50], 0x3a
push eax
call fcn.1000d600
mov eax, 9
add esp, 0x38
jmp 0x100342e1
movzx eax, word [ebp - 0x60]
and edx, 0xffff046f
mov dword [ebp - 0x68], edx
or edx, 0x1000
push edx
push 0xffffffffffffffff
push 4
cdq
push 0x10
push edx
push eax
lea eax, [ebp - 0x54]
push eax
call fcn.1000d600
mov ecx, dword [ebp - 0x68]
lea eax, [ebp - 0x4f]
or ecx, 0x2000
mov byte [ebp - 0x50], 0x3a
push ecx
push 0xffffffffffffffff
push 8
push 0x10
push 0
push dword [ebp - 0x64]
push eax
call fcn.1000d600
mov eax, 0xd
add esp, 0x38
jmp 0x100342e1
movzx eax, word [ebp - 0x5c]
and edx, 0xffff046f
mov dword [ebp - 0x68], edx
or edx, 0x1000
push edx
push 0xffffffffffffffff
push 4
cdq
push 0x10
push edx
push eax
lea eax, [ebp - 0x54]
push eax
call fcn.1000d600
mov ecx, dword [ebp - 0x68]
lea eax, [ebp - 0x4f]
or ecx, 0x4000
mov byte [ebp - 0x50], 0x3a
push ecx
push 0xffffffffffffffff
push 0x10
push 0x10
push dword [ebp - 0x60]
push dword [ebp - 0x64]
push eax
call fcn.1000d600
mov eax, 0x15
add esp, 0x38
jmp 0x100342e1
movzx eax, byte [ebp - 0x61]
push eax
movzx eax, byte [ebp - 0x62]
push eax
movzx eax, byte [ebp - 0x63]
push eax
movzx eax, byte [ebp - 0x64]
push eax
push str._u._u._u._u
push 0
push 0
push ebx
push esi
call fcn.100549d0
add esp, 0x24
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10001210
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x6c]
lea eax, [ecx + 0x1000]
cmp eax, 0x2000
jb 0x100345f6
push ecx
push ebx
push esi
call fcn.10033d10
add esp, 0xc
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10001210
mov esp, ebp
pop ebp
ret
push 8
push str._BadIPv6
lea eax, [ebp - 0x54]
push eax
push ecx
push edx
push edi
push ebx
push esi
push 0
call fcn.1000e640
add esp, 0x24
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10001210
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x6c]
lea eax, [ecx + 0x1000]
cmp eax, 0x2000
jb 0x10034672
movzx eax, byte [ecx + 5]
push eax
movzx eax, byte [ecx + 4]
push eax
movzx eax, byte [ecx + 3]
push eax
movzx eax, byte [ecx + 2]
push eax
movzx eax, byte [ecx + 1]
push eax
movzx eax, byte [ecx]
push eax
push str._02x:_02x:_02x:_02x:_02x:_02x
push 0
push 0
push ebx
push esi
call fcn.100549d0
add esp, 0x2c
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10001210
mov esp, ebp
pop ebp
ret
push 7
push str._BadMac
jmp 0x100345fd
mov ecx, dword [ebp - 0x6c]
lea eax, [ecx + 0x1000]
cmp eax, 0x2000
jb 0x10034771
mov edx, dword [ecx + 0x10]
mov eax, edx
sub eax, 1
je 0x100346fa
sub eax, 1
je 0x100346c8
sub eax, 2
je 0x10034631
push edx
push str.unsupported_netaddr_type_u
push 0
push 0
push ebx
push esi
call fcn.100549d0
add esp, 0x18
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10001210
mov esp, ebp
pop ebp
ret
mov eax, dword [ecx + 0x14]
cmp eax, 0xffffffff
je 0x100345da
push eax
push ecx
push str.__RTnaipv6_:_u
push 0
push 0
push ebx
push esi
call fcn.100549d0
add esp, 0x1c
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10001210
mov esp, ebp
pop ebp
ret
mov eax, dword [ecx + 0x14]
cmp eax, 0xffffffff
jne 0x10034739
movzx eax, byte [ecx + 3]
push eax
movzx eax, byte [ecx + 2]
push eax
movzx eax, byte [ecx + 1]
push eax
movzx eax, byte [ecx]
push eax
push str._u._u._u._u
push 0
push 0
push ebx
push esi
call fcn.100549d0
add esp, 0x24
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10001210
mov esp, ebp
pop ebp
ret
push eax
movzx eax, byte [ecx + 3]
push eax
movzx eax, byte [ecx + 2]
push eax
movzx eax, byte [ecx + 1]
push eax
movzx eax, byte [ecx]
push eax
push str._u._u._u._u:_u
push 0
push 0
push ebx
push esi
call fcn.100549d0
add esp, 0x28
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10001210
mov esp, ebp
pop ebp
ret
push 0xb
push str._BadNetAddr
jmp 0x100345fd
mov ecx, dword [ebp - 0x6c]
lea eax, [ecx + 0x1000]
cmp eax, 0x2000
jb 0x100347e5
movzx eax, byte [ecx + 0xf]
push eax
movzx eax, byte [ecx + 0xe]
push eax
movzx eax, byte [ecx + 0xd]
push eax
movzx eax, byte [ecx + 0xc]
push eax
movzx eax, byte [ecx + 0xb]
push eax
movzx eax, byte [ecx + 0xa]
push eax
movzx eax, byte [ecx + 9]
push eax
movzx eax, byte [ecx + 8]
push eax
movzx eax, word [ecx + 6]
push eax
movzx eax, word [ecx + 4]
push eax
push dword [ecx]
push str._08x__04x__04x__02x_02x__02x_02x_02x_02x_02x_02x
push 0
push 0
push ebx
push esi
call fcn.100549d0
add esp, 0x40
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10001210
mov esp, ebp
pop ebp
ret
push 8
push str._BadUuid
jmp 0x100345fd
mov ecx, dword [ebp - 0x6c]
lea eax, [ecx + 0x1000]
cmp eax, 0x2000
jb case.0x100340f7.66
test ecx, ecx
je case.0x100340f7.66
mov eax, dword [ecx]
and eax, 0xffff0004
cmp eax, 0xbabe0004
jne case.0x100340f7.66
xor edi, edi
cmp dword [ebp - 0x90], 0xb
jne 0x10034845
push 0x50
lea eax, [ebp - 0x54]
push eax
push ebx
push esi
push dword [ecx + 4]
call fcn.100546f0
mov ecx, dword [ebp - 0x64]
add esp, 0x14
mov edx, dword [ebp - 0x68]
mov edi, eax
cmp dword [ecx + 8], 0
jbe 0x10034889
mov ecx, esi
test dl, 8
je 0x1003485b
push 3
push 0x1007b77c
jmp 0x10034862
push 2
push 0x10085764
push ebx
call dword [section..rdata]
call esi
mov edi, eax
add esp, 0xc
mov eax, dword [ebp - 0x64]
push dword [eax + 8]
push dword [eax + 0xc]
push ebx
mov ecx, esi
call dword [section..rdata]
call esi
add esp, 0xc
add edi, eax
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10001210
mov esp, ebp
pop ebp
ret
mov al, byte [ecx]
mov byte [ebp - 0x6d], al
lea eax, [ecx + 1]
mov ecx, dword [ebp - 0x74]
mov dword [ecx], eax
mov al, byte [ebp - 0x6d]
cmp al, 0x6e
je 0x10034a1d
cmp al, 0x73
jne case.0x100340f7.66
cmp byte [ebp + 0x24], 0x6c
jne case.0x100340f7.66
mov eax, dword [edx]
add eax, 4
mov dword [edx], eax
mov ecx, dword [eax - 4]
mov dword [ebp - 0x8c], ecx
lea eax, [ecx + 0x1000]
cmp eax, 0x2000
jb 0x10034906
mov edx, dword [ebp + 0x1c]
xor eax, eax
mov dword [ebp - 0x84], eax
test edx, edx
jle 0x1003491b
cmp word [ecx + eax*2], 0
je 0x1003491b
inc eax
mov dword [ebp - 0x84], eax
cmp eax, edx
jl 0x100348f2
jmp 0x1003491b
mov eax, 6
mov dword [ebp - 0x8c], 0x100ad924
mov dword [ebp - 0x84], eax
xor ecx, ecx
test byte [ebp + 0x20], 2
mov dword [ebp - 0x80], ecx
jne 0x10034966
dec edi
cmp edi, eax
jl 0x10034966
mov ecx, edi
sub ecx, eax
inc ecx
sub edi, ecx
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x6c], edi
xor edi, edi
lea ebx, [ebx]
push 1
push 0x1007a924
push ebx
mov ecx, esi
call dword [section..rdata]
call esi
add esp, 0xc
add edi, eax
sub dword [ebp - 0x78], 1
jne 0x10034940
mov dword [ebp - 0x80], edi
mov edi, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x80]
mov eax, dword [ebp - 0x84]
sub edi, eax
mov dword [ebp - 0x6c], edi
test eax, eax
jle 0x100349e3
mov edi, eax
jmp 0x10034980
lea eax, [ebp - 0x78]
mov dword [ebp - 0x78], 0
push eax
lea eax, [ebp - 0x8c]
dec edi
push eax
call fcn.10004280
mov eax, dword [ebp - 0x78]
add esp, 8
cmp eax, 0x80
jae 0x100349ad
mov byte [ebp - 0x54], al
lea eax, [ebp - 0x53]
jmp 0x100349ba
push eax
lea eax, [ebp - 0x54]
push eax
call fcn.1000c520
add esp, 8
lea ecx, [ebp - 0x54]
mov byte [eax], 0
sub eax, ecx
push eax
mov eax, ecx
mov ecx, esi
push eax
push ebx
call dword [section..rdata]
call esi
mov ecx, dword [ebp - 0x80]
add esp, 0xc
add ecx, eax
mov dword [ebp - 0x80], ecx
test edi, edi
jg 0x10034980
mov edi, dword [ebp - 0x6c]
sub edi, 1
js 0x10034a0a
push 1
push 0x1007a924
push ebx
mov ecx, esi
call dword [section..rdata]
call esi
mov ecx, dword [ebp - 0x80]
add esp, 0xc
add ecx, eax
sub edi, 1
mov dword [ebp - 0x80], ecx
jns 0x100349e8
pop edi
pop esi
mov eax, ecx
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10001210
mov esp, ebp
pop ebp
ret
mov eax, dword [edx]
add eax, 4
mov dword [edx], eax
mov edx, dword [eax - 4]
mov ecx, edx
lea eax, [edx + 0x1000]
cmp eax, 0x2000
jae 0x10034a4a
push 0xc
push str._BadBaseName
lea eax, [ebp - 0x54]
push eax
push edx
push dword [ebp + 0x20]
jmp 0x10034603
mov al, byte [edx]
test al, al
je 0x10034a7e
cmp al, 0x5c
je 0x10034a60
cmp al, 0x2f
je 0x10034a60
cmp al, 0x3a
jne 0x10034a76
lea esp, [esp]
mov al, byte [ecx + 1]
inc ecx
test al, al
je 0x10034a7e
cmp al, 0x5c
je 0x10034a60
cmp al, 0x2f
je 0x10034a60
cmp al, 0x3a
je 0x10034a60
mov edx, ecx
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x10034a50
sub ecx, edx
push ecx
push edx
jmp 0x100342e6
mov edi, dword [ebp - 0x74]
mov eax, dword [ebp - 0x80]
mov cl, byte [ecx]
inc eax
mov dword [edi], eax
mov edi, dword [ebp - 0x6c]
cmp cl, 0x6e
jne case.0x100340f7.66
mov eax, dword [edx]
add eax, 4
mov dword [edx], eax
xor edx, edx
mov eax, dword [eax - 4]
mov ecx, eax
add eax, 0x1000
cmp eax, 0x2000
jae 0x10034acc
push 8
push str._BadFnNm
lea eax, [ebp - 0x54]
push eax
push ecx
push dword [ebp + 0x20]
jmp 0x10034603
mov edi, ecx
mov al, byte [edi]
test al, al
je 0x10034b1d
cmp al, 0x28
je 0x10034b1d
cmp al, 0x20
je 0x10034aef
cmp al, 9
je 0x10034aef
inc ecx
cmp al, 0x3c
jne 0x10034ae8
inc edx
jmp 0x10034b17
cmp al, 0x3e
jne 0x10034b17
dec edx
jmp 0x10034b17
mov al, byte [ecx + 1]
inc ecx
test al, al
je 0x10034b17
cmp al, 0x20
je 0x10034b03
cmp al, 9
je 0x10034b03
cmp al, 0x28
jne 0x10034b0d
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x10034af7
jmp 0x10034b17
test al, al
je 0x10034b17
test edx, edx
jne 0x10034b17
mov edi, ecx
mov al, byte [ecx]
test al, al
jne 0x10034ad4
sub ecx, edi
push ecx
push edi
jmp 0x100342e6
mov al, byte [ecx]
mov byte [ebp - 0x85], al
lea eax, [ecx + 1]
mov ecx, dword [ebp - 0x74]
mov dword [ebp - 0x90], eax
mov dword [ecx], eax
movsx eax, byte [ebp - 0x85]
add eax, 0xffffffa8
cmp eax, 0x20
ja case.0x100340f7.66
movzx eax, byte [eax + 0x10036be8]
jmp dword [eax*4 + 0x10036bd8]
mov eax, dword [edx]
add eax, 4
mov dword [edx], eax
mov edx, dword [ebp + 0x1c]
mov dword [ebp - 0x80], edx
mov ecx, dword [eax - 4]
mov dword [ebp - 0x68], ecx
test edx, edx
jns 0x10034b7c
mov edx, 0x10
mov dword [ebp - 0x80], edx
cmp byte [ebp - 0x85], 0x78
mov dword [ebp - 0x78], edx
jne 0x10034ba4
mov dword [ebp - 0x8c], ecx
mov dword [ebp - 0x84], 0
mov dword [ebp - 0x9c], 8
jmp 0x10034bfe
mov ecx, dword [ebp - 0x7c]
add eax, 8
mov dword [ecx], eax
mov ecx, dword [eax - 8]
mov eax, dword [eax - 4]
mov dword [ebp - 0x8c], ecx
mov dword [ebp - 0x84], eax
test eax, eax
ja 0x10034bf1
jb 0x10034bc9
cmp ecx, 0xffffffff
ja 0x10034bf1
mov ecx, dword [ebp - 0x78]
xor eax, eax
add ecx, dword [ebp - 0x8c]
adc eax, dword [ebp - 0x84]
test eax, eax
ja 0x10034bf1
jb 0x10034be5
cmp ecx, 0xffffffff
ja 0x10034bf1
mov dword [ebp - 0x9c], 8
jmp 0x10034bfb
mov dword [ebp - 0x9c], 0x10
mov ecx, dword [ebp - 0x68]
test ecx, ecx
je 0x10035245
mov eax, dword [ebp - 0x74]
mov edi, dword [ebp - 0x74]
mov eax, dword [eax]
mov dl, byte [eax]
inc eax
mov dword [edi], eax
mov al, dl
mov edi, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x80]
cmp al, 0x44
je 0x10034f90
cmp al, 0x64
je 0x10034d87
cmp al, 0x73
jne case.0x100340f7.66
mov edi, edx
dec edi
cmp dword [ebp - 0x78], 0
jbe case.0x100340f7.66
cmp byte [ebp - 0x85], 0x78
lea eax, [ecx + 1]
mov dword [ebp - 0x7c], eax
movzx eax, byte [ecx]
push eax
jne 0x10034c68
push str._02x
push 0
push 0
push ebx
push esi
call fcn.100549d0
add esp, 0x18
jmp 0x10034c8d
push dword [ebp - 0x84]
push dword [ebp - 0x8c]
push dword [ebp - 0x9c]
push str._0llx:__02x
push 0
push 0
push ebx
push esi
call fcn.100549d0
add esp, 0x24
mov dword [ebp - 0x74], eax
mov eax, dword [ebp + 0x20]
test eax, 0x208
jne 0x10034ce3
test edi, edi
jle 0x10034d71
mov eax, dword [ebp - 0x7c]
movzx eax, byte [eax]
push eax
push str.__02x
push 0
push 0
push ebx
push esi
call fcn.100549d0
mov ecx, dword [ebp - 0x74]
dec edi
add ecx, eax
add esp, 0x18
mov eax, dword [ebp - 0x7c]
inc eax
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x7c], eax
test edi, edi
jg 0x10034ca5
pop edi
pop esi
mov eax, ecx
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10001210
mov esp, ebp
pop ebp
ret
and eax, 8
test edi, edi
jle 0x10034d71
test eax, eax
mov eax, dword [ebp - 0x7c]
je 0x10034d33
movzx eax, byte [eax]
push eax
push str._02x
push 0
push 0
push ebx
push esi
call fcn.100549d0
mov ecx, dword [ebp - 0x74]
dec edi
add ecx, eax
add esp, 0x18
mov eax, dword [ebp - 0x7c]
inc eax
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x7c], eax
test edi, edi
jg 0x10034cf5
pop edi
pop esi
mov eax, ecx
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10001210
mov esp, ebp
pop ebp
ret
movzx eax, byte [eax]
push eax
push str.:_02x
push 0
push 0
push ebx
push esi
call fcn.100549d0
mov ecx, dword [ebp - 0x74]
dec edi
add ecx, eax
add esp, 0x18
mov eax, dword [ebp - 0x7c]
inc eax
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x7c], eax
test edi, edi
jg 0x10034d33
pop edi
pop esi
mov eax, ecx
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10001210
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x74]
mov eax, ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10001210
mov esp, ebp
pop ebp
ret
xor eax, eax
xor ecx, ecx
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x7c], ecx
test edi, edi
jg 0x10034d9c
mov dword [ebp - 0x6c], 0x10
cmp dword [ebp - 0x78], eax
jbe 0x10034a0a
jmp 0x10034db0
cdq
mov ecx, 0x1007f638
add eax, dword [ebp - 0x8c]
adc edx, dword [ebp - 0x84]
cmp dword [ebp - 0x74], 0
jne 0x10034dcd
mov ecx, 0x10079cc7
push dword [ebp - 0x74]
push edx
push eax
push dword [ebp - 0x9c]
push ecx
push str._s_0llx__04x:
push 0
push 0
push ebx
push esi
call fcn.100549d0
add dword [ebp - 0x7c], eax
xor ecx, ecx
mov edi, dword [ebp - 0x6c]
add esp, 0x28
mov dword [ebp - 0x78], ecx
test edi, edi
je 0x10034ed3
mov edx, dword [ebp - 0x74]
mov eax, dword [ebp - 0x68]
sub edx, eax
mov dword [ebp - 0x90], edx
lea ecx, [ecx]
lea edx, [ecx + eax]
mov eax, dword [ebp - 0x90]
add eax, edx
cmp eax, dword [ebp - 0x80]
jge 0x10034e84
movzx edx, byte [edx]
test cl, 7
jne 0x10034e31
mov eax, 0x10085794
test ecx, ecx
jne 0x10034e36
mov eax, str.__02x
push edx
push eax
push 0
push 0
push ebx
push esi
call fcn.100549d0
mov ecx, dword [ebp - 0x7c]
add esp, 0x18
add ecx, eax
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x7c], ecx
mov dword [ebp - 0xa0], ecx
mov ecx, dword [ebp - 0x78]
inc ecx
mov dword [ebp - 0x78], ecx
cmp ecx, edi
jl 0x10034e10
push 1
push 0x1007a924
push ebx
mov ecx, esi
call dword [section..rdata]
call esi
mov ecx, eax
add esp, 0xc
add ecx, dword [ebp - 0xa0]
mov dword [ebp - 0x7c], ecx
jmp 0x10034ef4
cmp ecx, edi
jge 0x10034ed3
mov eax, edi
mov edi, dword [ebp - 0x7c]
sub eax, ecx
mov dword [ebp - 0x78], eax
push 3
push 0x100857a4
push ebx
mov ecx, esi
call dword [section..rdata]
call esi
add esp, 0xc
add edi, eax
sub dword [ebp - 0x78], 1
jne 0x10034e92
push 1
push 0x1007a924
push ebx
mov ecx, esi
mov dword [ebp - 0x90], edi
call dword [section..rdata]
call esi
mov ecx, eax
add esp, 0xc
add ecx, edi
mov dword [ebp - 0x7c], ecx
jmp 0x10034ef4
push 1
push 0x1007a924
push ebx
mov ecx, esi
call dword [section..rdata]
call esi
mov ecx, dword [ebp - 0x7c]
add esp, 0xc
add ecx, eax
mov dword [ebp - 0x7c], ecx
test edi, edi
je 0x10034f69
mov eax, dword [ebp - 0x68]
mov edx, eax
mov edi, dword [ebp - 0x74]
mov dword [ebp - 0x78], edi
sub dword [ebp - 0x78], eax
mov edi, dword [ebp - 0x6c]
mov dword [ebp - 0xa4], edx
mov dword [ebp - 0x98], 0
mov eax, dword [ebp - 0x78]
add eax, edx
cmp eax, dword [ebp - 0x80]
jge 0x10034f69
mov al, byte [edx]
mov byte [ebp - 0x6d], al
sub al, 0x20
cmp al, 0x5e
lea eax, [ebp - 0x6d]
jbe 0x10034f32
mov eax, 0x100857a8
push 1
push eax
push ebx
mov ecx, esi
call dword [section..rdata]
call esi
mov ecx, dword [ebp - 0x7c]
add esp, 0xc
mov edx, dword [ebp - 0xa4]
add ecx, eax
mov eax, dword [ebp - 0x98]
inc edx
inc eax
mov dword [ebp - 0x7c], ecx
mov dword [ebp - 0x98], eax
mov dword [ebp - 0xa4], edx
cmp eax, edi
jl 0x10034f15
mov eax, dword [ebp - 0x74]
add dword [ebp - 0x68], edi
add eax, edi
mov dword [ebp - 0x74], eax
cmp eax, dword [ebp - 0x80]
jl 0x10034db0
pop edi
pop esi
mov eax, ecx
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10001210
mov esp, ebp
pop ebp
ret
xor eax, eax
mov dword [ebp - 0x98], 0
xor ecx, ecx
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x7c], ecx
test edi, edi
jg 0x10034fb0
mov edi, 0x10
mov dword [ebp - 0x6c], edi
sub edx, edi
mov dword [ebp - 0xa4], edx
cmp dword [ebp - 0x78], eax
jbe 0x10034a0a
mov edx, dword [ebp - 0x68]
cmp eax, dword [ebp - 0xa4]
jge 0x10035023
test eax, eax
jle 0x10035023
mov eax, edx
push edi
sub eax, edi
push eax
push edx
call sym.IntelFirmwareInterfaceInstallHelper.dll_nocrt_memcmp
add esp, 0xc
test eax, eax
jne 0x10035023
mov eax, dword [ebp - 0x98]
test eax, eax
jne 0x10035014
mov eax, dword [ebp - 0x74]
add eax, edi
cmp eax, dword [ebp - 0xa4]
jge 0x10035059
mov eax, dword [ebp - 0x68]
push edi
push eax
add eax, edi
push eax
call sym.IntelFirmwareInterfaceInstallHelper.dll_nocrt_memcmp
add esp, 0xc
test eax, eax
jne 0x10035059
mov eax, dword [ebp - 0x98]
mov ecx, dword [ebp - 0x7c]
inc eax
mov dword [ebp - 0x98], eax
jmp 0x10035219
mov eax, dword [ebp - 0x98]
test eax, eax
jle 0x10035059
push eax
push str.
push dword [ebp - 0x9c]
push str._n_.s____ditto_x__u_
push 0
push 0
push ebx
push esi
call fcn.100549d0
add esp, 0x20
mov dword [ebp - 0x98], 0
add dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x74]
cdq
add eax, dword [ebp - 0x8c]
mov dword [ebp - 0x78], 0x1007f638
adc edx, dword [ebp - 0x84]
test ecx, ecx
jne 0x1003507e
mov dword [ebp - 0x78], 0x10079cc7
push ecx
push edx
push eax
push dword [ebp - 0x9c]
push dword [ebp - 0x78]
push str._s_0llx__04x:
push 0
push 0
push ebx
push esi
call fcn.100549d0
add dword [ebp - 0x7c], eax
xor ecx, ecx
add esp, 0x28
mov dword [ebp - 0x78], ecx
test edi, edi
je 0x10035183
mov edx, dword [ebp - 0x74]
mov eax, dword [ebp - 0x68]
sub edx, eax
mov dword [ebp - 0x90], edx
jmp 0x100350c0
lea edx, [ecx + eax]
mov eax, dword [ebp - 0x90]
add eax, edx
cmp eax, dword [ebp - 0x80]
jge 0x10035134
movzx edx, byte [edx]
test cl, 7
jne 0x100350e1
mov eax, 0x10085794
test ecx, ecx
jne 0x100350e6
mov eax, str.__02x
push edx
push eax
push 0
push 0
push ebx
push esi
call fcn.100549d0
mov ecx, dword [ebp - 0x7c]
add esp, 0x18
add ecx, eax
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x7c], ecx
mov dword [ebp - 0xa0], ecx
mov ecx, dword [ebp - 0x78]
inc ecx
mov dword [ebp - 0x78], ecx
cmp ecx, edi
jl 0x100350c0
push 1
push 0x1007a924
push ebx
mov ecx, esi
call dword [section..rdata]
call esi
mov ecx, eax
add esp, 0xc
add ecx, dword [ebp - 0xa0]
mov dword [ebp - 0x7c], ecx
jmp 0x100351a4
cmp ecx, edi
jge 0x10035183
mov eax, edi
mov edi, dword [ebp - 0x7c]
sub eax, ecx
mov dword [ebp - 0x78], eax
push 3
push 0x100857a4
push ebx
mov ecx, esi
call dword [section..rdata]
call esi
add esp, 0xc
add edi, eax
sub dword [ebp - 0x78], 1
jne 0x10035142
push 1
push 0x1007a924
push ebx
mov ecx, esi
mov dword [ebp - 0x90], edi
call dword [section..rdata]
call esi
mov ecx, eax
add esp, 0xc
add ecx, edi
mov dword [ebp - 0x7c], ecx
jmp 0x100351a4
push 1
push 0x1007a924
push ebx
mov ecx, esi
call dword [section..rdata]
call esi
mov ecx, dword [ebp - 0x7c]
add esp, 0xc
add ecx, eax
mov dword [ebp - 0x7c], ecx
test edi, edi
je 0x10035219
mov eax, dword [ebp - 0x68]
mov edx, eax
mov edi, dword [ebp - 0x74]
mov dword [ebp - 0x78], edi
sub dword [ebp - 0x78], eax
mov edi, dword [ebp - 0x6c]
mov dword [ebp - 0x90], edx
mov dword [ebp - 0xa0], 0
mov eax, dword [ebp - 0x78]
add eax, edx
cmp eax, dword [ebp - 0x80]
jge 0x10035219
mov al, byte [edx]
mov byte [ebp - 0x6d], al
sub al, 0x20
cmp al, 0x5e
lea eax, [ebp - 0x6d]
jbe 0x100351e2
mov eax, 0x100857a8
push 1
push eax
push ebx
mov ecx, esi
call dword [section..rdata]
call esi
mov ecx, dword [ebp - 0x7c]
add esp, 0xc
mov edx, dword [ebp - 0x90]
add ecx, eax
mov eax, dword [ebp - 0xa0]
inc edx
inc eax
mov dword [ebp - 0x7c], ecx
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x90], edx
cmp eax, edi
jl 0x100351c5
mov eax, dword [ebp - 0x74]
mov edx, dword [ebp - 0x68]
add eax, edi
add edx, edi
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x68], edx
cmp eax, dword [ebp - 0x80]
jl 0x10034fc4
pop edi
pop esi
mov eax, ecx
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10001210
mov esp, ebp
pop ebp
ret
push 6
push str._null_
jmp 0x100342e6
mov eax, dword [edx]
add eax, 4
mov dword [edx], eax
mov edi, dword [eax - 4]
mov eax, dword [ecx]
movsx edx, byte [eax]
inc eax
mov dword [ecx], eax
sub edx, 0x61
je 0x100352ba
sub edx, 2
je 0x10035298
sub edx, 3
jne case.0x100340f7.66
push 0x50
lea eax, [ebp - 0x54]
push eax
push ebx
push esi
push edi
call fcn.100547a0
add esp, 0x14
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10001210
mov esp, ebp
pop ebp
ret
push 0x50
lea eax, [ebp - 0x54]
push eax
push ebx
push esi
push edi
call fcn.100547a0
add esp, 0x14
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10001210
mov esp, ebp
pop ebp
ret
push 0x50
lea eax, [ebp - 0x54]
push eax
push ebx
push esi
push edi
call fcn.100548b0
add esp, 0x14
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10001210
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x74], 0
mov dl, byte [eax]
inc eax
mov dword [ecx], eax
mov al, dl
mov byte [ebp - 0x6d], dl
mov edx, dword [ebp - 0x7c]
cmp al, 0x62
je 0x1003530d
cmp al, 0x42
je 0x1003530d
cmp al, 0x69
jne case.0x100340f7.66
mov eax, dword [edx]
add eax, 8
test dword [ebp + 0x20], 0x100
mov dword [edx], eax
mov edi, dword [eax - 8]
mov edx, dword [eax - 4]
mov dword [ebp - 0x80], edi
mov dword [ebp - 0x9c], edx
jne 0x10035333
mov ecx, 1
jmp 0x1003534c
mov eax, dword [ebp + 0x1c]
cmp eax, 3
jle 0x10035342
mov ecx, 3
jmp 0x1003534c
xor ecx, ecx
test eax, eax
sets cl
dec ecx
and ecx, eax
mov al, byte [ebp - 0x6d]
mov dword [ebp - 0x84], ecx
cmp al, 0x62
je 0x10035497
cmp al, 0x42
je 0x10035497
mov dword [ebp - 0x98], 0
xor eax, eax
mov edi, dword [eax + 0x100855d8]
mov dword [ebp - 0x8c], edi
mov edi, dword [eax + 0x100855dc]
cmp edx, edi
mov dword [ebp - 0x78], edi
mov edi, dword [ebp - 0x80]
jb 0x100353ad
ja 0x10035397
cmp edi, dword [eax + 0x100855d8]
jb 0x100353ad
test ecx, ecx
jg 0x100353dc
cmp edx, dword [eax + 0x100855e4]
ja 0x100353dc
jb 0x100353ad
cmp edi, dword [eax + 0x100855e0]
jae 0x100353dc
inc dword [ebp - 0x98]
add eax, 0x18
cmp eax, 0x90
jb 0x10035371
push 0
push 0
push 0
push 0xa
push edx
push edi
lea eax, [ebp - 0x54]
push 0x50
push eax
call fcn.10054ac0
mov ecx, eax
mov dword [ebp - 0x80], ecx
jmp 0x100354fb
push dword [ebp - 0x78]
push dword [ebp - 0x8c]
push edx
push edi
call fcn.10068150
mov edi, dword [ebp - 0x84]
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0xa0], edx
test edi, edi
je 0x1003547c
push dword [ebp - 0x78]
push dword [ebp - 0x8c]
push dword [ebp - 0x9c]
push dword [ebp - 0x80]
call fcn.10068260
mov dword [ebp - 0x90], eax
cmp edi, 1
jne 0x1003542d
lea ecx, [edi + 9]
jmp 0x1003543d
lea ecx, [edi - 2]
neg ecx
sbb ecx, ecx
and ecx, 0x384
add ecx, 0x64
push dword [ebp - 0x78]
mov eax, edx
push dword [ebp - 0x8c]
mul ecx
mov edi, eax
mov eax, dword [ebp - 0x90]
mul ecx
mov ecx, dword [ebp - 0x8c]
add edi, edx
mov edx, dword [ebp - 0x78]
shrd ecx, edx, 1
shr edx, 1
add eax, ecx
adc edi, edx
push edi
push eax
call fcn.10068150
mov dword [ebp - 0x74], edx
mov edx, dword [ebp - 0xa0]
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x98]
lea ecx, [eax + eax*2]
mov eax, dword [ebp - 0xa4]
mov edi, dword [ecx*8 + 0x100855d0]
jmp 0x10035647
mov dword [ebp - 0x78], 0
xor eax, eax
cmp edx, dword [eax + 0x10085534]
jb 0x100354d4
ja 0x100354b2
cmp edi, dword [eax + 0x10085530]
jb 0x100354d4
test ecx, ecx
jg 0x100355af
cmp edx, dword [eax + 0x1008553c]
ja 0x100355a7
jb 0x100354d4
cmp edi, dword [eax + 0x10085538]
jae 0x100355a7
inc dword [ebp - 0x78]
add eax, 0x18
cmp eax, 0x90
jb 0x100354a0
push 0
push 0
push 0
push 0xa
push edx
push edi
lea eax, [ebp - 0x54]
push 0x50
push eax
call fcn.10054ac0
mov ecx, eax
mov dword [ebp - 0x80], eax
add esp, 0x20
mov edx, dword [ebp + 0x20]
test dl, 0x40
je 0x1003550f
mov byte [ebp + ecx - 0x54], 0x20
inc ecx
mov dword [ebp - 0x80], ecx
cmp byte [ebp - 0x85], 0x63
jne 0x10035521
mov byte [ebp + ecx - 0x54], 0x42
inc ecx
mov dword [ebp - 0x80], ecx
cmp ecx, 0x50
jae 0x10036af7
mov eax, edx
mov byte [ebp + ecx - 0x54], 0
and al, 0x82
mov dword [ebp - 0x78], 0
cmp al, 0x80
jne 0x10035580
mov edi, dword [ebp - 0x6c]
cmp edi, ecx
jle 0x10035580
and edx, 4
sub edi, ecx
mov dword [ebp - 0x90], edx
mov eax, 0x10085804
test edx, edx
jne 0x1003555e
mov eax, 0x1007a924
push 1
push eax
push ebx
mov ecx, esi
call dword [section..rdata]
call esi
add dword [ebp - 0x78], eax
add esp, 0xc
mov edx, dword [ebp - 0x90]
sub edi, 1
jne 0x10035550
mov ecx, dword [ebp - 0x80]
push ecx
lea eax, [ebp - 0x54]
mov ecx, esi
push eax
push ebx
call dword [section..rdata]
call esi
add esp, 0xc
add eax, dword [ebp - 0x78]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10001210
mov esp, ebp
pop ebp
ret
test ecx, ecx
je 0x1003562a
mov eax, dword [ebp - 0x78]
xor edx, edx
lea eax, [eax + eax*2]
movzx ecx, byte [eax*8 + 0x1008552c]
mov eax, 1
mov dword [ebp - 0xa0], ecx
call fcn.100682e0
add eax, 0xffffffff
adc edx, 0xffffffff
and eax, edi
and edx, dword [ebp - 0x9c]
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0x84]
cmp eax, 1
jne 0x100355f3
lea ecx, [eax + 9]
jmp 0x10035603
lea ecx, [eax - 2]
neg ecx
sbb ecx, ecx
and ecx, 0x384
add ecx, 0x64
mov eax, edx
mul ecx
mov edi, eax
mov eax, dword [ebp - 0x90]
mul ecx
mov ecx, dword [ebp - 0xa0]
add edx, edi
call fcn.10068040
mov dword [ebp - 0x74], edx
mov edx, dword [ebp - 0x9c]
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x78]
lea edi, [eax + eax*2]
mov eax, dword [ebp - 0x80]
movzx ecx, byte [edi*8 + 0x1008552c]
call fcn.10068040
mov edi, dword [edi*8 + 0x10085528]
push 0
push 0
push 0
push 0xa
push edx
push eax
lea eax, [ebp - 0x54]
push 0x50
push eax
call fcn.10054ac0
add esp, 0x20
mov ecx, eax
mov dword [ebp - 0x80], ecx
test edi, edi
je 0x100354fe
mov eax, dword [ebp - 0x84]
test eax, eax
je 0x100356aa
push 0x84
push 0
push eax
push 0xa
push dword [ebp - 0x74]
mov byte [ebp + ecx - 0x54], 0x2e
mov eax, 0x50
push dword [ebp - 0x68]
inc ecx
sub eax, ecx
mov dword [ebp - 0x80], ecx
push eax
lea eax, [ebp - 0x54]
add eax, ecx
push eax
call fcn.10054ac0
mov ecx, dword [ebp - 0x80]
add esp, 0x20
add ecx, eax
mov edx, dword [ebp + 0x20]
test dl, 0x40
je 0x100356b8
mov byte [ebp + ecx - 0x54], 0x20
inc ecx
mov al, byte [edi]
mov byte [ebp + ecx - 0x54], al
inc ecx
mov al, byte [edi + 1]
mov dword [ebp - 0x80], ecx
test al, al
je 0x1003550f
cmp byte [ebp - 0x6d], 0x42
je 0x1003550f
mov byte [ebp + ecx - 0x54], al
jmp 0x1003550b
mov eax, dword [edx]
mov ecx, dword [ebp - 0x74]
add eax, 4
mov dword [edx], eax
mov edx, dword [eax - 4]
mov eax, dword [ecx]
movsx edi, byte [eax]
inc eax
sub edi, 0x61
mov dword [ecx], eax
cmp edi, 0x12
ja case.0x100340f7.66
movzx eax, byte [edi + 0x10036c20]
jmp dword [eax*4 + 0x10036c0c]
push 0x50
lea eax, [ebp - 0x54]
push eax
push ebx
push esi
push edx
call fcn.10054560
add esp, 0x14
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10001210
mov esp, ebp
pop ebp
ret
push 0x50
lea eax, [ebp - 0x54]
push eax
push ebx
push esi
push edx
call fcn.100546f0
add esp, 0x14
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10001210
mov esp, ebp
pop ebp
ret
push 0x50
lea eax, [ebp - 0x54]
push eax
push ebx
push esi
push edx
call fcn.100546f0
add esp, 0x14
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10001210
mov esp, ebp
pop ebp
ret
push 0x50
lea eax, [ebp - 0x54]
push eax
push ebx
push esi
push edx
call fcn.100545e0
add esp, 0x14
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10001210
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x74]
jmp case.0x10034b56.114
push 9
push 0x10085679
push dword [ebp - 0x78]
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x84], 0
call sym.IntelFirmwareInterfaceInstallHelper.dll_nocrt_strncmp
add esp, 0xc
test eax, eax
je 0x10035845
mov ecx, dword [ebp - 0x90]
cmp dword [ebp - 0x8c], ecx
je case.0x100340f7.66
test eax, eax
jns 0x100357f8
mov eax, dword [ebp - 0x84]
dec eax
mov dword [ebp - 0x8c], eax
jmp 0x1003580b
mov ecx, dword [ebp - 0x84]
mov eax, dword [ebp - 0x8c]
inc ecx
mov dword [ebp - 0x90], ecx
cmp eax, ecx
jl case.0x100340f7.66
sub eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
mov dword [ebp - 0x84], eax
lea edx, [eax + eax*2]
movzx ecx, byte [edx*8 + 0x10085678]
lea eax, [edx*8 + 0x10085679]
push ecx
push eax
push dword [ebp - 0x78]
call sym.IntelFirmwareInterfaceInstallHelper.dll_nocrt_strncmp
add esp, 0xc
test eax, eax
jne 0x100357d3
mov eax, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x74]
lea edx, [eax + eax*2]
movzx eax, byte [edx*8 + 0x10085678]
dec eax
add dword [ecx], eax
xor ecx, ecx
xor eax, eax
cmp byte [edx*8 + 0x10085687], 4
jne 0x10035879
mov ecx, dword [ebp - 0x7c]
mov eax, dword [ecx]
add eax, 4
mov dword [ecx], eax
mov ecx, dword [eax - 4]
mov eax, ecx
test byte [edx*8 + 0x10085688], 1
je 0x100358a3
add eax, 0x1000
cmp eax, 0x2000
jae 0x100358a3
push 6
push str._BadRD
lea eax, [ebp - 0x54]
push eax
push ecx
push dword [ebp + 0x20]
jmp 0x10034603
cmp dword [edx*8 + 0x1008568c], 0
jne case.0x100340f7.66
push dword [ecx + 4]
push dword [ecx]
push str._lld_ns
push 0
push 0
push ebx
push esi
call fcn.100549d0
add esp, 0x1c
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10001210
mov esp, ebp
pop ebp
ret
mov al, byte [ecx]
mov byte [ebp - 0x6d], al
cmp al, 0x61
je 0x10035e5d
cmp al, 0x65
je 0x10035e5d
cmp al, 0x6a
jne 0x10035c0c
mov edi, dword [ebp - 0x74]
mov eax, dword [ebp - 0x80]
mov cl, byte [ecx + 1]
add eax, 2
mov dword [edi], eax
mov edi, dword [ebp - 0x6c]
cmp cl, 0x73
jne case.0x100340f7.66
mov eax, dword [edx]
add eax, 4
mov dword [edx], eax
mov ecx, dword [eax - 4]
mov dword [ebp - 0x8c], ecx
lea eax, [ecx + 0x1000]
cmp eax, 0x2000
jae 0x10035939
mov ecx, 0x1008581c
mov dword [ebp - 0x8c], ecx
push dword [ebp + 0x1c]
push ecx
call fcn.10033970
add esp, 8
mov dword [ebp - 0x98], eax
mov ecx, esi
push 1
push 0x10085824
push ebx
call dword [section..rdata]
call esi
add esp, 0xc
mov dword [ebp - 0x74], eax
test byte [ebp + 0x20], 2
jne 0x100359b6
dec edi
mov dword [ebp - 0x6c], edi
cmp edi, dword [ebp - 0x98]
jl 0x100359b6
mov eax, edi
sub eax, dword [ebp - 0x98]
inc eax
sub edi, eax
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x6c], edi
mov edi, dword [ebp - 0x74]
lea esp, [esp]
push 1
push 0x1007a924
push ebx
mov ecx, esi
call dword [section..rdata]
call esi
add esp, 0xc
add edi, eax
sub dword [ebp - 0x90], 1
jne 0x10035990
mov dword [ebp - 0x74], edi
mov edi, dword [ebp - 0x6c]
xor eax, eax
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x84], eax
cmp dword [ebp - 0x98], eax
jle 0x10035bb8
mov edi, dword [ebp - 0x74]
mov edx, dword [ebp - 0x8c]
add edx, eax
mov dword [ebp - 0x90], edx
mov cl, byte [edx]
mov byte [ebp - 0x6d], cl
cmp cl, 0x5d
jae 0x10035b7b
cmp cl, 0x20
jb 0x100359ff
cmp cl, 0x22
je 0x100359ff
cmp cl, 0x5c
jne 0x10035b7b
cmp dword [ebp - 0x84], eax
jge 0x10035a34
sub eax, dword [ebp - 0x84]
mov ecx, esi
push eax
mov eax, dword [ebp - 0x8c]
add eax, dword [ebp - 0x84]
push eax
push ebx
call dword [section..rdata]
call esi
mov cl, byte [ebp - 0x6d]
add esp, 0xc
mov edx, dword [ebp - 0x90]
add edi, eax
movsx eax, cl
add eax, 0xfffffff8
cmp eax, 0x54
ja case.0x10035a46.11
movzx eax, byte [eax + 0x10036c54]
jmp dword [eax*4 + 0x10036c34]
push 2
push 0x1007b5ac
jmp 0x10035b5d
push 2
push 0x1007b5a8
jmp 0x10035b5d
push 2
push 0x10085860
jmp 0x10035b5d
push 2
push 0x10085864
jmp 0x10035b5d
push 2
push 0x10085868
jmp 0x10035b5d
push 2
push 0x1008586c
jmp 0x10035b5d
push 2
push 0x10085870
jmp 0x10035b5d
mov dword [ebp - 0x84], 0xfffd
mov dword [ebp - 0x9c], edx
mov cl, byte [edx]
test cl, cl
js 0x10035acb
lea eax, [edx + 1]
movzx ecx, cl
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x84], ecx
jmp 0x10035af1
lea eax, [ebp - 0x84]
push eax
lea eax, [ebp - 0x9c]
push eax
call fcn.1000bf90
mov ecx, dword [ebp - 0x84]
add esp, 8
test eax, eax
js 0x10035afb
mov eax, dword [ebp - 0x9c]
sub eax, dword [ebp - 0x8c]
dec eax
mov dword [ebp - 0x78], eax
cmp ecx, 0xfffe
jb 0x10035b0e
mov ecx, 0xfffd
mov dword [ebp - 0x84], ecx
mov eax, ecx
mov word [ebp - 0x54], 0x755c
shr eax, 0xc
and eax, 0xf
mov byte [ebp - 0x4e], 0
push 6
mov al, byte [eax + str.0123456789abcdef]
mov byte [ebp - 0x52], al
mov eax, ecx
shr eax, 8
and eax, 0xf
mov al, byte [eax + str.0123456789abcdef]
mov byte [ebp - 0x51], al
mov eax, ecx
shr eax, 4
and eax, 0xf
and ecx, 0xf
mov al, byte [eax + str.0123456789abcdef]
mov byte [ebp - 0x50], al
mov al, byte [ecx + str.0123456789abcdef]
mov byte [ebp - 0x4f], al
lea eax, [ebp - 0x54]
push eax
push ebx
mov ecx, esi
call dword [section..rdata]
call esi
add edi, eax
add esp, 0xc
mov eax, dword [ebp - 0x78]
inc eax
mov ecx, eax
mov dword [ebp - 0x84], ecx
jmp 0x10035b82
mov ecx, dword [ebp - 0x84]
inc eax
mov dword [ebp - 0x78], eax
cmp eax, dword [ebp - 0x98]
jl 0x100359d0
mov dword [ebp - 0x74], edi
mov edi, dword [ebp - 0x6c]
cmp ecx, eax
jge 0x10035bb8
sub eax, ecx
push eax
mov eax, dword [ebp - 0x8c]
add eax, ecx
mov ecx, esi
push eax
push ebx
call dword [section..rdata]
call esi
add esp, 0xc
add dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x98]
dec edi
cmp edi, eax
jl 0x10035be3
sub edi, eax
inc edi
push 1
push 0x1007a924
push ebx
mov ecx, esi
call dword [section..rdata]
call esi
add dword [ebp - 0x74], eax
add esp, 0xc
sub edi, 1
jne 0x10035bc6
push 1
push 0x10085824
push ebx
mov ecx, esi
call dword [section..rdata]
call esi
add esp, 0xc
add eax, dword [ebp - 0x74]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10001210
mov esp, ebp
pop ebp
ret
cmp al, 0x70
jne case.0x100340f7.66
mov al, byte [ecx + 1]
mov byte [ebp - 0x6d], al
cmp al, 0x70
mov eax, dword [edx]
jne 0x10035c3a
add eax, 4
mov byte [ebp - 0x85], 0x2f
mov dword [edx], eax
mov ecx, dword [eax - 4]
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x80], ecx
add dword [eax], 2
jmp 0x10035c87
add eax, 4
mov dword [edx], eax
mov ecx, dword [eax - 4]
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x80], ecx
add dword [eax], 2
mov al, byte [ebp - 0x6d]
cmp al, 0x71
setne dl
dec dl
and dl, 0xad
add dl, 0x7e
mov byte [ebp - 0x85], dl
mov ah, dl
cmp al, 0x61
je 0x10035c87
mov byte [ebp - 0x85], ah
mov edx, ecx
mov dword [ebp - 0x80], ecx
cmp al, 0x71
je 0x10035c87
mov byte [ebp - 0x85], ah
mov dword [ebp - 0x80], ecx
cmp al, 0x66
jne case.0x100340f7.66
lea eax, [ecx + 0x1000]
cmp eax, 0x2000
jae 0x10035c9c
mov ecx, 0x1008581c
mov dword [ebp - 0x80], ecx
push dword [ebp + 0x1c]
push ecx
call fcn.10033970
add esp, 8
mov ecx, eax
test byte [ebp + 0x20], 2
mov dword [ebp - 0x78], ecx
jne 0x10035cf0
dec edi
mov dword [ebp - 0x6c], edi
cmp edi, ecx
jl 0x10035cf0
mov eax, edi
sub eax, ecx
inc eax
sub edi, eax
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x6c], edi
mov edi, eax
lea ecx, [ecx]
push 3
push 0x10085874
push ebx
mov ecx, esi
call dword [section..rdata]
call esi
add esp, 0xc
sub edi, 1
jne 0x10035cd0
mov edi, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x78]
xor eax, eax
xor edx, edx
test ecx, ecx
jle 0x10035e23
xor edi, edi
mov edi, edi
mov eax, dword [ebp - 0x80]
mov cl, byte [edi + eax]
movsx eax, cl
mov dword [ebp - 0x90], eax
add eax, 0xffffff9f
mov byte [ebp - 0xa5], cl
cmp eax, 0x1a
jb 0x10035dea
mov eax, dword [ebp - 0x90]
add eax, 0xffffffbf
cmp eax, 0x1a
jb 0x10035dea
mov eax, dword [ebp - 0x90]
add eax, 0xffffffd0
cmp eax, 0xa
jb 0x10035dea
cmp cl, 0x2d
je 0x10035dea
cmp cl, 0x2e
je 0x10035dea
cmp cl, 0x5f
je 0x10035dea
cmp cl, 0x7e
je 0x10035dea
cmp cl, byte [ebp - 0x85]
je 0x10035dea
cmp edx, edi
jge 0x10035d98
mov eax, edi
mov ecx, esi
sub eax, edx
push eax
mov eax, dword [ebp - 0x80]
add eax, edx
push eax
push ebx
call dword [section..rdata]
call esi
mov cl, byte [ebp - 0xa5]
add esp, 0xc
cmp cl, 0x20
jne 0x10035dac
cmp byte [ebp - 0x6d], 0x66
jne 0x10035dac
push 1
push 0x10085878
jmp 0x10035dd7
movzx ecx, cl
mov eax, ecx
mov byte [ebp - 0x54], 0x25
shr eax, 4
and ecx, 0xf
push 3
mov byte [ebp - 0x51], 0
mov al, byte [eax + str.0123456789ABCDEF]
mov byte [ebp - 0x53], al
mov al, byte [ecx + str.0123456789ABCDEF]
mov byte [ebp - 0x52], al
lea eax, [ebp - 0x54]
push eax
push ebx
mov ecx, esi
call dword [section..rdata]
call esi
add esp, 0xc
inc edi
mov edx, edi
jmp 0x10035deb
inc edi
mov ecx, dword [ebp - 0x78]
cmp edi, ecx
jl 0x10035d00
mov dword [ebp - 0x90], edi
cmp edx, edi
mov edi, dword [ebp - 0x6c]
jge 0x10035e23
mov eax, dword [ebp - 0x90]
mov ecx, esi
sub eax, edx
push eax
mov eax, dword [ebp - 0x80]
add eax, edx
push eax
push ebx
call dword [section..rdata]
call esi
mov ecx, dword [ebp - 0x78]
add esp, 0xc
dec edi
cmp edi, ecx
jl case.0x100340f7.66
sub edi, ecx
inc edi
jmp 0x10035e30
push 3
push 0x10085874
push ebx
mov ecx, esi
call dword [section..rdata]
call esi
add esp, 0xc
sub edi, 1
jne 0x10035e30
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10001210
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp - 0x74]
mov eax, dword [ebp - 0x80]
mov cl, byte [ecx + 1]
add eax, 2
mov dword [edi], eax
mov edi, dword [ebp - 0x6c]
cmp cl, 0x73
jne case.0x100340f7.66
mov al, byte [ebp - 0x6d]
mov dword [ebp - 0xa0], str.____n_r
cmp al, 0x61
je 0x10035e8e
mov dword [ebp - 0xa0], 0x10085690
xor ecx, ecx
cmp al, 0x61
sete cl
xor eax, eax
mov dword [ebp - 0x68], eax
add ecx, 5
mov eax, dword [edx]
add eax, 4
mov dword [ebp - 0xa4], ecx
mov dword [edx], eax
mov ecx, dword [eax - 4]
mov dword [ebp - 0x84], ecx
lea eax, [ecx + 0x1000]
cmp eax, 0x2000
jae 0x10035ecb
mov ecx, 0x1008581c
mov dword [ebp - 0x84], ecx
push dword [ebp + 0x1c]
push ecx
call fcn.10033970
add esp, 8
mov ecx, eax
cmp byte [ebp - 0x6d], 0x61
mov dword [ebp - 0x78], ecx
jne 0x10035efd
push 1
push 0x10085824
push ebx
mov ecx, esi
call dword [section..rdata]
call esi
mov ecx, dword [ebp - 0x78]
add esp, 0xc
mov dword [ebp - 0x68], eax
test byte [ebp + 0x20], 2
jne 0x10035f46
dec edi
mov dword [ebp - 0x6c], edi
cmp edi, ecx
jl 0x10035f46
mov eax, edi
sub eax, ecx
inc eax
sub edi, eax
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x6c], edi
mov edi, dword [ebp - 0x68]
mov edi, edi
push 1
push 0x1007a924
push ebx
mov ecx, esi
call dword [section..rdata]
call esi
add esp, 0xc
add edi, eax
sub dword [ebp - 0x90], 1
jne 0x10035f20
mov dword [ebp - 0x68], edi
mov edi, dword [ebp - 0x6c]
xor eax, eax
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x8c], eax
cmp dword [ebp - 0x78], eax
jle 0x1003609c
mov edx, dword [ebp - 0x84]
mov ecx, 1
mov edi, dword [ebp - 0x68]
sub ecx, edx
mov dword [ebp - 0x9c], ecx
jmp 0x10035f86
mov edx, dword [ebp - 0x84]
push dword [ebp - 0xa4]
add eax, edx
mov dword [ebp - 0x90], eax
movsx eax, byte [eax]
push eax
push dword [ebp - 0xa0]
call sym.IntelFirmwareInterfaceInstallHelper.dll_nocrt_memchr
mov ecx, dword [ebp - 0x8c]
add esp, 0xc
test eax, eax
je 0x10036058
mov eax, dword [ebp - 0x98]
cmp ecx, eax
jge 0x10035fda
sub eax, ecx
push eax
mov eax, dword [ebp - 0x84]
add eax, ecx
mov ecx, esi
push eax
push ebx
call dword [section..rdata]
call esi
add esp, 0xc
add edi, eax
mov eax, dword [ebp - 0x90]
movsx eax, byte [eax]
add eax, 0xfffffff6
cmp eax, 0x34
ja case.0x10035ff2.11
movzx eax, byte [eax + 0x10036ccc]
jmp dword [eax*4 + 0x10036cac]
push 4
push str.lt_
jmp 0x10036036
push 4
push str.gt_
jmp 0x10036036
push 5
push str.amp_
jmp 0x10036036
push 6
push str.apos_
jmp 0x10036036
push 6
push str.quot_
jmp 0x10036036
push 5
push str.xA_
jmp 0x10036036
push 5
push str.xD_
push ebx
mov ecx, esi
call dword [section..rdata]
call esi
add esp, 0xc
add edi, eax
mov ecx, dword [ebp - 0x9c]
add ecx, dword [ebp - 0x90]
mov dword [ebp - 0x8c], ecx
mov eax, dword [ebp - 0x98]
inc eax
mov dword [ebp - 0x98], eax
cmp eax, dword [ebp - 0x78]
jl 0x10035f80
mov dword [ebp - 0x68], edi
mov edi, dword [ebp - 0x6c]
cmp ecx, eax
jge 0x1003609c
sub eax, ecx
push eax
mov eax, dword [ebp - 0x84]
add eax, ecx
mov ecx, esi
push eax
push ebx
call dword [section..rdata]
call esi
mov ecx, dword [ebp - 0x68]
add esp, 0xc
add ecx, eax
mov dword [ebp - 0x68], ecx
jmp 0x1003609f
mov ecx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x78]
dec edi
cmp edi, eax
jl 0x100360d2
sub edi, eax
inc edi
lea ebx, [ebx]
push 1
push 0x1007a924
push ebx
mov ecx, esi
call dword [section..rdata]
call esi
mov ecx, dword [ebp - 0x68]
add esp, 0xc
add ecx, eax
mov dword [ebp - 0x68], ecx
sub edi, 1
jne 0x100360b0
cmp byte [ebp - 0x6d], 0x61
jne 0x100360f2
push 1
push 0x10085824
push ebx
mov ecx, esi
call dword [section..rdata]
call esi
mov ecx, dword [ebp - 0x68]
add esp, 0xc
add ecx, eax
pop edi
pop esi
mov eax, ecx
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10001210
mov esp, ebp
pop ebp
ret
xor edi, edi
mov edx, ecx
mov dword [ebp - 0x68], edi
lea esp, [esp]
mov al, byte [edx]
inc edx
mov dword [ebp - 0xa0], edx
test al, al
je case.0x100340f7.66
cmp al, 0x5b
jne 0x10036110
mov cl, byte [edx]
xor eax, eax
mov dword [ebp - 0x90], eax
mov byte [ebp - 0x6d], cl
test cl, cl
je case.0x100340f7.66
lea ebx, [ebx]
inc eax
cmp byte [ebp - 0x6d], 0x5d
je 0x1003616a
mov cl, byte [eax + edx]
mov dword [ebp - 0x90], eax
mov byte [ebp - 0x6d], cl
test cl, cl
jne 0x10036140
mov ecx, dword [ebp - 4]
xor eax, eax
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.10001210
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x74]
add eax, edx
mov dword [ecx], eax
mov eax, edx
mov ecx, dword [ebp - 0x80]
sub eax, ecx
cmp eax, 4
jne 0x10034889
cmp byte [ecx], 0x78
jne 0x10034889
cmp byte [ecx + 1], 0x38
jne 0x10034889
cmp byte [ecx + 2], 0x36
jne 0x10034889
cmp dword [ebp - 0x90], 3
jne 0x10034889
push 3
push edx
push 0x1008587c
call sym.IntelFirmwareInterfaceInstallHelper.dll_nocrt_strncmp
add esp, 0xc
test eax, eax
jne 0x10036571
mov ecx, dword [ebp - 0x7c]
mov eax, dword [ecx]
add eax, 8
mov dword [ecx], eax
mov ecx, dword [eax - 8]
mov edx, dword [eax - 4]
mov eax, dword [ebp + 0x20]
or eax, 0x4000
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x90], eax
or eax, 4
push eax
push 0xffffffffffffffff
push 8
push 0x10
push edx
push ecx
lea eax, [ebp - 0x54]
mov dword [ebp - 0x7c], edx
push eax
call fcn.1000d600
add esp, 0x1c
mov ecx, esi
push eax
lea eax, [ebp - 0x54]
push eax
push ebx
call dword [section..rdata]
call esi
mov ecx, dword [ebp - 0x6c]
add esp, 0xc
and ecx, 1
mov edi, eax
or ecx, 0
je 0x1003624d
push 3
push 0x10085880
push ebx
mov ecx, esi
mov dword [ebp - 0x68], 1
call dword [section..rdata]
call esi
mov ecx, dword [ebp - 0x6c]
add esp, 0xc
and ecx, 0xfffffffe
add edi, eax
xor edx, edx
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x7c], edx
jmp 0x10036253
mov ecx, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x7c]
mov eax, ecx
and eax, 2
or eax, 0
je 0x10036296
mov ecx, dword [ebp - 0x68]
mov eax, ecx
inc ecx
mov dword [ebp - 0x68], ecx
mov ecx, esi
push 3
test eax, eax
jne 0x10036275
push 0x10085884
jmp 0x1003627a
push 0x10085888
push ebx
call dword [section..rdata]
call esi
mov ecx, dword [ebp - 0x6c]
add esp, 0xc
and ecx, 0xfffffffd
add edi, eax
xor edx, edx
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x7c], edx
mov eax, ecx
and eax, 4
or eax, 0
je 0x100362d9
mov ecx, dword [ebp - 0x68]
mov eax, ecx
inc ecx
mov dword [ebp - 0x68], ecx
mov ecx, esi
push 3
test eax, eax
jne 0x100362b8
push 0x1008588c
jmp 0x100362bd
push 0x10085890
push ebx
call dword [section..rdata]
call esi
mov ecx, dword [ebp - 0x6c]
add esp, 0xc
and ecx, 0xfffffffb
add edi, eax
xor edx, edx
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x7c], edx
mov eax, ecx
and eax, 8
or eax, 0
je 0x1003631c
mov ecx, dword [ebp - 0x68]
mov eax, ecx
inc ecx
mov dword [ebp - 0x68], ecx
mov ecx, esi
push 3
test eax, eax
jne 0x100362fb
push 0x10085894
jmp 0x10036300
push 0x10085898
push ebx
call dword [section..rdata]
call esi
mov ecx, dword [ebp - 0x6c]
add esp, 0xc
and ecx, 0xfffffff7
add edi, eax
xor edx, edx
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x7c], edx
mov eax, ecx
and eax, 0x10
or eax, 0
je 0x1003635f
mov ecx, dword [ebp - 0x68]
mov eax, ecx
inc ecx
mov dword [ebp - 0x68], ecx
mov ecx, esi
push 3
test eax, eax
jne 0x1003633e
push 0x1008589c
jmp 0x10036343
push 0x100858a0
push ebx
call dword [section..rdata]
call esi
mov ecx, dword [ebp - 0x6c]
add esp, 0xc
and ecx, 0xffffffef
add edi, eax
xor edx, edx
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x7c], edx
mov eax, ecx
and eax, 0x20
or eax, 0
je 0x100363a2
mov ecx, dword [ebp - 0x68]
mov eax, ecx
inc ecx
mov dword [ebp - 0x68], ecx
mov ecx, esi
push 3
test eax, eax
jne 0x10036381
push 0x100858a4
jmp 0x10036386
push 0x100858a8
push ebx
call dword [section..rdata]
call esi
mov ecx, dword [ebp - 0x6c]
add esp, 0xc
and ecx, 0xffffffdf
add edi, eax
xor edx, edx
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x7c], edx
mov eax, ecx
and eax, 0x10000
or eax, 0
je 0x100363ea
mov ecx, dword [ebp - 0x68]
mov eax, ecx
inc ecx
mov dword [ebp - 0x68], ecx
mov ecx, esi
push 3
test eax, eax
jne 0x100363c6
push 0x100858ac
jmp 0x100363cb
push 0x100858b0
push ebx
call dword [section..rdata]
call esi
mov ecx, dword [ebp - 0x6c]
add esp, 0xc
and ecx, 0xfffeffff
add edi, eax
xor edx, edx
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x7c], edx
mov eax, ecx
and eax, 0x40000
or eax, 0
je 0x10036432
mov ecx, dword [ebp - 0x68]
mov eax, ecx
inc ecx
mov dword [ebp - 0x68], ecx
mov ecx, esi
push 3
test eax, eax
jne 0x1003640e
push 0x100858b4
jmp 0x10036413
push 0x100858b8
push ebx
call dword [section..rdata]
call esi
mov ecx, dword [ebp - 0x6c]
add esp, 0xc
and ecx, 0xfffbffff
add edi, eax
xor edx, edx
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x7c], edx
mov eax, ecx
and eax, 0x20000000
or eax, 0
je 0x1003647a
mov ecx, dword [ebp - 0x68]
mov eax, ecx
inc ecx
mov dword [ebp - 0x68], ecx
mov ecx, esi
push 3
test eax, eax
jne 0x10036456
push 0x100858bc
jmp 0x1003645b
push 0x100858c0
push ebx
call dword [section..rdata]
call esi
mov ecx, dword [ebp - 0x6c]
add esp, 0xc
and ecx, 0xdfffffff
add edi, eax
xor edx, edx
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x7c], edx
mov eax, ecx
and eax, 0x40000000
or eax, 0
je 0x100364c2
mov ecx, dword [ebp - 0x68]
mov eax, ecx
inc ecx
mov dword [ebp - 0x68], ecx
mov ecx, esi
push 3
test eax, eax
jne 0x1003649e
push 0x100858c4
jmp 0x100364a3
push 0x100858c8
push ebx
call dword [section..rdata]
call esi
mov ecx, dword [ebp - 0x6c]
add esp, 0xc
and ecx, 0xbfffffff
add edi, eax
xor edx, edx
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x7c], edx
mov eax, ecx
and eax, 0x80000000
or eax, 0
je 0x1003650a
mov ecx, dword [ebp - 0x68]
mov eax, ecx
inc ecx
mov dword [ebp - 0x68], ecx
mov ecx, esi
push 3
test eax, eax
jne 0x100364e6
push 0x100858cc
jmp 0x100364eb
push 0x100858d0
push ebx
call dword [section..rdata]
call esi
mov ecx, dword [ebp - 0x6c]
add esp, 0xc
and ecx, 0x7fffffff
add edi, eax
xor edx, edx
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x7c], edx
mov eax, ecx
or eax, edx
je 0x10036ae0
cmp dword [ebp - 0x68], 0
mov eax, str.unkn
je 0x10036524
mov eax, str._unkn
push 6
push eax
push ebx
mov ecx, esi
call dword [section..rdata]
call esi
push dword [ebp - 0x90]
mov edx, dword [ebp - 0x7c]
add edi, eax
push 0xffffffffffffffff
push 1
push 0x10
push edx
push dword [ebp - 0x6c]
lea eax, [ebp - 0x54]
push eax
call fcn.1000d600
add esp, 0x28
mov ecx, esi
push eax
lea eax, [ebp - 0x54]
push eax
push ebx
call dword [section..rdata]
call esi
add edi, eax
add esp, 0xc
mov eax, dword [ebp - 0x68]
inc eax
jmp 0x10036ae3
push 3
push dword [ebp - 0xa0]
push 0x100858e8
call sym.IntelFirmwareInterfaceInstallHelper.dll_nocrt_strncmp
add esp, 0xc
test eax, eax
jne 0x10034889
mov ecx, dword [ebp - 0x7c]
mov eax, dword [ecx]
add eax, 8
mov dword [ecx], eax
mov ecx, dword [eax - 8]
mov edx, dword [eax - 4]
mov eax, dword [ebp + 0x20]
or eax, 0x4000
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x90], eax
or eax, 4
push eax
push 0xffffffffffffffff
push 8
push 0x10
push edx
push ecx
lea eax, [ebp - 0x54]
mov dword [ebp - 0x74], edx
push eax
call fcn.1000d600
add esp, 0x1c
mov ecx, esi
push eax
lea eax, [ebp - 0x54]
push eax
push ebx
call dword [section..rdata]
call esi
mov ecx, dword [ebp - 0x6c]
mov edi, eax
mov eax, ecx
add esp, 0xc
and eax, 1
or eax, 0
je 0x1003661a
push 4
push str.VME
push ebx
mov ecx, esi
mov dword [ebp - 0x68], 1
call dword [section..rdata]
call esi
mov ecx, dword [ebp - 0x6c]
add esp, 0xc
and ecx, 0xfffffffe
add edi, eax
xor edx, edx
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x74], edx
jmp 0x1003661d
mov edx, dword [ebp - 0x74]
mov eax, ecx
and eax, 2
or eax, 0
je 0x10036660
mov ecx, dword [ebp - 0x68]
mov eax, ecx
inc ecx
mov dword [ebp - 0x68], ecx
mov ecx, esi
push 4
test eax, eax
jne 0x1003663f
push str.PVI
jmp 0x10036644
push str._PVI
push ebx
call dword [section..rdata]
call esi
mov ecx, dword [ebp - 0x6c]
add esp, 0xc
and ecx, 0xfffffffd
add edi, eax
xor edx, edx
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x74], edx
mov eax, ecx
and eax, 4
or eax, 0
je 0x100366a3
mov ecx, dword [ebp - 0x68]
mov eax, ecx
inc ecx
mov dword [ebp - 0x68], ecx
mov ecx, esi
push 4
test eax, eax
jne 0x10036682
push str.TSD
jmp 0x10036687
push str._TSD
push ebx
call dword [section..rdata]
call esi
mov ecx, dword [ebp - 0x6c]
add esp, 0xc
and ecx, 0xfffffffb
add edi, eax
xor edx, edx
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x74], edx
mov eax, ecx
and eax, 8
or eax, 0
je 0x100366e6
mov ecx, dword [ebp - 0x68]
mov eax, ecx
inc ecx
mov dword [ebp - 0x68], ecx
mov ecx, esi
push 3
test eax, eax
jne 0x100366c5
push 0x10085894
jmp 0x100366ca
push 0x10085898
push ebx
call dword [section..rdata]
call esi
mov ecx, dword [ebp - 0x6c]
add esp, 0xc
and ecx, 0xfffffff7
add edi, eax
xor edx, edx
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x74], edx
mov eax, ecx
and eax, 0x10
or eax, 0
je 0x10036729
mov ecx, dword [ebp - 0x68]
mov eax, ecx
inc ecx
mov dword [ebp - 0x68], ecx
mov ecx, esi
push 4
test eax, eax
jne 0x10036708
push str.PSE
jmp 0x1003670d
push str._PSE
push ebx
call dword [section..rdata]
call esi
mov ecx, dword [ebp - 0x6c]
add esp, 0xc
and ecx, 0xffffffef
add edi, eax
xor edx, edx
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x74], edx
mov eax, ecx
and eax, 0x20
or eax, 0
je 0x1003676c
mov ecx, dword [ebp - 0x68]
mov eax, ecx
inc ecx
mov dword [ebp - 0x68], ecx
mov ecx, esi
push 4
test eax, eax
jne 0x1003674b
push str.PAE
jmp 0x10036750
push str._PAE
push ebx
call dword [section..rdata]
call esi
mov ecx, dword [ebp - 0x6c]
add esp, 0xc
and ecx, 0xffffffdf
add edi, eax
xor edx, edx
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x74], edx
mov eax, ecx
and eax, 0x40
or eax, 0
je 0x100367af
mov ecx, dword [ebp - 0x68]
mov eax, ecx
inc ecx
mov dword [ebp - 0x68], ecx
mov ecx, esi
push 4
test eax, eax
jne 0x1003678e
push str.MCE
jmp 0x10036793
push str._MCE
push ebx
call dword [section..rdata]
call esi
mov ecx, dword [ebp - 0x6c]
add esp, 0xc
and ecx, 0xffffffbf
add edi, eax
xor edx, edx
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x74], edx
mov eax, ecx
and eax, 0x80
or eax, 0
je 0x100367f7
mov ecx, dword [ebp - 0x68]
mov eax, ecx
inc ecx
mov dword [ebp - 0x68], ecx
mov ecx, esi
push 4
test eax, eax
jne 0x100367d3
push str.PGE
jmp 0x100367d8
push str._PGE
push ebx
call dword [section..rdata]
call esi
mov ecx, dword [ebp - 0x6c]
add esp, 0xc
and ecx, 0xffffff7f
add edi, eax
xor edx, edx
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x74], edx
mov eax, ecx
and eax, 0x100
or eax, 0
je 0x1003683f
mov ecx, dword [ebp - 0x68]
mov eax, ecx
inc ecx
mov dword [ebp - 0x68], ecx
mov ecx, esi
push 4
test eax, eax
jne 0x1003681b
push str.PCE
jmp 0x10036820
push str._PCE
push ebx
call dword [section..rdata]
call esi
mov ecx, dword [ebp - 0x6c]
add esp, 0xc
and ecx, 0xfffffeff
add edi, eax
xor edx, edx
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x74], edx
mov eax, ecx
and eax, 0x200
or eax, 0
je 0x10036887
mov ecx, dword [ebp - 0x68]
mov eax, ecx
inc ecx
mov dword [ebp - 0x68], ecx
mov ecx, esi
push 7
test eax, eax
jne 0x10036863
push str.OSFXSR
jmp 0x10036868
push str._OSFXSR
push ebx
call dword [section..rdata]
call esi
mov ecx, dword [ebp - 0x6c]
add esp, 0xc
and ecx, 0xfffffdff
add edi, eax
xor edx, edx
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x74], edx
mov eax, ecx
and eax, 0x400
or eax, 0
je 0x100368cf
mov ecx, dword [ebp - 0x68]
mov eax, ecx
inc ecx
mov dword [ebp - 0x68], ecx
mov ecx, esi
push 0xc
test eax, eax
jne 0x100368ab
push str.OSXMMEEXCPT
jmp 0x100368b0
push str._OSXMMEEXCPT
push ebx
call dword [section..rdata]
call esi
mov ecx, dword [ebp - 0x6c]
add esp, 0xc
and ecx, 0xfffffbff
add edi, eax
xor edx, edx
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x74], edx
mov eax, ecx
and eax, 0x2000
or eax, 0
je 0x10036917
mov ecx, dword [ebp - 0x68]
mov eax, ecx
inc ecx
mov dword [ebp - 0x68], ecx
mov ecx, esi
push 5
test eax, eax
jne 0x100368f3
push str.VMXE
jmp 0x100368f8
push str._VMXE
push ebx
call dword [section..rdata]
call esi
mov ecx, dword [ebp - 0x6c]
add esp, 0xc
and ecx, 0xffffdfff
add edi, eax
xor edx, edx
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x74], edx
mov eax, ecx
and eax, 0x4000
or eax, 0
je 0x1003695f
mov ecx, dword [ebp - 0x68]
mov eax, ecx
inc ecx
mov dword [ebp - 0x68], ecx
mov ecx, esi
push 5
test eax, eax
jne 0x1003693b
push str.SMXE
jmp 0x10036940
push str._SMXE
push ebx
call dword [section..rdata]
call esi
mov ecx, dword [ebp - 0x6c]
add esp, 0xc
and ecx, 0xffffbfff
add edi, eax
xor edx, edx
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x74], edx
mov eax, ecx
and eax, 0x20000
or eax, 0
je 0x100369a7
mov ecx, dword [ebp - 0x68]
mov eax, ecx
inc ecx
mov dword [ebp - 0x68], ecx
mov ecx, esi
push 6
test eax, eax
jne 0x10036983
push str.PCIDE
jmp 0x10036988
push str._PCIDE
push ebx
call dword [section..rdata]
call esi
mov ecx, dword [ebp - 0x6c]
add esp, 0xc
and ecx, 0xfffdffff
add edi, eax
xor edx, edx
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x74], edx
mov eax, ecx
and eax, 0x40000
or eax, 0
je 0x100369ef
mov ecx, dword [ebp - 0x68]
mov eax, ecx
inc ecx
mov dword [ebp - 0x68], ecx
mov ecx, esi
push 8
test eax, eax
jne 0x100369cb
push str.OSXSAVE
jmp 0x100369d0
push str._OSXSAVE
push ebx
call dword [section..rdata]
call esi
mov ecx, dword [ebp - 0x6c]
add esp, 0xc
and ecx, 0xfffbffff
add edi, eax
xor edx, edx
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x74], edx
mov eax, ecx
and eax, 0x100000
or eax, 0
je 0x10036a37
mov ecx, dword [ebp - 0x68]
mov eax, ecx
inc ecx
mov dword [ebp - 0x68], ecx
mov ecx, esi
push 5
test eax, eax
jne 0x10036a13
push str.SMEP
jmp 0x10036a18
push str._SMEP
push ebx
call dword [section..rdata]
call esi
mov ecx, dword [ebp - 0x6c]
add esp, 0xc
and ecx, 0xffefffff
add edi, eax
xor edx, edx
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x74], edx
mov eax, ecx
and eax, 0x200000
or eax, 0
je 0x10036a7f
mov ecx, dword [ebp - 0x68]
mov eax, ecx
inc ecx
mov dword [ebp - 0x68], ecx
mov ecx, esi
push 5
test eax, eax
jne 0x10036a5b
push str.SMAP
jmp 0x10036a60
push str._SMAP
push ebx
call dword [section..rdata]
call esi
mov ecx, dword [ebp - 0x6c]
add esp, 0xc
and ecx, 0xffdfffff
add edi, eax
xor edx, edx
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x74], edx
mov eax, ecx
or eax, edx
je 0x10036ae0
cmp dword [ebp - 0x68], 0
mov eax, str.unkn
je 0x10036a95
mov eax, str._unkn
push 6
push eax
push ebx
mov ecx, esi
call dword [section..rdata]
call esi
push dword [ebp - 0x90]
mov edx, dword [ebp - 0x74]
add edi, eax
mov ecx, dword [ebp - 0x6c]
lea eax, [ebp - 0x54]
push 0xffffffffffffffff
push 1
push 0x10
push edx
push ecx
push eax
call fcn.1000d600
add esp, 0x28
mov ecx, esi
push eax
lea eax, [ebp - 0x54]
push eax
push ebx
call dword [section..rdata]
call esi
add edi, eax
add esp, 0xc
mov eax, dword [ebp - 0x68]
inc eax
jmp 0x10036ae3
mov eax, dword [ebp - 0x68]
test eax, eax
je 0x10034889
push 1
push 0x100858e4
jmp 0x10034879
call fcn.1000124b
add eax, 0xfe100361
inc eax
add edx, dword [eax]
lahf
push edi
add edx, dword [eax]
ficomp dword [eax + 3]
adc byte [eax + ecx*2 + 1250365443], bl
add edx, dword [eax]
dec ebx
add edx, dword [eax]
loopne 0x10036b70
add edx, dword [eax]
xchg edi, eax
push edi
add edx, dword [eax]
dec edx
pop esi
add edx, dword [eax]
add byte [ecx], cl
add dword [edx], eax
or dword [ecx], ecx
add dword [ecx], eax
add dword [ecx], ecx
add dword [ecx], ecx
add ecx, dword [ecx]
or dword [ecx], ecx
or dword [ecx], eax
or dword [ecx], eax
add dword [ecx], ecx
or dword [ecx], eax
or dword [ecx], ecx
or dword [ecx], ecx
or dword [ecx], ecx
or dword [ecx], ecx
or dword [ecx + ecx], eax
or dword [ecx], ecx
add eax, 151586313
or dword [ecx], ecx
or dword [ecx], ecx
or dword [ecx], ecx
or dword [edi], eax
or dword [ecx], ecx
or dword [ecx], ecx
or byte [eax + case.0x100341ff.0], dl
sub eax, -1156578494
inc edx
add edx, dword [eax]
push ecx
inc edx
add edx, dword [eax]
mov ebx, 0xbb100342
inc edx
add edx, dword [eax]
mov ebx, 0x75100342
inc edx
mov ebx, 0xbb100342
inc edx
add edx, dword [eax]
jne 0x10036bbc
add edx, dword [eax]
mov byte [0x5100342], al
inc ebx
add edx, dword [eax]
mov ebx, 0x1f100342
inc ebx
add edx, dword [eax]
mov ebx, 0x3a100342
inc ebx
add edx, dword [eax]
mov ebx, 0x75100342
inc edx
add edx, dword [eax]
mov ebx, 0x57100342
inc ebx
add edx, dword [eax]
lahf
inc ebx
add edx, dword [eax]
les eax, [ebx + 3]
adc byte [2517631812], al
inc esp
add edx, dword [eax]
out 0x44, eax
add edx, dword [eax]
cmp al, 0x45
add edx, dword [eax]
xchg edx, eax
inc ebp
add edx, dword [eax]
retf 0x345