Function at 0x42e990
Capabilities:
Shutdown system

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4c28c0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x9c
mov dword [ebp - 0xa0], ecx
mov byte [ebp - 0xd], 0
mov dword [ebp - 0x14], 0
jmp 0x42e9ca
mov eax, dword [ebp - 0x14]
add eax, 1
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0xa0]
mov edx, dword [ecx + 0x22d0]
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x20]
jge 0x42ea4e
movzx ecx, byte [ebp - 0xd]
test ecx, ecx
jne 0x42ea36
mov edx, dword [ebp - 0xa0]
add edx, 0x22c8
mov dword [ebp - 0x28], edx
cmp dword [ebp - 0x14], 0
jl 0x42ea1a
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [eax + 8]
jge 0x42ea1a
mov edx, dword [ebp - 0x14]
imul edx, edx, 0x2c
mov eax, dword [ebp - 0x28]
add edx, dword [eax + 4]
mov dword [ebp - 0x24], edx
jmp 0x42ea1f
call fcn.004aec94
mov ecx, dword [ebp - 0x24]
movzx edx, byte [ecx + 0x28]
test edx, edx
jne 0x42ea36
mov dword [ebp - 0xa4], 0
jmp 0x42ea40
mov dword [ebp - 0xa4], 1
mov al, byte [ebp - 0xa4]
mov byte [ebp - 0xd], al
jmp 0x42e9c1
movzx ecx, byte [ebp - 0xd]
test ecx, ecx
jne 0x42ea5d
xor al, al
jmp 0x42ebd7
mov byte [ebp - 0xe], 0
mov edx, dword [ebp - 0xa0]
mov al, byte [edx + 0x1ac]
mov byte [ebp - 0xa8], al
cmp byte [ebp - 0xa8], 1
je 0x42ea93
cmp byte [ebp - 0xa8], 2
je 0x42eab2
cmp byte [ebp - 0xa8], 3
je 0x42ead1
jmp 0x42ebd4
push 0
push 0
push 0
mov ecx, dword [ebp - 0xa0]
call fcn.0042ebf0
neg eax
sbb eax, eax
neg eax
mov byte [ebp - 0xe], al
jmp 0x42ebd4
push 0
push 0
push 1
mov ecx, dword [ebp - 0xa0]
call fcn.0042ebf0
neg eax
sbb eax, eax
neg eax
mov byte [ebp - 0xe], al
jmp 0x42ebd4
call fcn.004b5d44
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x30]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x30]
call dword [edx + 0xc]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
add eax, 0x10
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 0
call fcn.004b5d44
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x38]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x38]
call dword [edx + 0xc]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
add eax, 0x10
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 1
push 0x400
push 0x400
lea ecx, [ebp - 0x18]
call fcn.0041bb70
push eax
push 0x73
call fcn.004b60e7
push 0xffffffffffffffff
lea ecx, [ebp - 0x18]
call fcn.0041bbd0
mov ecx, dword [ebp - 0x18]
push ecx
call dword [fcn.004c887c]
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], 0
jne 0x42eb5a
mov dword [ebp - 0x4c], 0
jmp 0x42eb69
mov edx, dword [ebp - 0x50]
push edx
call fcn.0049873d
add esp, 4
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
push eax
mov ecx, dword [ebp - 0x50]
push ecx
lea ecx, [ebp - 0x1c]
call fcn.004023c0
mov edx, dword [ebp - 0xa0]
mov eax, dword [edx + 0x22dc]
mov dword [ebp - 0x54], eax
mov ecx, dword [ebp - 0x54]
push ecx
push 0x4cde84
lea ecx, [ebp - 0x1c]
call fcn.004303b0
push 0
push 1
push 5
lea ecx, [ebp - 0x1c]
call fcn.00430810
push eax
push 0
call dword [0x4c8020]
neg eax
sbb eax, eax
neg eax
mov byte [ebp - 0xe], al
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x18]
call fcn.0044e670
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1c]
call fcn.0044e670
mov al, byte [ebp - 0xe]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret