Function at 0x1003d60
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov dword [ebp - 8], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
mov ecx, dword [ebp - 8]
mov dl, byte [ecx + eax]
mov byte [ebp - 9], dl
movzx eax, byte [ebp - 9]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0x22
ja case.0x1003d98.1
mov ecx, dword [ebp - 0x1c]
movzx edx, byte [ecx + 0x1003fac]
jmp dword [edx*4 + 0x1003f94]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
add ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 0xc], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 8]
add ecx, dword [eax + 0xc]
push ecx
call fcn.01026d33
add esp, 4
mov dword [ebp - 4], eax
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x10]
add eax, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x10], eax
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
mov ecx, dword [ebp - 4]
lea edx, [eax + ecx*2 + 3]
mov eax, dword [ebp + 8]
mov dword [eax + 8], edx
jmp 0x1003f8c
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov eax, dword [ebp + 8]
add edx, dword [eax + 8]
mov dword [ebp - 0x10], edx
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 8]
mov eax, dword [ecx + 0xc]
cmp eax, dword [edx + 8]
jae 0x1003e6d
mov ecx, dword [ebp - 0x10]
movzx edx, word [ecx + 1]
test edx, edx
jne 0x1003e31
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
add ecx, 5
mov edx, dword [ebp + 8]
mov dword [edx + 8], ecx
mov eax, dword [ebp + 8]
push eax
call fcn.01003d60
add esp, 4
jmp 0x1003f8e
mov ecx, dword [ebp - 0x10]
movzx edx, word [ecx + 1]
mov eax, dword [ebp + 8]
mov dword [eax + 0x14], edx
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
add edx, 5
mov eax, dword [ebp + 8]
mov dword [eax + 0xc], edx
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x10]
add edx, 1
mov eax, dword [ebp + 8]
mov dword [eax + 0x10], edx
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x14]
sub edx, 1
mov eax, dword [ebp + 8]
mov dword [eax + 0x14], edx
jmp 0x1003e9a
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x10]
add edx, 1
mov eax, dword [ebp + 8]
mov dword [eax + 0x10], edx
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xc]
mov eax, dword [ebp - 8]
lea ecx, [eax + edx + 2]
push ecx
call fcn.01026d33
add esp, 4
shl eax, 1
mov edx, dword [ebp + 8]
mov dword [edx + 0xc], eax
mov eax, dword [ebp + 8]
cmp dword [eax + 0x14], 0
jne 0x1003ec1
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xc]
mov eax, dword [ebp - 8]
lea ecx, [eax + edx + 2]
push ecx
call fcn.01026d33
add esp, 4
shl eax, 1
mov edx, dword [ebp + 8]
mov dword [edx + 8], eax
jmp 0x1003f8c
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov edx, dword [ebp + 8]
add ecx, dword [edx + 8]
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 0x14]
movzx ecx, word [eax + 1]
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x10]
mov eax, dword [ebp + 8]
mov dword [eax + 0x10], ecx
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
add edx, 3
mov eax, dword [ebp + 8]
mov dword [eax + 8], edx
mov ecx, dword [ebp + 8]
push ecx
call fcn.01003d60
add esp, 4
jmp 0x1003f8e
mov edx, dword [ebp + 8]
mov eax, dword [edx]
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 8]
mov dword [ebp - 0x18], eax
mov edx, dword [ebp - 0x18]
movzx eax, byte [edx + 1]
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 0x10]
mov edx, dword [ebp + 8]
mov dword [edx + 0x10], eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
add ecx, 2
mov edx, dword [ebp + 8]
mov dword [edx + 8], ecx
mov eax, dword [ebp + 8]
push eax
call fcn.01003d60
add esp, 4
jmp 0x1003f8e
mov eax, 0x8000000e
jmp 0x1003f8e
push str.The_BIOS_has_unsupported_string_blocks._n
call fcn.01001fe0
add esp, 4
mov ecx, dword [0x10b2dc0]
or ecx, dword [0x10b2dc4]
je 0x1003f85
push 1
mov edx, dword [0x10b2dc4]
push edx
mov eax, dword [0x10b2dc0]
push eax
call fcn.0108e840
add esp, 0xc
push 1
call fcn.010242d3
xor eax, eax
mov esp, ebp
pop ebp
ret