Function at 0x6c812592
Capabilities:
Write file on windows

Disassembly:
lea ecx, [esp + 4]
and esp, 0xfffffff0
push dword [ecx - 4]
push ebp
mov ebp, esp
push edi
push esi
push ebx
push ecx
sub esp, 0x4d8
mov ebx, dword [ecx]
test byte [0x6c8457b0], 8
jne 0x6c810ed8
mov esi, dword [ebx + 0xb0]
mov edx, esi
mov dword [ebp - 0x48c], esi
shr edx, 8
cmp dl, 0x2e
jbe case.default.0x6c810ecd
cmp dl, 0x59
je case.default.0x6c810ecd
mov eax, dword fs:[0x18]
mov dword [eax + 0x34], 0
mov esi, dword [ebx + 0xb0]
mov edx, esi
mov dword [ebp - 0x48c], esi
shr edx, 8
mov eax, dword [ebx + 0xc0]
movzx edx, dl
and eax, 0xfffffffe
mov dword [ebx + 0xc0], eax
jmp dword [edx*4 + 0x6c84aa84]
mov eax, dword [ebx + 0xc0]
mov dword [esp + 0x30], eax
movzx eax, word [ebx + 0x94]
mov dword [esp + 0x2c], eax
movzx eax, word [ebx + 0x98]
mov dword [esp + 0x28], eax
movzx eax, word [ebx + 0x9c]
mov dword [esp + 0x24], eax
movzx eax, word [ebx + 0xa0]
mov dword [esp + 0x20], eax
movzx eax, word [ebx + 0xa8]
mov dword [esp + 0x1c], eax
movzx eax, word [ebx + 0xac]
mov dword [esp + 0x18], eax
movzx eax, word [ebx + 0xa4]
mov dword [esp + 0x14], eax
movzx eax, word [ebx + 0xb0]
mov dword [esp + 0xc], str.AX_04x_BX_04x_CX_04x_DX_04x_SI_04x_DI_04x_DS_04x_ES_04x_EFL_08lx_n
mov dword [esp + 8], str.DOSVM_Int21Handler
mov dword [esp + 4], 0x6c8457b0
mov dword [esp + 0x10], eax
mov dword [esp], 3
call fcn.6c80d340
jmp 0x6c810e82
movzx edx, byte [0x6c8457b0]
test dl, 2
jne 0x6c8166ab
lea esi, [esi]
nop
and edx, 8
test dl, dl
je 0x6c811011
mov eax, dword [ebx + 0xc0]
mov dword [esp + 0x30], eax
movzx eax, word [ebx + 0x94]
mov dword [esp + 0x2c], eax
movzx eax, word [ebx + 0x98]
mov dword [esp + 0x28], eax
movzx eax, word [ebx + 0x9c]
mov dword [esp + 0x24], eax
movzx eax, word [ebx + 0xa0]
mov dword [esp + 0x20], eax
movzx eax, word [ebx + 0xa8]
mov dword [esp + 0x1c], eax
movzx eax, word [ebx + 0xac]
mov dword [esp + 0x18], eax
movzx eax, word [ebx + 0xa4]
mov dword [esp + 0x14], eax
movzx eax, word [ebx + 0xb0]
mov dword [esp + 0xc], str.returning:_AX_04x_BX_04x_CX_04x_DX_04x_SI_04x_DI_04x_DS_04x_ES_04x_EFL_08lx_n
mov dword [esp + 8], str.DOSVM_Int21Handler
mov dword [esp + 4], 0x6c8457b0
mov dword [esp + 0x10], eax
mov dword [esp], 3
call fcn.6c80d340
lea esp, [ebp - 0x10]
pop ecx
pop ebx
pop esi
pop edi
pop ebp
lea esp, [ecx - 4]
ret 4
movzx edx, byte [0x6c8457b0]
and esi, 0xffffff00
mov dword [ebx + 0xb0], esi
and edx, 8
jmp 0x6c810f83
movzx edx, byte [0x6c8457b0]
test dl, 2
je 0x6c810f80
movzx eax, word [ebx + 0x94]
movzx esi, si
mov dword [esp + 0x34], eax
movzx eax, word [ebx + 0x98]
mov dword [esp + 0x30], eax
movzx eax, word [ebx + 0x9c]
mov dword [esp + 0x2c], eax
movzx eax, word [ebx + 0xa0]
mov dword [esp + 0x28], eax
movzx eax, word [ebx + 0xa8]
mov dword [esp + 0x24], eax
movzx eax, word [ebx + 0xac]
mov dword [esp + 0x20], eax
movzx eax, word [ebx + 0xa4]
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], 0x21
mov dword [esp + 0x10], 0x21
mov dword [esp + 0x1c], eax
mov dword [esp + 0xc], 0x6c848e98
mov dword [esp + 8], str.DOSVM_Int21Handler
mov dword [esp + 4], 0x6c8457b0
mov dword [esp], 1
call fcn.6c80d340
mov eax, dword [ebx + 0xc0]
movzx edx, byte [0x6c8457b0]
and eax, 1
and edx, 8
lea esi, [esi]
nop
test eax, eax
je 0x6c810f83
lea esi, [esi]
nop
test dl, dl
je 0x6c811011
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x34]
mov dword [esp + 0xc], str.failed__error__ld_n
mov dword [esp + 8], str.DOSVM_Int21Handler
mov dword [esp + 4], 0x6c8457b0
mov dword [esp], 3
mov dword [esp + 0x10], eax
call fcn.6c80d340
movzx edx, byte [0x6c8457b0]
jmp 0x6c810f80
mov eax, ebx
call fcn.6c80d7a0
mov eax, dword [ebx + 0xc0]
movzx edx, byte [0x6c8457b0]
and eax, 1
and edx, 8
jmp 0x6c8110f0
movzx edx, byte [0x6c8457b0]
test dl, 2
je 0x6c810f80
movzx eax, word [ebx + 0x94]
movzx esi, si
mov dword [esp + 0x34], eax
movzx eax, word [ebx + 0x98]
mov dword [esp + 0x30], eax
movzx eax, word [ebx + 0x9c]
mov dword [esp + 0x2c], eax
movzx eax, word [ebx + 0xa0]
mov dword [esp + 0x28], eax
movzx eax, word [ebx + 0xa8]
mov dword [esp + 0x24], eax
movzx eax, word [ebx + 0xac]
mov dword [esp + 0x20], eax
movzx eax, word [ebx + 0xa4]
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], 0x21
mov dword [esp + 0x10], 0x21
mov dword [esp + 0x1c], eax
mov dword [esp + 0xc], 0x6c848e98
mov dword [esp + 8], str.DOSVM_Int21Handler
mov dword [esp + 4], 0x6c8457b0
mov dword [esp], 1
call fcn.6c80d340
mov eax, dword [ebx + 0xc0]
movzx edx, byte [0x6c8457b0]
and eax, 1
and edx, 8
jmp 0x6c8110f0
movzx edx, byte [0x6c8457b0]
test dl, 2
je 0x6c810f80
movzx eax, word [ebx + 0x94]
movzx esi, si
mov dword [esp + 0x34], eax
movzx eax, word [ebx + 0x98]
mov dword [esp + 0x30], eax
movzx eax, word [ebx + 0x9c]
mov dword [esp + 0x2c], eax
movzx eax, word [ebx + 0xa0]
mov dword [esp + 0x28], eax
movzx eax, word [ebx + 0xa8]
mov dword [esp + 0x24], eax
movzx eax, word [ebx + 0xac]
mov dword [esp + 0x20], eax
movzx eax, word [ebx + 0xa4]
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], 0x21
mov dword [esp + 0x10], 0x21
mov dword [esp + 0x1c], eax
mov dword [esp + 0xc], 0x6c848e98
mov dword [esp + 8], str.DOSVM_Int21Handler
mov dword [esp + 4], 0x6c8457b0
mov dword [esp], 1
call fcn.6c80d340
mov eax, dword [ebx + 0xc0]
movzx edx, byte [0x6c8457b0]
and eax, 1
and edx, 8
jmp 0x6c8110f0
lea eax, [esi + 1]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x470]
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0xb
mov dword [esp + 0xc], 0xc
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov dword [esp], 1
call dword [sym.imp.kernel32.dll_WideCharToMultiByte]
sub edi, dword [ebp - 0x48c]
sub esp, 0x20
mov dword [esp + 4], 0
mov eax, dword fs:[0x18]
lea edx, [edi + 8]
mov dword [esp + 8], edx
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
mov ecx, dword [ebp - 0x48c]
sub esp, 0xc
mov dword [esi + 0x11], eax
mov dword [esp + 8], edi
mov dword [esp], eax
mov dword [esp + 4], ecx
call sub.ucrtbase.dll_memcpy
mov eax, dword [esi + 0x11]
mov dword [eax + edi], 0x2e002a
mov dword [eax + edi + 4], 0x2a
mov eax, dword [esi + 0x11]
movzx eax, word [eax]
lea edx, [eax - 0x41]
cmp dx, 0x19
jbe 0x6c816bcd
lea edx, [eax - 0x61]
sub eax, 0x61
cmp dx, 0x1a
mov edx, 0x1a
cmovae eax, edx
xor edi, edi
mov byte [esi], al
mov word [esi + 0xd], di
mov eax, dword [ebx + 0xac]
mov byte [esi + 0xc], al
test byte [0x6c8457b0], 8
jne 0x6c815277
call sym.krnl386.exe16_GetCurrentTask
movzx eax, ax
mov dword [esp], eax
call sym.krnl386.exe16_GlobalLock16
mov eax, dword [eax + 0x62]
sub esp, 4
movzx edx, ax
shr eax, 0x10
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.6c82fe60
mov esi, eax
movzx eax, byte [eax + 0xc]
mov edi, dword [esi + 0x11]
test edi, edi
je 0x6c81146f
movzx edx, byte [esi]
lea ecx, [esi + 1]
or eax, 0x61
movzx eax, al
mov dword [ebp - 0x48c], ecx
movzx ecx, word [esi + 0xd]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x48c]
mov dword [ebp - 0x490], edx
lea edx, [ebp - 0x268]
mov dword [esp + 8], edx
mov edx, dword [ebp - 0x490]
mov dword [esp], eax
mov eax, edi
call fcn.6c80f100
mov edi, eax
test eax, eax
jne 0x6c815393
mov edx, dword [esi + 0x11]
mov dword [esp + 4], 0
mov eax, dword fs:[0x18]
mov dword [esp + 8], edx
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_HeapFree]
mov dword [esi + 0x11], 0
mov dword [0x6c852d48], 0
sub esp, 0xc
movzx edx, byte [0x6c8457b0]
mov ecx, 0x12
mov eax, dword fs:[0x18]
mov dword [eax + 0x34], 0x12
or dword [ebx + 0xc0], 1
mov word [ebx + 0xb0], cx
and edx, 8
jmp 0x6c811100
test byte [0x6c8457b0], 8
jne 0x6c815e1e
mov eax, dword [ebx + 0xa8]
mov dword [esp + 4], eax
movzx eax, word [ebx + 0x98]
mov dword [esp], eax
call fcn.6c82fe60
mov dword [ebp - 0x470], 0x3a0020
movzx edx, byte [eax]
mov esi, eax
cmp dl, 0xff
jne 0x6c8114df
movzx edx, byte [eax + 7]
add esi, 7
test dl, dl
je 0x6c8151d2
movzx eax, dl
mov byte [ebp - 0x48c], dl
mov dword [ebp - 0x266], 0x3a
add eax, 0x40
mov word [ebp - 0x268], ax
lea eax, [ebp - 0x268]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_GetDriveTypeW]
movzx edx, byte [ebp - 0x48c]
mov ecx, eax
sub esp, 4
lea eax, [edx - 1]
cmp ecx, 1
jbe 0x6c8151b0
cmp al, 0x1a
je 0x6c8151b0
movzx eax, al
mov dword [esp + 8], 0x208
add eax, 0x41
mov dword [esp + 4], 0
mov word [ebp - 0x470], ax
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
sub esp, 0xc
mov dword [esi + 0x10], eax
test eax, eax
je 0x6c8151b0
lea edi, [ebp - 0x470]
mov dword [esp + 8], 0x104
mov dword [esp + 4], eax
mov dword [esp], edi
call dword [sym.imp.kernel32.dll_GetLongPathNameW]
mov dword [esi + 0xc], 0
mov eax, dword [ebx + 0xb0]
sub esp, 0xc
mov dword [ebp - 0x48c], eax
mov eax, dword [ebx + 0xa8]
mov ecx, dword [ebp - 0x48c]
mov dword [esp + 4], eax
movzx eax, word [ebx + 0x98]
xor cl, cl
mov dword [ebp - 0x490], ecx
mov dword [esp], eax
call fcn.6c82fe60
mov edi, eax
call sym.krnl386.exe16_GetCurrentTask
mov esi, edi
movzx eax, ax
mov dword [esp], eax
call sym.krnl386.exe16_GlobalLock16
mov eax, dword [eax + 0x62]
sub esp, 4
movzx edx, ax
shr eax, 0x10
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.6c82fe60
mov dword [ebp - 0x494], eax
xor eax, eax
cmp byte [edi], 0xff
jne 0x6c81160b
movzx eax, byte [edi + 6]
lea esi, [edi + 7]
mov edx, dword [esi + 0x10]
test edx, edx
je 0x6c8152a0
mov ecx, dword [esi + 0xc]
mov dword [ebp - 0x498], eax
lea eax, [esi + 1]
movzx edx, byte [esi]
mov dword [ebp - 0x49c], eax
mov dword [ebp - 0x4a4], ecx
test dl, dl
je 0x6c814f20
movzx eax, dl
mov byte [ebp - 0x4a0], dl
mov dword [ebp - 0x266], 0x3a
add eax, 0x40
mov word [ebp - 0x268], ax
lea eax, [ebp - 0x268]
mov dword [ebp - 0x48c], eax
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_GetDriveTypeW]
movzx edx, byte [ebp - 0x4a0]
sub esp, 4
mov ecx, dword [ebp - 0x4a4]
sub edx, 1
cmp eax, 1
mov eax, 0x1a
movzx edx, dl
cmova eax, edx
mov dword [ebp - 0x4a0], eax
mov edx, dword [ebp - 0x48c]
mov eax, dword [esi + 0x10]
mov dword [esp + 8], edx
mov edx, dword [ebp - 0x498]
mov dword [esp + 4], edx
mov edx, dword [ebp - 0x49c]
mov dword [esp], edx
mov edx, dword [ebp - 0x4a0]
call fcn.6c80f100
test eax, eax
je 0x6c8169b6
add dword [esi + 0xc], eax
cmp byte [edi], 0xff
jne 0x6c8116e8
mov edi, dword [ebp - 0x494]
mov byte [edi], 0xff
mov eax, dword [ebp - 0x268]
mov byte [edi + 6], al
lea eax, [edi + 7]
mov dword [ebp - 0x494], eax
movzx esi, byte [esi]
mov eax, esi
test al, al
je 0x6c815378
lea edi, [ebp - 0x470]
movzx eax, al
mov dword [ebp - 0x46e], 0x3a
add eax, 0x40
mov dword [esp], edi
mov word [ebp - 0x470], ax
call dword [sym.imp.kernel32.dll_GetDriveTypeW]
mov edx, eax
sub esp, 4
lea eax, [esi - 1]
cmp edx, 1
mov edx, 0x1a
cmovbe eax, edx
mov ecx, dword [ebp - 0x494]
xor esi, esi
mov byte [ecx], al
mov eax, dword [ebp - 0x268]
mov word [ecx + 0x1b], si
mov byte [ecx + 0xc], al
mov eax, dword [ebp - 0x248]
mov dword [ecx + 0xd], 0
mov dword [ecx + 0x11], 0
mov dword [ecx + 0x1d], eax
xor eax, eax
mov word [ecx + 0x15], ax
lea eax, [ecx + 0x17]
mov dword [esp + 8], eax
lea eax, [ecx + 0x19]
mov dword [esp + 4], eax
lea eax, [ebp - 0x254]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_FileTimeToDosDateTime]
mov edx, edi
sub esp, 0xc
cmp word [ebp - 0x34], 0
je 0x6c815368
lea eax, [ebp - 0x34]
call fcn.6c80cb00
mov eax, dword [ebp - 0x494]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0xb
mov dword [esp + 0xc], 0xb
add eax, 1
mov dword [esp + 8], edi
mov dword [esp + 0x10], eax
mov dword [esp + 4], 0
mov dword [esp], 1
call dword [sym.imp.kernel32.dll_WideCharToMultiByte]
sub esp, 0x20
mov eax, dword [ebp - 0x490]
movzx edx, byte [0x6c8457b0]
mov dword [ebx + 0xb0], eax
mov eax, dword [ebx + 0xc0]
and edx, 8
and eax, 1
jmp 0x6c8110f0
test byte [0x6c8457b0], 8
je 0x6c811011
mov dword [esp + 0xc], str.SET_VERIFY_FLAG_ignored_n
mov dword [esp + 8], str.DOSVM_Int21Handler
mov dword [esp + 4], 0x6c8457b0
mov dword [esp], 3
call fcn.6c80d340
mov eax, dword [ebx + 0xc0]
movzx edx, byte [0x6c8457b0]
and eax, 1
and edx, 8
jmp 0x6c8110f0
mov eax, dword fs:[0x18]
movzx ecx, word [eax + 0x34]
cmp ecx, 0x91
ja case.default.0x6c811863
jmp dword [ecx*4 + 0x6c84ae84]
movzx edx, byte [0x6c8457b0]
test dl, 2
je 0x6c810f80
movzx eax, word [ebx + 0x94]
movzx esi, si
mov dword [esp + 0x34], eax
movzx eax, word [ebx + 0x98]
mov dword [esp + 0x30], eax
movzx eax, word [ebx + 0x9c]
mov dword [esp + 0x2c], eax
movzx eax, word [ebx + 0xa0]
mov dword [esp + 0x28], eax
movzx eax, word [ebx + 0xa8]
mov dword [esp + 0x24], eax
movzx eax, word [ebx + 0xac]
mov dword [esp + 0x20], eax
movzx eax, word [ebx + 0xa4]
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], 0x21
mov dword [esp + 0x10], 0x21
mov dword [esp + 0x1c], eax
mov dword [esp + 0xc], 0x6c848e98
mov dword [esp + 8], str.DOSVM_Int21Handler
mov dword [esp + 4], 0x6c8457b0
mov dword [esp], 1
call fcn.6c80d340
mov eax, dword [ebx + 0xc0]
movzx edx, byte [0x6c8457b0]
and eax, 1
and edx, 8
jmp 0x6c8110f0
test byte [0x6c8457b0], 8
jne 0x6c8165ef
mov edx, dword [ebx + 0x98]
movzx eax, word [ebx + 0xa8]
movzx ecx, byte [ebp - 0x48c]
shl edx, 0x10
or eax, edx
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.6c81d8c0
mov eax, dword [ebx + 0xc0]
movzx edx, byte [0x6c8457b0]
and eax, 1
and edx, 8
jmp 0x6c8110f0
mov eax, ebx
call fcn.6c80fd50
mov eax, dword [ebx + 0xc0]
movzx edx, byte [0x6c8457b0]
and eax, 1
and edx, 8
jmp 0x6c8110f0
mov eax, ebx
call fcn.6c80e5a0
mov eax, dword [ebx + 0xc0]
movzx edx, byte [0x6c8457b0]
and eax, 1
and edx, 8
jmp 0x6c8110f0
mov eax, ebx
call fcn.6c80ffd0
mov eax, dword [ebx + 0xc0]
movzx edx, byte [0x6c8457b0]
and eax, 1
and edx, 8
jmp 0x6c8110f0
call fcn.6c80e860
mov esi, eax
test byte [0x6c8457b0], 8
jne 0x6c81598a
mov eax, esi
movzx eax, al
call fcn.6c80cf10
test eax, eax
jne 0x6c815942
mov eax, dword [ebx + 0xc0]
movzx edx, byte [0x6c8457b0]
or dword [ebx + 0xb0], 0xff
and eax, 1
and edx, 8
jmp 0x6c8110f0
movzx edx, byte [ebx + 0xa8]
mov eax, ebx
call fcn.6c80eca0
test eax, eax
je 0x6c8150c4
mov eax, dword [ebx + 0xc0]
movzx edx, byte [0x6c8457b0]
and eax, 1
and edx, 8
jmp 0x6c8110f0
xor edx, edx
mov eax, ebx
call fcn.6c80eca0
test eax, eax
je 0x6c815166
mov eax, dword [ebx + 0xc0]
movzx edx, byte [0x6c8457b0]
and eax, 1
and edx, 8
jmp 0x6c8110f0
movzx edx, byte [0x6c8457b0]
xor eax, eax
and edx, 8
jne 0x6c81666f
and dword [ebx + 0xa4], 0xffff0000
mov dword [ebx + 0x94], 0
jmp 0x6c8110f0
test byte [0x6c8457b0], 8
je 0x6c811011
mov dword [esp + 0xc], str.Write_Character_to_Standard_Output_n
mov dword [esp + 8], str.DOSVM_Int21Handler
mov dword [esp + 4], 0x6c8457b0
mov dword [esp], 3
call fcn.6c80d340
mov eax, dword [ebx + 0xc0]
movzx edx, byte [0x6c8457b0]
and eax, 1
and edx, 8
jmp 0x6c8110f0
mov eax, dword [ebx + 0xb0]
movzx edx, byte [0x6c8457b0]
and edx, 8
mov ecx, dword fs:[0x18]
movzx ecx, word [ecx + 0x34]
xor ax, ax
or dword [ebx + 0xc0], 1
or eax, ecx
mov dword [ebx + 0xb0], eax
jmp 0x6c811100
mov dword [esp], 2
xor ecx, ecx
mov eax, ebx
call fcn.6c80d390
test eax, eax
je 0x6c811de0
movzx edx, byte [0x6c8457b0]
and dword [ebx + 0xc0], 0xfffffffe
and edx, 8
jmp 0x6c810f83
test byte [0x6c8457b0], 8
jne 0x6c815b7c
mov dword [ebp - 0x268], 0x3a0041
mov esi, dword [ebx + 0xa8]
mov dword [ebp - 0x264], 0x5c
mov eax, esi
test al, al
je 0x6c814f45
lea edi, [ebp - 0x470]
movzx eax, al
mov dword [ebp - 0x46e], 0x3a
add eax, 0x40
mov dword [esp], edi
mov word [ebp - 0x470], ax
call dword [sym.imp.kernel32.dll_GetDriveTypeW]
mov edx, eax
sub esp, 4
lea eax, [esi - 1]
cmp edx, 1
mov edx, 0x1a
movzx eax, al
cmovbe eax, edx
add word [ebp - 0x268], ax
mov dword [esp + 0x10], edi
lea eax, [ebp - 0x474]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x478]
mov dword [esp + 8], eax
lea eax, [ebp - 0x47c]
mov dword [esp + 4], eax
lea eax, [ebp - 0x268]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_GetDiskFreeSpaceW]
sub esp, 0x14
test eax, eax
je 0x6c8150a2
mov eax, dword [ebp - 0x478]
mov ecx, dword [ebp - 0x474]
mov esi, dword [ebp - 0x470]
mov dword [ebp - 0x48c], eax
cmp eax, 0x200
jbe 0x6c812215
nop
shr eax, 1
add ecx, ecx
add esi, esi
cmp eax, 0x200
ja 0x6c8121f0
mov dword [ebp - 0x48c], eax
mov dword [ebp - 0x478], eax
mov dword [ebp - 0x474], ecx
mov dword [ebp - 0x470], esi
mov edi, dword [ebp - 0x47c]
cmp edi, 0x3f
ja 0x6c814f06
lea esi, [esi]
shr ecx, 1
add edi, edi
shr esi, 1
cmp edi, 0x3f
jbe 0x6c812228
mov dword [ebp - 0x47c], edi
mov dword [ebp - 0x470], esi
cmp esi, 0xf60c
jbe 0x6c812256
mov dword [ebp - 0x470], 0xf60c
mov esi, 0xf60c
mov eax, 0xf60c
cmp ecx, eax
cmova ecx, eax
cmp edi, 0x7f
je 0x6c8168c9
imul ecx, edi
mov eax, 0x2040811
imul esi, edi
mul ecx
mov eax, 0x2040811
sub ecx, edx
shr ecx, 1
add ecx, edx
mul esi
mov eax, 0x7f
shr ecx, 6
sub esi, edx
shr esi, 1
add edx, esi
mov esi, edx
shr esi, 6
mov word [ebx + 0xb0], ax
mov eax, dword [ebx + 0xa4]
mov edx, 0x3d83
xor ax, ax
cmp ecx, edx
cmova ecx, edx
or eax, ecx
mov dword [ebx + 0xa4], eax
mov eax, dword [ebx + 0xac]
xor ax, ax
or eax, dword [ebp - 0x48c]
mov dword [ebx + 0xac], eax
mov eax, dword [ebx + 0xa8]
xor ax, ax
cmp esi, edx
cmovbe edx, esi
or eax, edx
movzx edx, byte [0x6c8457b0]
mov dword [ebx + 0xa8], eax
mov eax, dword [ebx + 0xc0]
and edx, 8
and eax, 1
jmp 0x6c8110f0
mov esi, dword [ebx + 0xa8]
mov eax, esi
test al, al
je 0x6c815132
mov dword [ebp - 0x266], 0x3a
movzx eax, al
add eax, 0x40
mov word [ebp - 0x268], ax
lea eax, [ebp - 0x268]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_GetDriveTypeW]
sub esp, 4
cmp eax, 1
jbe 0x6c8169a7
sub esi, 1
mov eax, esi
movzx edi, al
test byte [0x6c8457b0], 8
jne 0x6c816020
mov eax, edi
call fcn.6c80cf10
test eax, eax
jne 0x6c815fd8
mov eax, dword [ebx + 0xc0]
movzx edx, byte [0x6c8457b0]
or dword [ebx + 0xb0], 0xff
and eax, 1
and edx, 8
jmp 0x6c8110f0
test byte [0x6c8457b0], 8
jne 0x6c816054
call fcn.6c80cdb0
movzx edx, byte [0x6c8457b0]
mov ecx, 0x2b2
movzx eax, word [eax + 0x2b3]
mov word [ebx + 0xa4], cx
and edx, 8
mov dword [ebx + 0x94], eax
mov eax, dword [ebx + 0xc0]
and eax, 1
jmp 0x6c8110f0
mov eax, esi
mov ecx, esi
movzx edi, byte [0x6c8457b0]
movzx eax, al
cmp cl, 6
ja case.0x6c8123dd.3
jmp dword [eax*4 + 0x6c84b288]
test byte [0x6c8457b0], 8
jne 0x6c815c52
movzx ecx, byte [ebp - 0x48c]
mov dword [esp], ecx
call fcn.6c81d380
mov edx, eax
mov word [ebx + 0xa4], ax
mov eax, dword [ebx + 0xc0]
shr edx, 0x10
mov dword [ebx + 0x94], edx
movzx edx, byte [0x6c8457b0]
and eax, 1
and edx, 8
jmp 0x6c8110f0
test byte [0x6c8457b0], 8
je 0x6c812478
mov eax, esi
mov edx, 0x6c8496bc
mov dword [esp + 0xc], str.GET_DOS_VERSION____s_requested_n
test al, al
mov eax, str.version_flag
mov dword [esp + 8], str.DOSVM_Int21Handler
cmove eax, edx
mov dword [esp + 4], 0x6c8457b0
mov dword [esp], 3
mov dword [esp + 0x10], eax
call fcn.6c80d340
mov eax, dword [ebx + 0xb0]
mov dword [ebp - 0x48c], eax
mov eax, dword [ebx + 0xa4]
mov edi, dword [ebp - 0x48c]
mov edx, eax
xor ah, ah
mov ecx, edi
or dh, 0xff
or ah, 8
test cl, cl
cmove eax, edx
and edi, 0xffffff00
mov dword [ebx + 0xa4], eax
call fcn.6c81eb20
shr eax, 0x18
mov esi, eax
or esi, edi
mov edi, 0x3456
mov dword [ebx + 0xb0], esi
and esi, 0xffff00ff
call fcn.6c81eb20
movzx edx, byte [0x6c8457b0]
mov byte [ebx + 0xa4], 0x12
shr eax, 8
mov word [ebx + 0xac], di
and eax, 0xff00
or eax, esi
mov dword [ebx + 0xb0], eax
mov eax, dword [ebx + 0xc0]
and edx, 8
and eax, 1
jmp 0x6c8110f0
movzx edx, byte [0x6c8457b0]
test dl, 1
je 0x6c810f80
mov dword [esp + 0xc], str.TERMINATE_AND_STAY_RESIDENT_stub_n
mov dword [esp + 8], str.DOSVM_Int21Handler
mov dword [esp + 4], 0x6c8457b0
mov dword [esp], 0
call fcn.6c80d340
mov eax, dword [ebx + 0xc0]
movzx edx, byte [0x6c8457b0]
and eax, 1
and edx, 8
jmp 0x6c8110f0
test byte [0x6c8457b0], 8
jne 0x6c8159b3
call sym.krnl386.exe16_GetCurrentTask
movzx eax, ax
mov dword [esp], eax
call sym.krnl386.exe16_GlobalLock16
movzx edx, word [eax + 0x64]
sub esp, 4
mov dword [ebx + 0x94], edx
movzx eax, word [eax + 0x62]
movzx edx, byte [0x6c8457b0]
mov word [ebx + 0xa4], ax
mov eax, dword [ebx + 0xc0]
and edx, 8
and eax, 1
jmp 0x6c8110f0
test byte [0x6c8457b0], 8
jne 0x6c815c14
mov eax, dword [ebx + 0xa8]
mov dword [esp + 4], eax
movzx eax, word [ebx + 0x98]
mov dword [esp], eax
call fcn.6c82fe60
cmp byte [eax], 0x24
mov edi, eax
je 0x6c81702c
lea esi, [esi]
nop
add eax, 1
cmp byte [eax], 0x24
jne 0x6c8125c8
sub eax, edi
mov esi, eax
mov dword [esp], 1
call sym.krnl386.exe16_DosFileHandleToWin32Handle
lea edx, [ebp - 0x268]
sub esp, 4
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], 0
mov dword [esp + 8], esi
mov dword [esp + 4], edi
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_WriteFile]
mov eax, dword [ebx + 0xc0]
mov byte [ebx + 0xb0], 0x24
movzx edx, byte [0x6c8457b0]
sub esp, 0x14
and eax, 1
and edx, 8
jmp 0x6c8110f0
movzx edx, byte [0x6c8457b0]
xor eax, eax
and edx, 8
jne 0x6c815b34
mov ecx, dword [ebp - 0x48c]
xor cl, cl
mov dword [ebx + 0xb0], ecx
jmp 0x6c8110f0
xor edx, edx
mov eax, ebx
call fcn.6c80f4f0
test eax, eax
jne 0x6c811eb1
jmp 0x6c811de0
mov eax, dword [ebx + 0xa8]
mov dword [esp + 4], eax
movzx eax, word [ebx + 0x98]
mov dword [esp], eax
call fcn.6c82fe60
mov esi, eax
test byte [0x6c8457b0], 8
jne 0x6c815d60
and dword [ebx + 0xc0], 0xfffffffe
mov dword [esp + 4], 1
mov dword [esp], esi
call sym.krnl386.exe16_WinExec16
sub esp, 8
cmp ax, 0x1f
jbe 0x6c8150e6
mov eax, dword [ebx + 0xc0]
movzx edx, byte [0x6c8457b0]
and eax, 1
and edx, 8
jmp 0x6c8110f0
movzx edx, byte [0x6c8457b0]
test dl, 8
jne 0x6c816510
test dl, 1
jne 0x6c8164e0
or dword [ebx + 0xc0], 1
and edx, 8
jmp 0x6c811100
test byte [0x6c8457b0], 8
jne 0x6c815bd5
mov eax, dword [ebx + 0xac]
mov dword [ebp - 0x494], eax
movzx eax, word [ebx + 0xa4]
mov dword [esp], eax
call sym.krnl386.exe16_DosFileHandleToWin32Handle
sub esp, 4
mov dword [ebp - 0x48c], eax
cmp eax, 0xffffffff
je 0x6c811de0
mov eax, dword [ebp - 0x494]
mov esi, 0x100
mov word [ebp - 0x490], ax
movzx eax, ax
mov dword [esp], eax
call sym.krnl386.exe16__lclose16
lea edx, [ebp - 0x268]
mov ecx, 8
xor eax, eax
mov edi, edx
mov dword [ebp - 0x498], ebx
sub esp, 4
mov ebx, dword [ebp - 0x48c]
rep stosd dword es:[edi], eax
lea edi, [ebp - 0x470]
jmp 0x6c8127bf
mov eax, dword [ebp - 0x470]
mov dword [esp], eax
call sym.krnl386.exe16_Win32HandleToDosFileHandle
sub esp, 4
mov ecx, eax
mov word [ebp - 0x48c], ax
cmp ax, 0xffff
je 0x6c815388
cmp word [ebp - 0x490], ax
je 0x6c815388
shr ax, 5
mov edx, 1
movzx eax, ax
shl edx, cl
or dword [ebp + eax*4 - 0x268], edx
sub esi, 1
je 0x6c815388
mov dword [esp + 0x18], 2
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], edi
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], ebx
mov dword [esp], 0xffffffff
call dword [sym.imp.kernel32.dll_DuplicateHandle]
sub esp, 0x1c
test eax, eax
jne 0x6c812770
mov ebx, dword [ebp - 0x498]
mov eax, 0xffffffff
mov word [ebp - 0x48c], ax
xor esi, esi
mov edi, 1
jmp 0x6c81282f
add esi, 1
cmp esi, 0x100
je 0x6c814e89
mov edx, esi
mov eax, edi
mov ecx, esi
sar edx, 5
shl eax, cl
and eax, dword [ebp + edx*4 - 0x268]
je 0x6c812820
mov dword [esp], esi
call sym.krnl386.exe16__lclose16
sub esp, 4
jmp 0x6c812820
test byte [0x6c8457b0], 8
jne 0x6c815a62
movzx eax, word [ebx + 0xa4]
mov dword [esp], eax
call sym.krnl386.exe16_DosFileHandleToWin32Handle
lea edx, [ebp - 0x268]
sub esp, 4
mov dword [esp + 0x18], 2
mov dword [esp + 0x14], 1
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], edx
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], eax
mov dword [esp], 0xffffffff
call dword [sym.imp.kernel32.dll_DuplicateHandle]
sub esp, 0x1c
test eax, eax
je 0x6c811de0
mov eax, dword [ebp - 0x268]
mov dword [esp], eax
call sym.krnl386.exe16_Win32HandleToDosFileHandle
sub esp, 4
cmp eax, 0xffffffff
je 0x6c811de0
nop
movzx edx, byte [0x6c8457b0]
mov word [ebx + 0xb0], ax
and dword [ebx + 0xc0], 0xfffffffe
and edx, 8
jmp 0x6c810f83
test byte [0x6c8457b0], 8
je 0x6c811011
mov dword [esp + 0xc], str.DIRECT_CHARACTER_INPUT_WITH_ECHO___not_supported_n
mov dword [esp + 8], str.DOSVM_Int21Handler
mov dword [esp + 4], 0x6c8457b0
mov dword [esp], 3
call fcn.6c80d340
mov eax, dword [ebx + 0xc0]
movzx edx, byte [0x6c8457b0]
and eax, 1
and edx, 8
jmp 0x6c8110f0
movzx edx, byte [0x6c8457b0]
xor eax, eax
and edx, 8
jne 0x6c815f67
mov ecx, dword [ebp - 0x48c]
xor cl, cl
mov dword [ebx + 0xb0], ecx
jmp 0x6c8110f0
mov esi, dword [ebx + 0xac]
movzx edi, byte [0x6c8457b0]
mov eax, esi
shr eax, 8
mov ecx, eax
cmp al, 0x17
ja 0x6c814e68
mov eax, esi
cmp al, 0x3b
ja 0x6c814e68
mov eax, dword [ebx + 0xa8]
mov edx, eax
shr edx, 8
cmp dl, 0x3b
ja 0x6c814e68
cmp al, 0x63
ja 0x6c814e68
test edi, 1
jne 0x6c817aad
mov eax, dword [ebx + 0xc0]
mov edx, edi
and dword [ebx + 0xb0], 0xffffff00
and edx, 8
and eax, 1
jmp 0x6c8110f0
test byte [0x6c8457b0], 8
jne 0x6c815faf
lea eax, [ebp - 0x268]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_GetLocalTime]
mov eax, dword [ebx + 0xac]
movzx edx, byte [ebp - 0x260]
sub esp, 4
xor ax, ax
shl edx, 8
or eax, edx
movzx edx, byte [ebp - 0x25e]
or eax, edx
movzx edx, byte [ebp - 0x25c]
mov dword [ebx + 0xac], eax
mov eax, dword [ebx + 0xa8]
shl edx, 8
xor ax, ax
or eax, edx
movzx edx, word [ebp - 0x25a]
imul edx, edx, 0xcccd
shr edx, 0x13
movzx edx, dl
or eax, edx
movzx edx, byte [0x6c8457b0]
mov dword [ebx + 0xa8], eax
mov eax, dword [ebx + 0xc0]
and edx, 8
and eax, 1
jmp 0x6c8110f0
movzx edi, byte [0x6c8457b0]
test edi, 8
jne 0x6c814f58
mov eax, dword [ebx + 0xa8]
mov edx, dword [ebx + 0xac]
mov ecx, eax
lea esi, [edx - 0x7bc]
shr ecx, 8
mov dword [ebp - 0x48c], ecx
cmp si, 0x77
jbe 0x6c814fa6
or dword [ebx + 0xb0], 0xff
mov eax, dword [ebx + 0xc0]
and eax, 1
test eax, eax
je 0x6c811011
mov edx, edi
and edx, 8
jmp 0x6c811100
mov eax, ebx
call fcn.6c810b70
mov eax, dword [ebx + 0xc0]
movzx edx, byte [0x6c8457b0]
and eax, 1
and edx, 8
jmp 0x6c8110f0
mov eax, dword [ebx + 0xa8]
mov dword [esp + 4], eax
movzx eax, word [ebx + 0x98]
mov dword [esp], eax
call fcn.6c82fe60
mov esi, eax
cmp byte [esi], 0xff
lea eax, [eax + 7]
cmove esi, eax
movzx eax, byte [esi + 0x18]
mov dword [esp], eax
call sym.krnl386.exe16__lclose16
sub esp, 4
test ax, ax
je 0x6c815055
movzx edx, byte [0x6c8457b0]
mov edi, 0xff
and edx, 8
jne 0x6c816b50
mov eax, edi
mov byte [ebx + 0xb0], al
mov eax, dword [ebx + 0xc0]
and eax, 1
jmp 0x6c8110f0
test byte [0x6c8457b0], 8
jne 0x6c815ef6
lea eax, [ebp - 0x268]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_GetLocalTime]
movzx eax, word [ebp - 0x268]
movzx edx, byte [ebp - 0x266]
sub esp, 4
mov word [ebx + 0xac], ax
mov eax, dword [ebx + 0xa8]
shl edx, 8
xor ax, ax
or eax, edx
movzx edx, byte [ebp - 0x262]
or eax, edx
movzx edx, byte [0x6c8457b0]
mov dword [ebx + 0xa8], eax
movzx eax, byte [ebp - 0x264]
and edx, 8
mov byte [ebx + 0xb0], al
mov eax, dword [ebx + 0xc0]
and eax, 1
jmp 0x6c8110f0
mov eax, dword [ebx + 0xa0]
mov dword [esp + 4], eax
movzx eax, word [ebx + 0x98]
mov dword [esp], eax
call fcn.6c82fe60
mov dword [ebp - 0x48c], eax
mov eax, dword [ebx + 0x9c]
mov dword [esp + 4], eax
movzx eax, word [ebx + 0x94]
mov dword [esp], eax
call fcn.6c82fe60
or dword [ebx + 0xb0], 0xff
mov dword [ebp - 0x490], eax
test byte [0x6c8457b0], 8
jne 0x6c81674b
mov esi, dword [ebp - 0x48c]
movzx eax, byte [esi]
cmp al, 0xa
setne cl
cmp al, 0xd
setne dl
test cl, dl
je 0x6c816cbc
test al, 0xdf
jne 0x6c812c34
jmp 0x6c816cbc
test al, 0xdf
je 0x6c812c49
movzx eax, byte [esi + 1]
add esi, 1
cmp al, 0xd
setne cl
cmp al, 0xa
setne dl
test cl, dl
jne 0x6c812c30
mov eax, dword [ebp - 0x48c]
mov dword [esp + 0x14], 0
mov edx, dword [sym.imp.kernel32.dll_MultiByteToWideChar]
mov dword [esp + 0x10], 0
mov dword [esp + 4], 0
mov dword [esp], 1
mov edi, eax
mov dword [esp + 8], eax
sub edi, esi
mov dword [ebp - 0x4a0], edx
mov dword [ebp - 0x494], edi
mov dword [esp + 0xc], edi
call edx
sub esp, 0x18
mov dword [ebp - 0x498], eax
lea eax, [eax + eax + 2]
mov dword [esp + 4], 0
mov ecx, dword fs:[0x18]
mov dword [esp + 8], eax
mov eax, dword [ecx + 0x30]
mov dword [ebp - 0x49c], ecx
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
mov ecx, dword [ebp - 0x494]
sub esp, 0xc
mov edi, eax
mov edx, dword [ebp - 0x498]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x48c]
mov dword [esp + 4], 0
mov dword [esp + 0xc], ecx
mov dword [esp + 0x14], edx
mov edx, dword [ebp - 0x4a0]
mov dword [esp + 8], eax
mov dword [esp], 1
call edx
xor edx, edx
sub esp, 0x18
mov word [edi + eax*2], dx
mov eax, edi
lea edx, [ebp - 0x268]
call fcn.6c80cb00
mov ecx, dword [ebp - 0x49c]
mov dword [esp + 8], edi
mov dword [esp + 4], 0
mov eax, dword [ecx + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [ebp - 0x490]
lea edx, [ebp - 0x268]
sub esp, 0xc
mov dword [esp + 8], edx
mov dword [esp + 0x1c], 0
lea edi, [eax + 1]
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0xc
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], 0xc
mov dword [esp + 4], 0
mov dword [esp], 1
call dword [sym.imp.kernel32.dll_WideCharToMultiByte]
mov eax, dword [ebp - 0x490]
sub esp, 0x20
mov byte [eax], 0
movzx edx, byte [0x6c8457b0]
and edx, 8
jne 0x6c815e64
mov eax, dword [ebx + 0xb0]
mov byte [ebp - 0x494], dl
mov edi, dword [sym.imp.ucrtbase.dll_strchr]
mov dword [esp + 4], 0x2a
xor al, al
mov dword [ebp - 0x490], eax
mov eax, dword [ebp - 0x48c]
mov dword [esp], eax
call edi
movzx edx, byte [ebp - 0x494]
mov ecx, eax
mov eax, 1
test ecx, ecx
je 0x6c8168a2
mov ecx, dword [ebx + 0xa0]
or eax, dword [ebp - 0x490]
mov dword [ebx + 0xb0], eax
mov eax, ecx
sub ax, word [ebp - 0x48c]
xor cx, cx
add eax, esi
movzx eax, ax
or eax, ecx
mov dword [ebx + 0xa0], eax
mov eax, dword [ebx + 0xc0]
and eax, 1
jmp 0x6c8110f0
test byte [0x6c8457b0], 8
je 0x6c811011
mov dword [esp + 0xc], str.DISK_BUFFER_FLUSH_ignored_n
mov dword [esp + 8], str.DOSVM_Int21Handler
mov dword [esp + 4], 0x6c8457b0
mov dword [esp], 3
call fcn.6c80d340
mov eax, dword [ebx + 0xc0]
movzx edx, byte [0x6c8457b0]
and eax, 1
and edx, 8
jmp 0x6c8110f0
movzx edx, byte [0x6c8457b0]
xor eax, eax
and edx, 8
jne 0x6c815f1f
mov ecx, dword [ebp - 0x48c]
xor cl, cl
mov dword [ebx + 0xb0], ecx
jmp 0x6c8110f0
test byte [0x6c8457b0], 8
je 0x6c811011
mov dword [esp + 0xc], str.BUFFERED_INPUT___not_supported_n
mov dword [esp + 8], str.DOSVM_Int21Handler
mov dword [esp + 4], 0x6c8457b0
mov dword [esp], 3
call fcn.6c80d340
mov eax, dword [ebx + 0xc0]
movzx edx, byte [0x6c8457b0]
and eax, 1
and edx, 8
jmp 0x6c8110f0
mov eax, dword [ebx + 0xa8]
mov dword [esp + 4], eax
movzx eax, word [ebx + 0x98]
mov dword [esp], eax
call fcn.6c82fe60
mov esi, eax
cmp byte [esi], 0xff
lea eax, [eax + 7]
cmove esi, eax
mov eax, dword [esi + 0x21]
mov dword [ebp - 0x48c], eax
movzx eax, byte [esi + 0x18]
mov dword [esp], eax
call sym.krnl386.exe16_DosFileHandleToWin32Handle
sub esp, 4
mov edi, eax
cmp eax, 0xffffffff
je 0x6c8152af
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
movzx eax, word [esi + 0xe]
imul eax, dword [ebp - 0x48c]
mov dword [esp], edi
mov dword [esp + 4], eax
call dword [sym.imp.kernel32.dll_SetFilePointer]
mov edx, eax
mov dword [ebp - 0x490], eax
movzx eax, word [esi + 0xe]
sub esp, 0x10
imul eax, dword [ebp - 0x48c]
cmp edx, eax
je 0x6c816d57
movzx edx, byte [0x6c8457b0]
xor ecx, ecx
mov edi, 1
and edx, 8
jne 0x6c816c67
mov eax, dword [ebp - 0x48c]
mov dword [esi + 0x21], eax
shr eax, 7
mov word [esi + 0xc], ax
movzx eax, byte [ebp - 0x48c]
and eax, 0x7f
mov byte [esi + 0x20], al
mov eax, edi
mov byte [ebx + 0xb0], al
mov eax, dword [ebx + 0xc0]
mov word [ebx + 0xac], cx
and eax, 1
jmp 0x6c8110f0
movzx edx, byte [0x6c8457b0]
test dl, 2
je 0x6c810f80
movzx eax, word [ebx + 0x94]
movzx esi, si
mov dword [esp + 0x34], eax
movzx eax, word [ebx + 0x98]
mov dword [esp + 0x30], eax
movzx eax, word [ebx + 0x9c]
mov dword [esp + 0x2c], eax
movzx eax, word [ebx + 0xa0]
mov dword [esp + 0x28], eax
movzx eax, word [ebx + 0xa8]
mov dword [esp + 0x24], eax
movzx eax, word [ebx + 0xac]
mov dword [esp + 0x20], eax
movzx eax, word [ebx + 0xa4]
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], 0x21
mov dword [esp + 0x10], 0x21
mov dword [esp + 0x1c], eax
mov dword [esp + 0xc], 0x6c848e98
mov dword [esp + 8], str.DOSVM_Int21Handler
mov dword [esp + 4], 0x6c8457b0
mov dword [esp], 1
call fcn.6c80d340
mov eax, dword [ebx + 0xc0]
movzx edx, byte [0x6c8457b0]
and eax, 1
and edx, 8
jmp 0x6c8110f0
mov eax, ebx
call fcn.6c80ed90
mov eax, dword [ebx + 0xc0]
movzx edx, byte [0x6c8457b0]
and eax, 1
and edx, 8
jmp 0x6c8110f0
test byte [0x6c8457b0], 8
jne 0x6c815a96
movzx eax, byte [ebx + 0xa8]
mov dword [ebp - 0x266], 0x3a
add eax, 0x41
mov word [ebp - 0x268], ax
lea eax, [ebp - 0x268]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_SetCurrentDirectoryW]
movzx edx, byte [0x6c8457b0]
sub esp, 4
test eax, eax
jne 0x6c814ee6
and edx, 8
jne 0x6c814ebb
mov eax, dword [ebx + 0xc0]
mov byte [ebx + 0xb0], 0x1a
and eax, 1
jmp 0x6c8110f0
mov edi, esi
test byte [0x6c8457b0], 8
jne 0x6c815acd
mov eax, edi
cmp al, 0xa
ja 0x6c814eee
mov eax, 0xfffffa3d
bt eax, esi
jb 0x6c814eee
mov eax, esi
mov byte [ebx + 0xb1], al
mov dword [esp], ebx
call fcn.6c810e60
mov eax, dword [ebx + 0xc0]
movzx edx, byte [0x6c8457b0]
sub esp, 4
and eax, 1
and edx, 8
jmp 0x6c8110f0
mov eax, ebx
call fcn.6c80fb10
mov eax, dword [ebx + 0xc0]
movzx edx, byte [0x6c8457b0]
and eax, 1
and edx, 8
jmp 0x6c8110f0
movzx edx, byte [0x6c8457b0]
xor eax, eax
and edx, 8
jne 0x6c815ce4
mov ecx, dword [ebp - 0x48c]
xor cx, cx
mov dword [ebx + 0xb0], ecx
jmp 0x6c8110f0
test byte [0x6c8457b0], 8
jne 0x6c8159dc
movzx ecx, byte [ebp - 0x48c]
mov dword [esp], ecx
call fcn.6c81d330
mov eax, dword [ebx + 0xc0]
movzx edx, byte [0x6c8457b0]
and eax, 1
and edx, 8
jmp 0x6c8110f0
test byte [0x6c8457b0], 8
jne 0x6c81677e
call sym.krnl386.exe16_GetCurrentTask
lea edi, [ebp - 0x268]
movzx eax, ax
mov dword [esp], eax
call sym.krnl386.exe16_GlobalLock16
mov eax, dword [eax + 0x62]
sub esp, 4
movzx edx, ax
shr eax, 0x10
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.6c82fe60
mov esi, eax
mov eax, dword [ebx + 0xa8]
mov dword [esp + 4], eax
movzx eax, word [ebx + 0x98]
mov dword [esp], eax
call fcn.6c82fe60
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], 0x104
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov dword [esp], 1
call dword [sym.imp.kernel32.dll_MultiByteToWideChar]
mov edx, dword [sym.imp.ucrtbase.dll_wcsrchr]
mov dword [ebp - 0x48c], edi
sub esp, 0x18
mov dword [esp], edi
mov dword [esp + 4], 0x5c
mov dword [ebp - 0x490], edx
call edx
mov edx, dword [ebp - 0x490]
mov dword [esp + 4], 0x2f
mov edi, eax
mov eax, dword [ebp - 0x48c]
mov dword [esp], eax
call edx
cmp edi, eax
cmovae eax, edi
lea edi, [eax + 2]
test eax, eax
je 0x6c8167cf
lea edx, [ebp - 0x470]
mov eax, edi
call fcn.6c80cb00
test eax, eax
jne 0x6c8112d0
movzx edx, byte [0x6c8457b0]
mov eax, dword fs:[0x18]
mov dword [eax + 0x34], 2
mov eax, 2
or dword [ebx + 0xc0], 1
mov word [ebx + 0xb0], ax
and edx, 8
jmp 0x6c811100
test byte [0x6c8457b0], 8
jne 0x6c8163bc
movzx eax, word [ebx + 0x94]
mov dword [esp], eax
call fcn.6c809820
sub esp, 4
test ax, ax
jne 0x6c815188
mov dword [ebx + 0x94], 0
mov eax, dword [ebx + 0xc0]
movzx edx, byte [0x6c8457b0]
and eax, 1
and edx, 8
jmp 0x6c8110f0
test byte [0x6c8457b0], 8
jne 0x6c815d2c
movzx eax, word [ebx + 0xa4]
mov dword [esp], eax
call sym.krnl386.exe16__lclose16
sub esp, 4
cmp ax, 0xffff
jne 0x6c811eb1
jmp 0x6c811de0
mov eax, esi
mov edx, dword [ebx + 0xa8]
mov dword [esp + 4], 1
movzx esi, al
mov dword [esp], esi
jmp 0x6c811ea0
movzx edx, byte [0x6c8457b0]
xor eax, eax
and edx, 8
jne 0x6c815a1a
mov ecx, dword [ebp - 0x48c]
xor cl, cl
mov dword [ebx + 0xb0], ecx
jmp 0x6c8110f0
mov esi, dword [ebx + 0xa8]
movzx edx, byte [0x6c8457b0]
mov ecx, esi
and edx, 8
cmp cl, 0xff
je 0x6c815623
xor eax, eax
test dl, dl
jne 0x6c816959
mov edi, dword [ebp - 0x48c]
mov ecx, esi
movzx esi, cl
and edi, 0xffffff00
or edi, esi
mov dword [ebx + 0xb0], edi
jmp 0x6c8110f0
test byte [0x6c8457b0], 8
jne 0x6c815df5
mov dword [esp], 0
call fcn.6c81d330
mov eax, dword [ebx + 0xc0]
movzx edx, byte [0x6c8457b0]
and eax, 1
and edx, 8
jmp 0x6c8110f0
test byte [0x6c8457b0], 8
jne 0x6c81647f
mov eax, dword [ebx + 0xa4]
shl eax, 4
and eax, 0xffff0
mov dword [esp], eax
call fcn.6c809790
sub esp, 4
test ax, ax
jne 0x6c8128d0
or dword [ebx + 0xc0], 1
mov eax, 8
mov esi, dword [ebx + 0xa4]
mov word [ebx + 0xb0], ax
call fcn.6c805010
movzx edx, byte [0x6c8457b0]
shr eax, 4
xor si, si
movzx eax, ax
or eax, esi
mov dword [ebx + 0xa4], eax
mov eax, dword [ebx + 0xc0]
and edx, 8
and eax, 1
jmp 0x6c8110f0
test byte [0x6c8457b0], 8
je 0x6c81357d
mov ecx, esi
mov eax, str.start_of_file
test cl, cl
je 0x6c813534
cmp cl, 1
mov eax, str.current_file_position
mov edx, str.end_of_file
cmovne eax, edx
mov dword [esp + 0x18], eax
mov edx, dword [ebx + 0xac]
movzx eax, word [ebx + 0xa8]
shl edx, 0x10
or eax, edx
mov dword [esp + 0x14], eax
movzx eax, word [ebx + 0xa4]
mov dword [esp + 0xc], str.LSEEK_handle__d_offset__ld_from__s_n
mov dword [esp + 8], str.DOSVM_Int21Handler
mov dword [esp + 4], 0x6c8457b0
mov dword [esp + 0x10], eax
mov dword [esp], 3
call fcn.6c80d340
movzx eax, word [ebx + 0xa4]
mov dword [esp], eax
call sym.krnl386.exe16_DosFileHandleToWin32Handle
mov ecx, eax
movzx eax, byte [ebx + 0xb0]
sub esp, 4
mov dword [esp + 8], 0
mov dword [esp + 0xc], eax
mov edx, dword [ebx + 0xac]
movzx eax, word [ebx + 0xa8]
mov dword [esp], ecx
shl edx, 0x10
or eax, edx
mov dword [esp + 4], eax
call dword [sym.imp.kernel32.dll_SetFilePointer]
sub esp, 0x10
cmp eax, 0xffffffff
je 0x6c811de0
movzx edx, byte [0x6c8457b0]
mov word [ebx + 0xb0], ax
shr eax, 0x10
and dword [ebx + 0xc0], 0xfffffffe
mov word [ebx + 0xa8], ax
and edx, 8
jmp 0x6c810f83
call fcn.6c80e860
movzx edi, byte [0x6c8457b0]
and esi, 0xffffff00
movzx eax, al
or eax, esi
mov dword [ebx + 0xb0], eax
test edi, 8
je 0x6c812a9f
movzx eax, al
mov dword [esp + 0xc], str.GET_CURRENT_DRIVE_____c:_n
add eax, 0x41
mov dword [esp + 8], str.DOSVM_Int21Handler
mov dword [esp + 0x10], eax
mov dword [esp + 4], 0x6c8457b0
mov dword [esp], 3
call fcn.6c80d340
mov eax, dword [ebx + 0xc0]
movzx edx, byte [0x6c8457b0]
and eax, 1
and edx, 8
jmp 0x6c8110f0
mov eax, esi
movzx edx, byte [0x6c8457b0]
movzx eax, al
cmp eax, 2
je 0x6c8169fd
ja 0x6c814d40
test eax, eax
je 0x6c816ac4
cmp eax, 1
jne 0x6c816a1b
and edx, 8
je 0x6c811011
movzx eax, byte [ebx + 0xa4]
mov dword [esp + 0xc], str.SET_MEMORY_ALLOCATION_STRATEGY_to__d___ignored_n
mov dword [esp + 8], str.DOSVM_Int21Handler
mov dword [esp + 4], 0x6c8457b0
mov dword [esp], 3
mov dword [esp + 0x10], eax
call fcn.6c80d340
mov eax, dword [ebx + 0xc0]
movzx edx, byte [0x6c8457b0]
and eax, 1
and edx, 8
jmp 0x6c8110f0
movzx eax, word [ebx + 0xa4]
mov dword [esp], eax
call sym.krnl386.exe16_DosFileHandleToWin32Handle
mov esi, eax
mov eax, dword [ebx + 0xb0]
sub esp, 4
movzx edx, al
cmp al, 7
ja case.0x6c81370d.2
jmp dword [edx*4 + 0x6c84b2a4]
mov eax, ebx
call fcn.6c80d810
test eax, eax
jne 0x6c811eb1
jmp 0x6c811de0
mov eax, dword [ebx + 0xa8]
mov dword [esp + 4], eax
movzx eax, word [ebx + 0x98]
mov dword [esp], eax
call fcn.6c82fe60
mov esi, eax
test byte [0x6c8457b0], 8
jne 0x6c8164b3
mov dword [esp + 0x14], 0x104
lea edi, [ebp - 0x268]
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 0x10], edi
mov dword [esp + 8], esi
mov dword [esp + 4], 0
mov dword [esp], 1
call dword [sym.imp.kernel32.dll_MultiByteToWideChar]
sub esp, 0x18
mov dword [esp], edi
call dword [sym.imp.kernel32.dll_RemoveDirectoryW]
sub esp, 4
test eax, eax
je 0x6c811de0
jmp 0x6c811eb1
mov eax, ebx
call fcn.6c80d930
test eax, eax
je 0x6c811de0
jmp 0x6c811eb1
mov eax, esi
movzx ecx, al
cmp al, 0x12
ja 0x6c814e04
cmp ecx, 0xb
ja 0x6c814da0
mov eax, 1
shl eax, cl
test eax, 0x4cf
je 0x6c81530d
mov eax, ebx
call fcn.6c80eaa0
mov eax, dword [ebx + 0xc0]
movzx edx, byte [0x6c8457b0]
and eax, 1
and edx, 8
jmp 0x6c8110f0
movzx edx, byte [0x6c8457b0]
xor eax, eax
and edx, 8
jne 0x6c8163ef
mov ecx, dword [ebx + 0xa4]
mov word [0x6c852002], cx
jmp 0x6c8110f0
mov edx, dword [ebx + 0xa8]
mov dword [esp + 4], 0x12
jmp 0x6c811e99
test byte [0x6c8457b0], 8
jne 0x6c8158d7
call sym.krnl386.exe16_GetCurrentTask
movzx eax, ax
mov dword [esp], eax
call sym.krnl386.exe16_GlobalLock16
movzx ecx, word [ebx + 0xa8]
mov edx, eax
mov eax, dword [ebx + 0x98]
sub esp, 4
shl eax, 0x10
or eax, ecx
mov dword [edx + 0x62], eax
movzx edx, byte [0x6c8457b0]
mov eax, dword [ebx + 0xc0]
and edx, 8
and eax, 1
jmp 0x6c8110f0
test byte [0x6c8457b0], 8
jne 0x6c81642b
mov eax, dword [ebx + 0xa8]
mov dword [esp + 4], eax
movzx eax, word [ebx + 0x98]
mov dword [esp], eax
call fcn.6c82fe60
mov esi, eax
movzx eax, word [ebx + 0xa4]
mov dword [esp], eax
call sym.krnl386.exe16_DosFileHandleToWin32Handle
movzx edx, word [ebx + 0xac]
sub esp, 4
mov dword [esp + 4], esi
mov dword [esp], eax
mov dword [esp + 8], edx
call dword [sym.imp.kernel32.dll__hwrite]
sub esp, 0xc
cmp eax, 0xffffffff
jne 0x6c8128d0
jmp 0x6c811de0
test byte [0x6c8457b0], 8
jne 0x6c815aff
mov edi, dword [ebp - 0x48c]
mov eax, edi
test al, al
je 0x6c813b83
movzx esi, al
cmp al, 0xff
jne 0x6c813b48
movzx esi, word [ebx + 0xa4]
call dword [sym.imp.kernel32.dll_GetSystemDefaultLangID]
cmp si, ax
je 0x6c816aec
test byte [0x6c8457b0], 1
jne 0x6c816eb1
mov ecx, dword [ebx + 0xb0]
or dword [ebx + 0xc0], 1
xor cx, cx
or ecx, 2
mov dword [ebp - 0x48c], ecx
mov dword [ebx + 0xb0], ecx
cmp word [ebp - 0x48c], 2
jne 0x6c8151dc
mov eax, dword [ebx + 0xc0]
movzx edx, byte [0x6c8457b0]
and eax, 1
and edx, 8
jmp 0x6c8110f0
mov eax, esi
xor ecx, ecx
movzx edx, al
mov eax, ebx
call fcn.6c80da40
test eax, eax
jne 0x6c811eb1
jmp 0x6c811de0
mov eax, ebx
call fcn.6c80e910
test eax, eax
jne 0x6c811eb1
jmp 0x6c811de0
mov eax, esi
movzx edx, byte [0x6c8457b0]
and eax, 0xff
je 0x6c8158b4
cmp eax, 1
je 0x6c81578d
test dl, 2
je 0x6c810f80
movzx eax, word [ebx + 0x94]
movzx esi, si
mov dword [esp + 0x34], eax
movzx eax, word [ebx + 0x98]
mov dword [esp + 0x30], eax
movzx eax, word [ebx + 0x9c]
mov dword [esp + 0x2c], eax
movzx eax, word [ebx + 0xa0]
mov dword [esp + 0x28], eax
movzx eax, word [ebx + 0xa8]
mov dword [esp + 0x24], eax
movzx eax, word [ebx + 0xac]
mov dword [esp + 0x20], eax
movzx eax, word [ebx + 0xa4]
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], 0x21
mov dword [esp + 0x10], 0x21
mov dword [esp + 0x1c], eax
mov dword [esp + 0xc], 0x6c848e98
mov dword [esp + 8], str.DOSVM_Int21Handler
mov dword [esp + 4], 0x6c8457b0
mov dword [esp], 1
call fcn.6c80d340
mov eax, dword [ebx + 0xc0]
movzx edx, byte [0x6c8457b0]
and eax, 1
and edx, 8
jmp 0x6c8110f0
mov eax, dword [ebx + 0xa8]
mov dword [esp + 4], eax
movzx eax, word [ebx + 0x98]
mov dword [esp], eax
call fcn.6c82fe60
mov esi, eax
test byte [0x6c8457b0], 8
jne 0x6c815915
mov dword [esp + 0x14], 0x104
lea edi, [ebp - 0x268]
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 0x10], edi
mov dword [esp + 8], esi
mov dword [esp + 4], 0
mov dword [esp], 1
call dword [sym.imp.kernel32.dll_MultiByteToWideChar]
sub esp, 0x18
mov dword [esp], edi
call dword [sym.imp.kernel32.dll_DeleteFileW]
sub esp, 4
test eax, eax
je 0x6c811de0
jmp 0x6c811eb1
test byte [0x6c8457b0], 8
jne 0x6c815c90
mov eax, dword [ebx + 0xa8]
mov edi, dword [ebx + 0xac]
mov dword [esp + 4], eax
movzx eax, word [ebx + 0x98]
mov dword [esp], eax
call fcn.6c82fe60
mov esi, eax
movzx eax, word [ebx + 0x98]
mov dword [esp], eax
call sym.krnl386.exe16_GetSelectorLimit16
movzx edx, word [ebx + 0xa8]
sub esp, 4
sub eax, edx
lea edx, [eax + 1]
movzx eax, di
cmp edx, eax
cmovbe eax, edx
and dword [ebx + 0xc0], 0xfffffffe
mov edi, eax
movzx eax, word [ebx + 0xa4]
mov dword [esp], eax
call sym.krnl386.exe16_DosFileHandleToWin32Handle
lea edx, [ebp - 0x268]
sub esp, 4
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], edx
mov dword [esp + 8], edi
mov dword [esp + 4], esi
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_ReadFile]
sub esp, 0x14
test eax, eax
je 0x6c811de0
movzx eax, word [ebp - 0x268]
movzx edx, byte [0x6c8457b0]
mov word [ebx + 0xb0], ax
mov eax, dword [ebx + 0xc0]
and edx, 8
and eax, 1
jmp 0x6c8110f0
cmp ecx, 0xb7
je case.0x6c811863.80
movzx edi, byte [0x6c8457b0]
mov esi, edi
and esi, 1
jne 0x6c817be7
mov esi, 1
mov byte [ebp - 0x48c], 4
mov edx, 6
lea esi, [esi]
nop
mov eax, esi
movzx esi, dl
mov edx, edi
movzx eax, al
and edx, 8
mov dword [ebp - 0x490], eax
movzx eax, byte [ebp - 0x48c]
mov dword [ebp - 0x48c], eax
jne 0x6c815e9b
mov eax, dword [ebx + 0xa4]
shl esi, 8
mov word [ebx + 0xb0], cx
xor ax, ax
or eax, esi
or eax, dword [ebp - 0x48c]
mov dword [ebx + 0xa4], eax
movzx eax, byte [ebp - 0x490]
mov byte [ebx + 0xad], al
mov eax, dword [ebx + 0xc0]
and eax, 1
jmp 0x6c8110f0
and edi, 8
jne 0x6c81760b
mov edi, dword [ebx + 0xa4]
call fcn.6c81eb20
shr eax, 0x18
mov esi, eax
and edi, 0xffffff00
or esi, edi
mov dword [ebx + 0xa4], esi
and esi, 0xffff00ff
call fcn.6c81eb20
movzx edx, byte [0x6c8457b0]
shr eax, 8
and eax, 0xff00
or eax, esi
mov esi, 0x800
mov dword [ebx + 0xa4], eax
mov eax, dword [ebx + 0xc0]
and edx, 8
mov word [ebx + 0xa8], si
and eax, 1
jmp 0x6c8110f0
mov edx, edi
xor eax, eax
and edx, 8
jne 0x6c817450
mov byte [ebx + 0xa8], 3
jmp 0x6c8110f0
test edi, 8
jne 0x6c817420
mov edx, dword [ebx + 0xa8]
movzx eax, byte [0x6c852d50]
mov ecx, edx
xor cl, cl
or eax, ecx
mov dword [ebx + 0xa8], eax
test dl, dl
je 0x6c817165
mov eax, dword [ebx + 0xc0]
mov edx, edi
mov dword [0x6c852d50], 1
and edx, 8
and eax, 1
jmp 0x6c8110f0
mov edx, edi
and edx, 8
jne 0x6c81752c
movzx ecx, byte [0x6c852d50]
mov byte [ebx + 0xa8], cl
jmp 0x6c8110f0
test edi, 2
jne 0x6c81748c
mov edx, edi
and edx, 8
jmp 0x6c810f83
mov edx, edi
xor eax, eax
and edx, 8
jne 0x6c817568
xor ecx, ecx
cmp byte [ebx + 0xa8], 0
setne cl
mov dword [0x6c852d50], ecx
jmp 0x6c8110f0
test byte [0x6c8457b0], 8
jne 0x6c8176ad
lea edi, [ebp - 0x268]
mov dword [esp + 8], edi
movzx eax, word [ebx + 0xac]
mov dword [esp + 4], eax
movzx eax, word [ebx + 0xa8]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_DosDateTimeToFileTime]
sub esp, 0xc
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], edi
mov dword [esp], esi
call dword [sym.imp.kernel32.dll_SetFileTime]
sub esp, 0x10
test eax, eax
je 0x6c811de0
movzx edi, byte [0x6c8457b0]
and dword [ebx + 0xc0], 0xfffffffe
jmp 0x6c813fa2
test byte [0x6c8457b0], 8
jne 0x6c817749
mov dword [esp + 8], 0
lea edi, [ebp - 0x268]
mov dword [esp + 0xc], edi
mov dword [esp + 4], 0
mov dword [esp], esi
call dword [sym.imp.kernel32.dll_GetFileTime]
sub esp, 0x10
test eax, eax
je 0x6c811de0
lea eax, [ebp - 0x470]
mov dword [esp], edi
mov dword [esp + 8], eax
lea eax, [ebp - 0x474]
mov dword [esp + 4], eax
call dword [sym.imp.kernel32.dll_FileTimeToDosDateTime]
movzx eax, word [ebp - 0x474]
movzx edi, byte [0x6c8457b0]
sub esp, 0xc
mov word [ebx + 0xa8], ax
movzx eax, word [ebp - 0x470]
mov word [ebx + 0xac], ax
jmp 0x6c814034
test byte [0x6c8457b0], 8
jne 0x6c8176e1
mov dword [esp + 0xc], 0
lea edi, [ebp - 0x268]
mov dword [esp + 8], 0
mov dword [esp + 4], edi
mov dword [esp], esi
call dword [sym.imp.kernel32.dll_GetFileTime]
sub esp, 0x10
test eax, eax
je 0x6c811de0
lea eax, [ebp - 0x470]
mov dword [esp], edi
mov dword [esp + 8], eax
lea eax, [ebp - 0x474]
mov dword [esp + 4], eax
call dword [sym.imp.kernel32.dll_FileTimeToDosDateTime]
movzx eax, word [ebp - 0x474]
and dword [ebx + 0xa0], 0xffff0000
sub esp, 0xc
mov word [ebx + 0xa8], ax
movzx eax, word [ebp - 0x470]
mov word [ebx + 0xac], ax
jmp 0x6c81402d
movzx edi, byte [0x6c8457b0]
test edi, 2
je 0x6c814034
movzx edx, word [ebx + 0x94]
movzx eax, ax
mov dword [esp + 0x34], edx
movzx edx, word [ebx + 0x98]
mov dword [esp + 0x30], edx
movzx edx, word [ebx + 0x9c]
mov dword [esp + 0x2c], edx
movzx edx, word [ebx + 0xa0]
mov dword [esp + 0x28], edx
movzx edx, word [ebx + 0xa8]
mov dword [esp + 0x24], edx
movzx edx, word [ebx + 0xac]
mov dword [esp + 0x20], edx
movzx edx, word [ebx + 0xa4]
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], 0x21
mov dword [esp + 0x10], 0x21
mov dword [esp + 0x1c], edx
mov dword [esp + 0xc], 0x6c848e98
mov dword [esp + 8], str.INT21_FileDateTime
mov dword [esp + 4], 0x6c8457b0
mov dword [esp], 1
call fcn.6c80d340
jmp 0x6c81402d
test byte [0x6c8457b0], 8
jne 0x6c817715
mov dword [esp + 0xc], 0
lea edi, [ebp - 0x268]
mov dword [esp + 8], edi
jmp 0x6c81405f
test byte [0x6c8457b0], 8
jne 0x6c81777d
lea edi, [ebp - 0x268]
mov dword [esp + 8], edi
movzx eax, word [ebx + 0xac]
mov dword [esp + 4], eax
movzx eax, word [ebx + 0xa8]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_DosDateTimeToFileTime]
sub esp, 0xc
mov dword [esp + 0xc], edi
mov dword [esp + 8], 0
mov dword [esp + 4], 0
jmp 0x6c814019
test byte [0x6c8457b0], 8
jne 0x6c8177b1
lea edi, [ebp - 0x268]
mov dword [esp + 8], edi
movzx eax, word [ebx + 0xac]
mov dword [esp + 4], eax
movzx eax, word [ebx + 0xa8]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_DosDateTimeToFileTime]
sub esp, 0xc
mov dword [esp + 0xc], 0
mov dword [esp + 8], edi
jmp 0x6c81424e
movzx edi, byte [0x6c8457b0]
mov esi, 2
mov edx, 0xb
mov byte [ebp - 0x48c], 4
jmp 0x6c813e10
movzx edi, byte [0x6c8457b0]
mov esi, 2
mov edx, 8
mov byte [ebp - 0x48c], 4
jmp 0x6c813e10
movzx edi, byte [0x6c8457b0]
mov esi, 2
mov edx, 0xc
mov byte [ebp - 0x48c], 4
jmp 0x6c813e10
movzx edi, byte [0x6c8457b0]
mov esi, 2
mov edx, 3
mov byte [ebp - 0x48c], 4
jmp 0x6c813e10
movzx edi, byte [0x6c8457b0]
mov esi, 2
mov edx, 7
mov byte [ebp - 0x48c], 4
jmp 0x6c813e10
movzx edi, byte [0x6c8457b0]
mov esi, 1
mov edx, 3
mov byte [ebp - 0x48c], 4
jmp 0x6c813e10
movzx edi, byte [0x6c8457b0]
mov esi, 5
mov edx, 1
mov byte [ebp - 0x48c], 4
jmp 0x6c813e10
movzx edi, byte [0x6c8457b0]
mov esi, 3
mov edx, 8
mov byte [ebp - 0x48c], 4
jmp 0x6c813e10
movzx edi, byte [0x6c8457b0]
mov esi, 2
mov edx, 2
mov byte [ebp - 0x48c], 1
jmp 0x6c813e10
movzx edi, byte [0x6c8457b0]
mov esi, 1
mov edx, 6
mov byte [ebp - 0x48c], 4
jmp 0x6c813e10
movzx edi, byte [0x6c8457b0]
mov esi, 2
mov edx, 8
mov byte [ebp - 0x48c], 6
jmp 0x6c813e10
movzx edi, byte [0x6c8457b0]
xor esi, esi
mov byte [ebp - 0x48c], 0
xor edx, edx
jmp 0x6c813e10
movzx edi, byte [0x6c8457b0]
mov esi, 2
mov edx, 0xc
mov byte [ebp - 0x48c], 6
jmp 0x6c813e10
cmp eax, 3
jne 0x6c816a1b
and edx, 8
je 0x6c811011
movzx eax, word [ebx + 0xa4]
mov dword [esp + 0xc], str.SET_UMB_LINK_STATE_to__d___ignored_n
mov dword [esp + 8], str.DOSVM_Int21Handler
mov dword [esp + 4], 0x6c8457b0
mov dword [esp], 3
mov dword [esp + 0x10], eax
call fcn.6c80d340
mov eax, dword [ebx + 0xc0]
movzx edx, byte [0x6c8457b0]
and eax, 1
and edx, 8
jmp 0x6c8110f0
sub ecx, 0xd
cmp ecx, 5
ja case.0x6c814dac.16
jmp dword [ecx*4 + 0x6c84b354]
mov eax, ebx
call fcn.6c810250
mov eax, dword [ebx + 0xc0]
movzx edx, byte [0x6c8457b0]
and eax, 1
and edx, 8
jmp 0x6c8110f0
movzx edi, byte [0x6c8457b0]
test edi, 8
jne 0x6c817aa0
or dword [ebx + 0xc0], 1
mov eax, esi
mov edx, edi
xor ax, ax
and edx, 8
or eax, 1
mov dword [ebx + 0xb0], eax
jmp 0x6c811100
cmp ecx, 0x52
je 0x6c817244
cmp ecx, 0xe0
jne 0x6c817194
test byte [0x6c8457b0], 8
je 0x6c811011
mov dword [esp + 0xc], str.Sun_PC_NFS_API_n
mov dword [esp + 8], str.INT21_Ioctl
mov dword [esp + 4], 0x6c8457b0
mov dword [esp], 3
call fcn.6c80d340
mov eax, dword [ebx + 0xc0]
movzx edx, byte [0x6c8457b0]
and eax, 1
and edx, 8
jmp 0x6c8110f0
mov edx, edi
xor eax, eax
and edx, 8
jne 0x6c816836
mov ecx, dword [ebp - 0x48c]
or cl, 0xff
mov dword [ebx + 0xb0], ecx
jmp 0x6c8110f0
mov eax, dword [ebx + 0xc0]
movzx edi, word [ebp - 0x48c]
cmp word [ebp - 0x494], di
jne 0x6c811de0
movzx edx, byte [0x6c8457b0]
and eax, 0xfffffffe
mov dword [ebx + 0xc0], eax
and edx, 8
jmp 0x6c810f83
mov dword [esp + 0xc], str.Failed_to_set_current_drive._n
mov dword [esp + 8], str.INT21_SetCurrentDrive
mov dword [esp + 4], 0x6c8457b0
mov dword [esp], 3
call fcn.6c80d340
movzx edx, byte [0x6c8457b0]
and edx, 8
jmp 0x6c8130d5
mov eax, dword [ebx + 0xc0]
movzx edx, byte [0x6c8457b0]
and eax, 1
and edx, 8
jmp 0x6c8110f0
cmp edi, 0x7f
jbe 0x6c81223f
nop
shr edi, 1
add ecx, ecx
add esi, esi
cmp edi, 0x7f
ja 0x6c814f10
jmp 0x6c812233
call fcn.6c80e860
mov ecx, dword [ebp - 0x4a4]
movzx eax, al
mov dword [ebp - 0x4a0], eax
lea eax, [ebp - 0x268]
mov dword [ebp - 0x48c], eax
jmp 0x6c811692
call fcn.6c80e860
lea edi, [ebp - 0x470]
movzx eax, al
jmp 0x6c81218d
mov dword [esp + 0xc], str.SET_SYSTEM_DATE_n
mov dword [esp + 8], str.DOSVM_Int21Handler
mov dword [esp + 4], 0x6c8457b0
mov dword [esp], 3
call fcn.6c80d340
mov eax, dword [ebx + 0xa8]
mov edx, dword [ebx + 0xac]
movzx edi, byte [0x6c8457b0]
mov ecx, eax
lea esi, [edx - 0x7bc]
shr ecx, 8
mov dword [ebp - 0x48c], ecx
cmp si, 0x77
ja 0x6c814fea
movzx ecx, byte [ebp - 0x48c]
lea esi, [ecx - 1]
mov ecx, esi
cmp cl, 0xb
ja 0x6c814fea
lea esi, [eax - 1]
mov ecx, esi
cmp cl, 0x1e
ja 0x6c814fea
test edi, 1
jne 0x6c817664
mov eax, dword [ebx + 0xc0]
mov edx, edi
and dword [ebx + 0xb0], 0xffffff00
and edx, 8
and eax, 1
jmp 0x6c8110f0
or dword [ebx + 0xb0], 0xff
test edi, 8
je 0x6c812a9f
movzx ecx, byte [ebp - 0x48c]
movzx edx, dx
movzx eax, al
mov dword [esp + 0xc], str.SetSystemDate__02d__02d__04d_:_invalid_date_n
mov dword [esp + 0x18], edx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
mov dword [esp + 8], str.DOSVM_Int21Handler
mov dword [esp + 4], 0x6c8457b0
mov dword [esp], 3
call fcn.6c80d340
mov eax, dword [ebx + 0xc0]
movzx edx, byte [0x6c8457b0]
and eax, 1
and edx, 8
jmp 0x6c8110f0
movzx edx, byte [0x6c8457b0]
xor edi, edi
and edx, 8
je 0x6c812b2a
movzx eax, byte [esi + 0x18]
mov dword [esp + 0xc], str.successful_closed_file__d_n
mov dword [esp + 0x10], eax
mov dword [esp + 8], str.INT21_CloseFileUsingFCB
mov dword [esp + 4], 0x6c8457b0
mov dword [esp], 3
call fcn.6c80d340
movzx edx, byte [0x6c8457b0]
and edx, 8
jmp 0x6c812b2a
mov eax, dword [ebx + 0xc0]
movzx edx, byte [0x6c8457b0]
or dword [ebx + 0xb0], 0xffff
and eax, 1
and edx, 8
jmp 0x6c8110f0
mov eax, dword [ebx + 0xc0]
movzx edx, byte [0x6c8457b0]
or dword [ebx + 0xb0], 0xffff
and eax, 1
and edx, 8
jmp 0x6c8110f0
movzx edx, byte [0x6c8457b0]
mov word [ebx + 0xb0], ax
or dword [ebx + 0xc0], 1
and edx, 8
jmp 0x6c811100
call fcn.6c80e860
mov esi, eax
movzx edi, al
jmp 0x6c812345
mov eax, dword [ebx + 0xc0]
movzx edx, byte [0x6c8457b0]
or dword [ebx + 0xb0], 0xffff
and eax, 1
and edx, 8
jmp 0x6c8110f0
movzx edx, byte [0x6c8457b0]
and edx, 8
jne 0x6c816b71
or dword [ebx + 0xc0], 1
mov eax, 9
mov word [ebx + 0xb0], ax
jmp 0x6c811100
mov eax, dword [ebx + 0xc0]
movzx edx, byte [0x6c8457b0]
or dword [ebx + 0xb0], 0xff
and eax, 1
and edx, 8
jmp 0x6c8110f0
call fcn.6c80e860
jmp 0x6c81152b
mov eax, dword [ebx + 0xa8]
mov dword [esp + 4], eax
movzx eax, word [ebx + 0x98]
mov dword [esp], eax
call fcn.6c82fe60
xor edx, edx
mov edi, dword [sym.imp.kernel32.dll_GetSystemDefaultLangID]
mov word [eax + 0x20], dx
mov dword [eax], 0x240000
mov dword [eax + 7], 0x2e0000
mov dword [eax + 0xb], 0x3a002f
mov dword [eax + 0xf], 0x10000
mov dword [eax + 0x13], 0x2c000000
mov byte [eax + 0x17], 0
mov dword [eax + 0x18], 0
mov dword [eax + 0x1c], 0
mov esi, dword [ebx + 0xb0]
call edi
movzx eax, ax
xor si, si
or eax, esi
mov esi, dword [ebx + 0xa4]
mov dword [ebx + 0xb0], eax
call edi
movzx edx, byte [0x6c8457b0]
and dword [ebx + 0xc0], 0xfffffffe
movzx eax, ax
xor si, si
or eax, esi
mov dword [ebx + 0xa4], eax
and edx, 8
jmp 0x6c810f83
mov dword [esp + 0xc], str.FINDNEXT_n
mov dword [esp + 8], str.DOSVM_Int21Handler
mov dword [esp + 4], 0x6c8457b0
mov dword [esp], 3
call fcn.6c80d340
jmp 0x6c8113b4
or dword [ebp - 0x490], 0xff
jmp 0x6c8117e0
movzx edx, byte [0x6c8457b0]
xor ecx, ecx
mov edi, 1
and edx, 8
je 0x6c812f7a
movzx eax, byte [esi + 0x18]
mov dword [esp + 0xc], 0x6c849038
mov dword [esp + 8], str.INT21_RandomBlockWriteToFCB
mov dword [esp + 4], 0x6c8457b0
mov dword [esp], 3
mov dword [esp + 0x10], eax
mov dword [ebp - 0x490], ecx
call fcn.6c80d340
movzx edx, byte [0x6c8457b0]
mov ecx, dword [ebp - 0x490]
and edx, 8
jmp 0x6c812f7a
test eax, 0x330
jne case.0x6c814dac.13
cmp ecx, 0xb
jne 0x6c817194
movzx edi, byte [0x6c8457b0]
test edi, 8
jne 0x6c817a5a
cmp word [ebx + 0xac], 0
mov eax, dword [ebx + 0xc0]
jne 0x6c817a1a
mov word [ebx + 0xb0], 1
or eax, 1
mov edx, edi
mov dword [ebx + 0xc0], eax
and edx, 8
jmp 0x6c811100
lea eax, [ebp - 0x23c]
call fcn.6c80cb00
jmp 0x6c811797
call fcn.6c80e860
lea edi, [ebp - 0x470]
jmp 0x6c81172e
mov ebx, dword [ebp - 0x498]
jmp 0x6c812811
mov eax, dword [ebp - 0x268]
mov byte [esi + 0x15], al
mov eax, dword [ebp - 0x248]
mov dword [esi + 0x1a], eax
lea eax, [esi + 0x16]
mov dword [esp + 8], eax
lea eax, [esi + 0x18]
mov dword [esp + 4], eax
lea eax, [ebp - 0x254]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_FileTimeToDosDateTime]
lea eax, [esi + 0x1e]
sub esp, 0xc
cmp word [ebp - 0x34], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0xd
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0xffffffff
je 0x6c816ae1
lea eax, [ebp - 0x34]
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov dword [esp], 1
call dword [sym.imp.kernel32.dll_WideCharToMultiByte]
mov eax, dword [ebp - 0x48c]
sub esp, 0x20
mov dword [esp + 8], 0xb
mov dword [esp + 4], 0x3f
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_memchr]
test eax, eax
je 0x6c81728d
mov word [esi + 0xd], di
movzx edx, byte [0x6c8457b0]
mov eax, dword [ebx + 0xc0]
and dword [ebx + 0xb0], 0xffff0000
and edx, 8
and eax, 1
jmp 0x6c8110f0
test dl, dl
jne 0x6c816ee1
mov ecx, dword [ebp - 0x48c]
xor cl, cl
mov dword [ebx + 0xb0], ecx
mov ecx, eax
and eax, 1
or ecx, 0x40
mov dword [ebx + 0xc0], ecx
jmp 0x6c8110f0
xor eax, eax
test dl, 1
jne 0x6c816f26
mov ecx, dword [ebp - 0x48c]
and edx, 8
xor cl, cl
mov dword [ebx + 0xb0], ecx
jmp 0x6c8110f0
and edx, 8
jne 0x6c816d0f
mov ecx, dword [ebp - 0x48c]
mov byte [ebx + 0xa8], 0x2f
xor cl, cl
mov dword [ebx + 0xb0], ecx
jmp 0x6c8110f0
movzx eax, word [ebx + 0xa8]
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 0x98]
mov dword [esp + 0xc], str.SET_DISK_TRANSFER_AREA_ADDRESS__04lX:_04X_n
mov dword [esp + 8], str.DOSVM_Int21Handler
mov dword [esp + 4], 0x6c8457b0
mov dword [esp + 0x10], eax
mov dword [esp], 3
call fcn.6c80d340
jmp 0x6c813a7c
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], str.UNLINK__s_n
mov dword [esp + 8], str.DOSVM_Int21Handler
mov dword [esp + 4], 0x6c8457b0
mov dword [esp], 3
call fcn.6c80d340
jmp 0x6c813cc6
and dword [ebx + 0xb0], 0xffffff00
mov edx, 0x3d
mov eax, esi
mul dl
add ax, 0x2b5
mov word [ebx + 0xa4], ax
call fcn.6c80cdb0
movzx edx, byte [0x6c8457b0]
movzx eax, word [eax + 0x2b3]
and edx, 8
mov dword [ebx + 0x98], eax
mov eax, dword [ebx + 0xc0]
and eax, 1
jmp 0x6c8110f0
mov dword [esp + 0xc], str.GET_DPB_FOR_DEFAULT_DRIVE_n
mov dword [esp + 8], str.DOSVM_Int21Handler
mov dword [esp + 4], 0x6c8457b0
mov dword [esp], 3
call fcn.6c80d340
jmp 0x6c8119d5
mov dword [esp + 0xc], str.GET_DISK_TRANSFER_AREA_ADDRESS_n
mov dword [esp + 8], str.DOSVM_Int21Handler
mov dword [esp + 4], 0x6c8457b0
mov dword [esp], 3
call fcn.6c80d340
jmp 0x6c812552
mov eax, esi
mov dword [esp + 0xc], str.EXIT_with_return_code__d_n
movzx esi, al
mov dword [esp + 8], str.DOSVM_Int21Handler
mov dword [esp + 0x10], esi
mov dword [esp + 4], 0x6c8457b0
mov dword [esp], 3
call fcn.6c80d340
mov eax, dword [ebx + 0xb0]
mov dword [ebp - 0x48c], eax
jmp 0x6c8131ea
mov dword [esp + 0xc], str.DIRECT_CHARACTER_INPUT_WITHOUT_ECHO___not_supported_n
mov dword [esp + 8], str.DOSVM_Int21Handler
mov dword [esp + 4], 0x6c8457b0
mov dword [esp], 3
call fcn.6c80d340
mov eax, dword [ebx + 0xb0]
movzx edx, byte [0x6c8457b0]
mov dword [ebp - 0x48c], eax
mov eax, dword [ebx + 0xc0]
and edx, 8
and eax, 1
jmp 0x6c8133ca
movzx eax, word [ebx + 0xa4]
mov dword [esp + 0xc], str.DUPLICATE_FILE_HANDLE__d_n
mov dword [esp + 8], str.DOSVM_Int21Handler
mov dword [esp + 4], 0x6c8457b0
mov dword [esp], 3
mov dword [esp + 0x10], eax
call fcn.6c80d340
jmp 0x6c81285d
movzx eax, byte [ebx + 0xa8]
mov dword [esp + 0xc], str.SELECT_DEFAULT_DRIVE____c:_n
mov dword [esp + 8], str.DOSVM_Int21Handler
mov dword [esp + 4], 0x6c8457b0
mov dword [esp], 3
add eax, 0x41
mov dword [esp + 0x10], eax
call fcn.6c80d340
jmp 0x6c813090
mov eax, esi
mov dword [esp + 0xc], str.FLUSH_BUFFER_AND_READ_STANDARD_INPUT___0x_02x_n
movzx eax, al
mov dword [esp + 8], str.DOSVM_Int21Handler
mov dword [esp + 0x10], eax
mov dword [esp + 4], 0x6c8457b0
mov dword [esp], 3
call fcn.6c80d340
jmp 0x6c8130f9
mov dword [esp + 0xc], str.GET_COUNTRY_SPECIFIC_INFORMATION_n
mov dword [esp + 8], str.DOSVM_Int21Handler
mov dword [esp + 4], 0x6c8457b0
mov dword [esp], 3
call fcn.6c80d340
mov eax, dword [ebx + 0xb0]
mov dword [ebp - 0x48c], eax
jmp 0x6c813b2e
mov dword [esp + 0xc], str.CHARACTER_INPUT_WITHOUT_ECHO___not_supported_n
mov dword [esp + 8], str.DOSVM_Int21Handler
mov dword [esp + 4], 0x6c8457b0
mov dword [esp], 3
call fcn.6c80d340
mov eax, dword [ebx + 0xb0]
movzx edx, byte [0x6c8457b0]
mov dword [ebp - 0x48c], eax
mov eax, dword [ebx + 0xc0]
and edx, 8
and eax, 1
jmp 0x6c81263a
movzx edx, byte [ebx + 0xa8]
mov eax, str.default
test edx, edx
je 0x6c815ba8
cmp edx, 0x1a
ja 0x6c8170bc
add edx, 0x40
mov dword [esp], 0x6c849581
mov dword [esp + 4], edx
call fcn.6c80caa0
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], str.GET_FREE_DISK_SPACE_FOR_DRIVE__s__limited_to_about_1GB__n
mov dword [esp + 8], str.DOSVM_Int21Handler
mov dword [esp + 4], 0x6c8457b0
mov dword [esp], 3
call fcn.6c80d340
jmp 0x6c81212d
movzx eax, word [ebx + 0xac]
mov dword [esp + 0x14], eax
movzx eax, word [ebx + 0xa4]
mov dword [esp + 0xc], str.FORCEDUP___FORCE_DUPLICATE_FILE_HANDLE__d_to__d_n
mov dword [esp + 8], str.DOSVM_Int21Handler
mov dword [esp + 4], 0x6c8457b0
mov dword [esp + 0x10], eax
mov dword [esp], 3
call fcn.6c80d340
jmp 0x6c8126fc
movzx eax, word [ebx + 0xa8]
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 0x98]
mov dword [esp + 0xc], str.WRITE___terminated_string_from__04lX:_04X_to_stdout_n
mov dword [esp + 8], str.DOSVM_Int21Handler
mov dword [esp + 4], 0x6c8457b0
mov dword [esp + 0x10], eax
mov dword [esp], 3
call fcn.6c80d340
jmp 0x6c81259f
mov eax, esi
mov dword [esp + 0xc], str.GET_INTERRUPT_VECTOR_0x_02x_n
movzx esi, al
mov dword [esp + 8], str.DOSVM_Int21Handler
mov dword [esp + 0x10], esi
mov dword [esp + 4], 0x6c8457b0
mov dword [esp], 3
call fcn.6c80d340
mov eax, dword [ebx + 0xb0]
mov dword [ebp - 0x48c], eax
jmp 0x6c8123f1
movzx eax, word [ebx + 0xac]
mov dword [esp + 0x1c], eax
movzx eax, word [ebx + 0xa8]
mov dword [esp + 0x18], eax
mov eax, dword [ebx + 0x98]
mov dword [esp + 0x14], eax
movzx eax, word [ebx + 0xa4]
mov dword [esp + 0xc], str.READ_from__d_to__04lX:_04X_for__d_bytes_n
mov dword [esp + 8], str.DOSVM_Int21Handler
mov dword [esp + 4], 0x6c8457b0
mov dword [esp + 0x10], eax
mov dword [esp], 3
call fcn.6c80d340
jmp 0x6c813d22
mov dword [esp + 0xc], str.GET_RETURN_CODE__ERRORLEVEL__n
mov dword [esp + 8], str.DOSVM_Int21Handler
mov dword [esp + 4], 0x6c8457b0
mov dword [esp], 3
call fcn.6c80d340
mov eax, dword [ebx + 0xb0]
movzx edx, byte [0x6c8457b0]
mov dword [ebp - 0x48c], eax
mov eax, dword [ebx + 0xc0]
and edx, 8
and eax, 1
jmp 0x6c8131c9
movzx eax, word [ebx + 0xa4]
mov dword [esp + 0xc], str.CLOSE_handle__d_n
mov dword [esp + 8], str.DOSVM_Int21Handler
mov dword [esp + 4], 0x6c8457b0
mov dword [esp], 3
mov dword [esp + 0x10], eax
call fcn.6c80d340
jmp 0x6c81337c
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], str.EXEC__s_n
mov dword [esp + 8], str.DOSVM_Int21Handler
mov dword [esp + 4], 0x6c8457b0
mov dword [esp], 3
call fcn.6c80d340
jmp 0x6c81268b
mov dword [esp + 0xc], str.TERMINATE_PROGRAM_n
mov dword [esp + 8], str.DOSVM_Int21Handler
mov dword [esp + 4], 0x6c8457b0
mov dword [esp], 3
call fcn.6c80d340
jmp 0x6c81342d
mov eax, dword [ebx + 0xa8]
mov dword [esp + 4], eax
movzx eax, word [ebx + 0x98]
mov dword [esp], eax
call fcn.6c82fe60
mov dword [esp + 0xc], str.FIND_FIRST_MATCHING_FILE_USING_FCB__p_n
mov dword [esp + 0x10], eax
mov dword [esp + 8], str.DOSVM_Int21Handler
mov dword [esp + 4], 0x6c8457b0
mov dword [esp], 3
call fcn.6c80d340
jmp 0x6c8114ab
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], str.FCB:__s_n
mov dword [esp + 8], str.INT21_ParseFileNameIntoFCB
mov dword [esp + 4], 0x6c8457b0
mov dword [esp], 3
call fcn.6c80d340
movzx edx, byte [0x6c8457b0]
and edx, 8
jmp 0x6c812da3
mov eax, dword [ebp - 0x490]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], esi
mov dword [esp + 0xc], str.GET_EXTENDED_ERROR_code_0x_02x_class_0x_02x_action_0x_02x_locus__02x_n
mov dword [esp + 8], str.INT21_GetExtendedError
mov dword [esp + 0x1c], eax
mov eax, dword [ebp - 0x48c]
mov dword [esp + 4], 0x6c8457b0
mov dword [esp], 3
mov dword [ebp - 0x494], ecx
mov dword [esp + 0x18], eax
call fcn.6c80d340
movzx edx, byte [0x6c8457b0]
mov ecx, dword [ebp - 0x494]
and edx, 8
jmp 0x6c813e36
mov dword [esp + 0xc], str.GET_SYSTEM_DATE_n
mov dword [esp + 8], str.DOSVM_Int21Handler
mov dword [esp + 4], 0x6c8457b0
mov dword [esp], 3
call fcn.6c80d340
jmp 0x6c812b4d
mov dword [esp + 0xc], str.GET_STDIN_STATUS___not_supported_n
mov dword [esp + 8], str.DOSVM_Int21Handler
mov dword [esp + 4], 0x6c8457b0
mov dword [esp], 3
call fcn.6c80d340
mov eax, dword [ebx + 0xb0]
movzx edx, byte [0x6c8457b0]
mov dword [ebp - 0x48c], eax
mov eax, dword [ebx + 0xc0]
and edx, 8
and eax, 1
jmp 0x6c812e7a
mov dword [esp + 0xc], str.Get_Verify_Flag___Not_Supported_n
mov dword [esp + 8], str.DOSVM_Int21Handler
mov dword [esp + 4], 0x6c8457b0
mov dword [esp], 3
call fcn.6c80d340
mov eax, dword [ebx + 0xb0]
movzx edx, byte [0x6c8457b0]
mov dword [ebp - 0x48c], eax
mov eax, dword [ebx + 0xc0]
and edx, 8
and eax, 1
jmp 0x6c812948
mov dword [esp + 0xc], str.GET_SYSTEM_TIME_n
mov dword [esp + 8], str.DOSVM_Int21Handler
mov dword [esp + 4], 0x6c8457b0
mov dword [esp], 3
call fcn.6c80d340
jmp 0x6c8129dd
and dword [ebx + 0xb0], 0xffffff00
mov edx, 0x3d
mov eax, esi
mul dl
add ax, 0x2b5
mov word [ebx + 0xa4], ax
call fcn.6c80cdb0
movzx edx, byte [0x6c8457b0]
movzx eax, word [eax + 0x2b3]
and edx, 8
mov dword [ebx + 0x98], eax
mov eax, dword [ebx + 0xc0]
and eax, 1
jmp 0x6c8110f0
movzx eax, byte [ebx + 0xa8]
mov dword [esp + 0xc], str.GET_DPB_FOR_SPECIFIC_DRIVE__d_n
mov dword [esp + 8], str.DOSVM_Int21Handler
mov dword [esp + 4], 0x6c8457b0
mov dword [esp], 3
mov dword [esp + 0x10], eax
call fcn.6c80d340
jmp 0x6c812352
mov dword [esp + 0xc], str.GET_ADDRESS_OF_INDOS_FLAG_n
mov dword [esp + 8], str.DOSVM_Int21Handler
mov dword [esp + 4], 0x6c8457b0
mov dword [esp], 3
call fcn.6c80d340
jmp 0x6c812390
mov eax, dword [ebx + 0x94]
mov dword [esp + 0xc], str.FREE_MEMORY_segment__04lX_n
mov dword [esp + 8], str.DOSVM_Int21Handler
mov dword [esp + 4], 0x6c8457b0
mov dword [esp], 3
mov dword [esp + 0x10], eax
call fcn.6c80d340
jmp 0x6c813332
mov dword [esp + 0xc], str.SET_CURRENT_PROCESS_ID__SET_PSP_ADDRESS__n
mov dword [esp + 8], str.DOSVM_Int21Handler
mov dword [esp + 4], 0x6c8457b0
mov dword [esp], 3
call fcn.6c80d340
mov eax, dword [ebx + 0xc0]
movzx edx, byte [0x6c8457b0]
and eax, 1
and edx, 8
jmp 0x6c8139cf
movzx eax, word [ebx + 0xac]
mov dword [esp + 0x1c], eax
movzx eax, word [ebx + 0xa4]
mov dword [esp + 0x18], eax
movzx eax, word [ebx + 0xa8]
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 0x98]
mov dword [esp + 0xc], str.WRITE_from__04lX:_04X_to_handle__d_for__d_byte_n
mov dword [esp + 8], str.DOSVM_Int21Handler
mov dword [esp + 4], 0x6c8457b0
mov dword [esp + 0x10], eax
mov dword [esp], 3
call fcn.6c80d340
jmp 0x6c813acb
movzx eax, word [ebx + 0xa4]
mov dword [esp + 0xc], str.ALLOCATE_MEMORY_for__d_paragraphs_n
mov dword [esp + 8], str.DOSVM_Int21Handler
mov dword [esp + 4], 0x6c8457b0
mov dword [esp], 3
mov dword [esp + 0x10], eax
call fcn.6c80d340
jmp 0x6c8134a7
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], str.REMOVE_DIRECTORY__s_n
mov dword [esp + 8], str.DOSVM_Int21Handler
mov dword [esp + 4], 0x6c8457b0
mov dword [esp], 3
call fcn.6c80d340
jmp 0x6c813750
mov dword [esp + 0xc], str.Resize_memory_block___unsupported_under_Win16_n
mov dword [esp + 8], str.DOSVM_Int21Handler
mov dword [esp + 4], 0x6c8457b0
mov dword [esp], 0
call fcn.6c80d340
movzx edx, byte [0x6c8457b0]
jmp 0x6c8126e0
movzx eax, word [ebx + 0xa4]
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 0x94]
mov dword [esp + 0xc], str.RESIZE_MEMORY_segment__04lX_to__d_paragraphs_n
mov dword [esp + 8], str.DOSVM_Int21Handler
mov dword [esp + 4], 0x6c8457b0
mov dword [esp + 0x10], eax
mov dword [esp], 3
call fcn.6c80d340
movzx edx, byte [0x6c8457b0]
jmp 0x6c8126d7
mov eax, esi
mov dword [esp + 0xc], str.SET_INTERRUPT_VECTOR_0x_02x_n
movzx esi, al
mov dword [esp + 8], str.DOSVM_Int21Handler
mov dword [esp + 0x10], esi
mov dword [esp + 4], 0x6c8457b0
mov dword [esp], 3
call fcn.6c80d340
mov eax, dword [ebx + 0xb0]
mov dword [ebp - 0x48c], eax
jmp 0x6c811927
mov dword [esp + 0xc], str.Get_List_of_Lists___not_supported_n
mov dword [esp + 8], str.DOSVM_Int21Handler
mov dword [esp + 4], 0x6c8457b0
mov dword [esp], 3
call fcn.6c80d340
mov eax, dword [ebx + 0xc0]
movzx edx, byte [0x6c8457b0]
and eax, 1
and edx, 8
jmp 0x6c811cea
movzx eax, word [ebx + 0x94]
movzx esi, si
mov dword [esp + 0x34], eax
movzx eax, word [ebx + 0x98]
mov dword [esp + 0x30], eax
movzx eax, word [ebx + 0x9c]
mov dword [esp + 0x2c], eax
movzx eax, word [ebx + 0xa0]
mov dword [esp + 0x28], eax
movzx eax, word [ebx + 0xa8]
mov dword [esp + 0x24], eax
movzx eax, word [ebx + 0xac]
mov dword [esp + 0x20], eax
movzx eax, word [ebx + 0xa4]
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], 0x21
mov dword [esp + 0x10], 0x21
mov dword [esp + 0x1c], eax
mov dword [esp + 0xc], 0x6c848e98
mov dword [esp + 8], str.DOSVM_Int21Handler
mov dword [esp + 4], 0x6c8457b0
mov dword [esp], 1
call fcn.6c80d340
mov eax, dword [ebx + 0xc0]
movzx edx, byte [0x6c8457b0]
and eax, 1
and edx, 8
jmp 0x6c8110f0
mov eax, dword [ebp - 0x48c]
mov dword [esp + 0xc], str.filename:__s_n
mov dword [esp + 8], str.INT21_ParseFileNameIntoFCB
mov dword [esp + 4], 0x6c8457b0
mov dword [esp], 3
mov dword [esp + 0x10], eax
call fcn.6c80d340
jmp 0x6c812c0b
mov eax, dword [ebx + 0xa8]
mov dword [esp + 4], eax
movzx eax, word [ebx + 0x98]
mov dword [esp], eax
call fcn.6c82fe60
mov dword [esp + 0x14], eax
movzx eax, word [ebx + 0xac]
mov dword [esp + 0xc], str.FINDFIRST_mask_0x_04x_spec__s_n
mov dword [esp + 8], str.DOSVM_Int21Handler
mov dword [esp + 4], 0x6c8457b0
mov dword [esp + 0x10], eax
mov dword [esp], 3
call fcn.6c80d340
jmp 0x6c81321e
cmp word [ebp - 0x268], 0
mov edi, dword [ebp - 0x48c]
je 0x6c8132e1
cmp word [ebp - 0x266], 0x3a
jne 0x6c8132e1
lea edi, [ebp - 0x264]
jmp 0x6c8132e1
mov eax, dword [ebx + 0xa8]
mov dword [esp + 0xc], str.SetSystemTime__02d:_02d:_02d._02d_:_wrong_time_n
mov dword [esp + 8], str.DOSVM_Int21Handler
mov dword [esp + 4], 0x6c8457b0
mov dword [esp], 3
movzx edx, al
movzx eax, ah
mov dword [esp + 0x18], eax
mov eax, esi
movzx esi, al
movzx eax, cl
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], eax
call fcn.6c80d340
mov eax, dword [ebx + 0xb0]
movzx edx, byte [0x6c8457b0]
mov dword [ebp - 0x48c], eax
mov eax, dword [ebx + 0xc0]
and edx, 8
and eax, 1
jmp 0x6c814e75
mov eax, dword [ebp - 0x48c]
mov dword [esp + 4], 0x24
mov dword [esp], eax
call edi
movzx edx, byte [ebp - 0x494]
test eax, eax
setne al
movzx eax, al
jmp 0x6c812de6
movzx eax, word [ebp - 0x47c]
jmp 0x6c812296
mov dword [esp + 0xc], str.Direct_Console_Output_n
mov dword [esp + 8], str.DOSVM_Int21Handler
mov dword [esp + 4], 0x6c8457b0
mov dword [esp], 3
call fcn.6c80d340
mov eax, dword [ebx + 0xb0]
movzx edx, byte [0x6c8457b0]
mov esi, dword [ebx + 0xa8]
mov dword [ebp - 0x48c], eax
mov eax, dword [ebx + 0xc0]
and edx, 8
and eax, 1
jmp 0x6c813402
mov edi, 0x1a
mov esi, 0x1a
jmp 0x6c812345
mov edx, dword [esi + 0x10]
mov dword [esp + 4], 0
mov eax, dword fs:[0x18]
mov dword [esp + 8], edx
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_HeapFree]
mov dword [esi + 0x10], 0
or dword [ebp - 0x490], 0xff
sub esp, 0xc
mov dword [0x6c852d48], 0
jmp 0x6c8117e0
xor eax, eax
and edx, 8
jne 0x6c817312
mov ecx, dword [ebp - 0x48c]
xor cl, cl
mov dword [ebx + 0xb0], ecx
jmp 0x6c8110f0
test dl, 2
je 0x6c810f80
movzx eax, word [ebx + 0x94]
movzx esi, si
mov dword [esp + 0x34], eax
movzx eax, word [ebx + 0x98]
mov dword [esp + 0x30], eax
movzx eax, word [ebx + 0x9c]
mov dword [esp + 0x2c], eax
movzx eax, word [ebx + 0xa0]
mov dword [esp + 0x28], eax
movzx eax, word [ebx + 0xa8]
mov dword [esp + 0x24], eax
movzx eax, word [ebx + 0xac]
mov dword [esp + 0x20], eax
movzx eax, word [ebx + 0xa4]
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], 0x21
mov dword [esp + 0x10], 0x21
mov dword [esp + 0x1c], eax
mov dword [esp + 0xc], 0x6c848e98
mov dword [esp + 8], str.DOSVM_Int21Handler
mov dword [esp + 4], 0x6c8457b0
mov dword [esp], 1
call fcn.6c80d340
mov eax, dword [ebx + 0xc0]
movzx edx, byte [0x6c8457b0]
and eax, 1
and edx, 8
jmp 0x6c8110f0
and edx, 8
jne 0x6c8172ca
mov ecx, dword [ebp - 0x48c]
xor cx, cx
mov dword [ebx + 0xb0], ecx
jmp 0x6c8110f0
lea eax, [ebp - 0x23c]
jmp 0x6c8153fa
mov eax, dword [ebx + 0xb0]
mov dword [ebp - 0x48c], eax
jmp 0x6c813b83
movzx eax, byte [esi + 0x18]
mov dword [esp + 0xc], str._lclose16__d__failed_n
mov dword [esp + 0x10], eax
jmp 0x6c815077
mov dword [esp + 0xc], str.FREE_MEMORY_failed_n
mov dword [esp + 8], str.DOSVM_Int21Handler
mov dword [esp + 4], 0x6c8457b0
mov dword [esp], 3
call fcn.6c80d340
movzx edx, byte [0x6c8457b0]
and edx, 8
jmp 0x6c815198
sub eax, 0x41
jmp 0x6c811396
mov dword [ebp - 0x494], ecx
mov ecx, dword [ebp - 0x490]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
movzx eax, byte [esi + 0x18]
mov dword [esp + 0xc], str.seek__d___ld__0__failed_with__lu_n
mov dword [esp + 8], str.INT21_RandomBlockWriteToFCB
mov dword [esp + 4], 0x6c8457b0
mov dword [esp + 0x10], eax
mov dword [esp], 3
call fcn.6c80d340
movzx edx, byte [0x6c8457b0]
mov ecx, dword [ebp - 0x494]
and edx, 8
jmp 0x6c812f7a
mov esi, dword [ebp - 0x48c]
jmp 0x6c812c49
mov dword [esp + 0xc], str.SWITCHAR___GET_SWITCH_CHARACTER_n
mov dword [esp + 8], str.DOSVM_Int21Handler
mov dword [esp + 4], 0x6c8457b0
mov dword [esp], 3
call fcn.6c80d340
mov eax, dword [ebx + 0xb0]
movzx edx, byte [0x6c8457b0]
mov dword [ebp - 0x48c], eax
mov eax, dword [ebx + 0xc0]
and edx, 8
and eax, 1
jmp 0x6c8158bd
call sym.krnl386.exe16_GetCurrentTask
movzx eax, ax
mov dword [esp], eax
call sym.krnl386.exe16_GlobalLock16
push ecx
mov eax, dword [eax + 0x62]
movzx edx, ax
shr eax, 0x10
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.6c82fe60
movzx ecx, word [ebx + 0xac]
mov edx, eax
mov dword [ebp - 0x498], eax
movzx eax, word [esi + 0xe]
mov dword [esp + 4], edx
mov dword [esp], edi
mov dword [ebp - 0x49c], ecx
imul eax, ecx
mov dword [ebp - 0x494], eax
mov dword [esp + 8], eax
call dword [sym.imp.kernel32.dll__lwrite]
mov ecx, dword [ebp - 0x49c]
sub esp, 0xc
cmp dword [ebp - 0x494], eax
mov edx, eax
je 0x6c8178c3
movzx edi, byte [0x6c8457b0]
test edi, 8
jne 0x6c817cfb
movzx ecx, word [esi + 0xe]
mov eax, edx
xor edx, edx
div ecx
mov edx, edi
mov edi, 1
and edx, 8
add dword [ebp - 0x48c], eax
movzx ecx, ax
jmp 0x6c812f7a
movzx eax, si
mov dword [esp + 0xc], str.Requested_info_on_non_default_country__04x_n
mov dword [esp + 0x10], eax
mov dword [esp + 8], str.DOSVM_Int21Handler
mov dword [esp + 4], 0x6c8457b0
mov dword [esp], 0
call fcn.6c80d340
jmp 0x6c813b64
mov dword [esp + 0xc], str.Direct_Console_Input_n
mov dword [esp + 8], str.DOSVM_Int21Handler
mov dword [esp + 4], 0x6c8457b0
mov dword [esp], 3
call fcn.6c80d340
mov eax, dword [ebx + 0xb0]
movzx edx, byte [0x6c8457b0]
mov dword [ebp - 0x48c], eax
mov eax, dword [ebx + 0xc0]
and edx, 8
jmp 0x6c81562b
movzx eax, byte [ebx + 0xa8]
mov dword [esp + 0xc], str.SWITCHAR___SET_SWITCH_CHARACTER:__c_n
mov dword [esp + 8], str.DOSVM_Int21Handler
mov dword [esp + 4], 0x6c8457b0
mov dword [esp], 0
mov dword [esp + 0x10], eax
call fcn.6c80d340
mov eax, dword [ebx + 0xb0]
movzx edx, byte [0x6c8457b0]
mov dword [ebp - 0x48c], eax
mov eax, dword [ebx + 0xc0]
and eax, 1
jmp 0x6c815798
xor esi, esi
jmp 0x6c8125d4
mov dword [esp + 4], edx
mov dword [esp], str._Bad_drive:__d_
call fcn.6c80caa0
jmp 0x6c815ba8
mov eax, dword [ebx + 0xc0]
mov edx, edi
mov dword [0x6c852d50], 0
and edx, 8
and eax, 1
jmp 0x6c8110f0
movzx edx, byte [0x6c8457b0]
test dl, 2
je 0x6c810f80
movzx eax, word [ebx + 0x94]
movzx esi, si
mov dword [esp + 0x34], eax
movzx eax, word [ebx + 0x98]
mov dword [esp + 0x30], eax
movzx eax, word [ebx + 0x9c]
mov dword [esp + 0x2c], eax
movzx eax, word [ebx + 0xa0]
mov dword [esp + 0x28], eax
movzx eax, word [ebx + 0xa8]
mov dword [esp + 0x24], eax
movzx eax, word [ebx + 0xac]
mov dword [esp + 0x20], eax
movzx eax, word [ebx + 0xa4]
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], 0x21
mov dword [esp + 0x10], 0x21
mov dword [esp + 0x1c], eax
mov dword [esp + 0xc], 0x6c848e98
mov dword [esp + 8], str.INT21_Ioctl
mov dword [esp + 4], 0x6c8457b0
mov dword [esp], 1
call fcn.6c80d340
mov eax, dword [ebx + 0xc0]
movzx edx, byte [0x6c8457b0]
and eax, 1
and edx, 8
jmp 0x6c8110f0
movzx edi, byte [0x6c8457b0]
test edi, 8
je 0x6c814de5
mov dword [esp + 0xc], str.DR_DOS___DETERMINE_DOS_TYPE_n
mov dword [esp + 8], str.INT21_Ioctl
mov dword [esp + 4], 0x6c8457b0
mov dword [esp], 3
call fcn.6c80d340
movzx edi, byte [0x6c8457b0]
mov esi, dword [ebx + 0xb0]
jmp 0x6c814de5
mov edx, dword [esi + 0x11]
mov dword [esp + 4], 0
mov eax, dword fs:[0x18]
mov dword [esp + 8], edx
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_HeapFree]
mov dword [esi + 0x11], 0
mov dword [0x6c852d48], 0
sub esp, 0xc
jmp 0x6c81543d
mov dword [esp + 0xc], str.GET_MEMORY_ALLOCATION_STRATEGY_n
mov dword [esp + 8], str.DOSVM_Int21Handler
mov dword [esp + 4], 0x6c8457b0
mov dword [esp], 3
call fcn.6c80d340
mov eax, dword [ebx + 0xb0]
movzx edx, byte [0x6c8457b0]
mov dword [ebp - 0x48c], eax
mov eax, dword [ebx + 0xc0]
and edx, 8
and eax, 1
jmp 0x6c816acd
mov dword [esp + 0xc], str.GET_UMB_LINK_STATE_n
mov dword [esp + 8], str.DOSVM_Int21Handler
mov dword [esp + 4], 0x6c8457b0
mov dword [esp], 3
call fcn.6c80d340
mov eax, dword [ebx + 0xb0]
movzx edx, byte [0x6c8457b0]
mov dword [ebp - 0x48c], eax
mov eax, dword [ebx + 0xc0]
and edx, 8
and eax, 1
jmp 0x6c816a08
mov dword [esp + 0xc], str.GET_AND_SET_EXTENDED_CONTROL_BREAK_CHECKING_STATE_n
mov dword [esp + 8], str.DOSVM_Int21Handler
mov dword [esp + 4], 0x6c8457b0
mov dword [esp], 3
call fcn.6c80d340
movzx edi, byte [0x6c8457b0]
jmp 0x6c813f3b
mov dword [esp + 0xc], str.GET_BOOT_DRIVE_n
mov dword [esp + 8], str.DOSVM_Int21Handler
mov dword [esp + 4], 0x6c8457b0
mov dword [esp], 3
call fcn.6c80d340
mov eax, dword [ebx + 0xc0]
movzx edx, byte [0x6c8457b0]
and eax, 1
and edx, 8
jmp 0x6c813f23
movzx eax, word [ebx + 0x94]
movzx esi, si
mov dword [esp + 0x34], eax
movzx eax, word [ebx + 0x98]
mov dword [esp + 0x30], eax
movzx eax, word [ebx + 0x9c]
mov dword [esp + 0x2c], eax
movzx eax, word [ebx + 0xa0]
mov dword [esp + 0x28], eax
movzx eax, word [ebx + 0xa8]
mov dword [esp + 0x24], eax
movzx eax, word [ebx + 0xac]
mov dword [esp + 0x20], eax
movzx eax, word [ebx + 0xa4]
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], 0x21
mov dword [esp + 0x10], 0x21
mov dword [esp + 0x1c], eax
mov dword [esp + 0xc], 0x6c848e98
mov dword [esp + 8], str.DOSVM_Int21Handler
mov dword [esp + 4], 0x6c8457b0
mov dword [esp], 1
call fcn.6c80d340
mov eax, dword [ebx + 0xc0]
movzx edx, byte [0x6c8457b0]
and eax, 1
and edx, 8
jmp 0x6c8110f0
mov dword [esp + 0xc], str.GET_CURRENT_EXTENDED_BREAK_STATE_n
mov dword [esp + 8], str.DOSVM_Int21Handler
mov dword [esp + 4], 0x6c8457b0
mov dword [esp], 3
call fcn.6c80d340
mov eax, dword [ebx + 0xc0]
movzx edx, byte [0x6c8457b0]
and eax, 1
and edx, 8
jmp 0x6c813f84
mov dword [esp + 0xc], str.SET_CURRENT_EXTENDED_BREAK_STATE_n
mov dword [esp + 8], str.DOSVM_Int21Handler
mov dword [esp + 4], 0x6c8457b0
mov dword [esp], 3
call fcn.6c80d340
mov eax, dword [ebx + 0xc0]
movzx edx, byte [0x6c8457b0]
and eax, 1
and edx, 8
jmp 0x6c813fb9
mov dword [esp + 0xc], str.GET_TRUE_VERSION_NUMBER_n
mov dword [esp + 8], str.DOSVM_Int21Handler
mov dword [esp + 4], 0x6c8457b0
mov dword [esp], 3
call fcn.6c80d340
jmp 0x6c813eb9
movzx ecx, byte [ebp - 0x48c]
movzx edx, dx
movzx eax, al
mov dword [esp + 0xc], str.SetSystemDate__02d__02d__04d_:_not_allowed_n
mov dword [esp + 0x18], edx
mov dword [esp + 0x10], eax
mov dword [esp + 8], str.DOSVM_Int21Handler
mov dword [esp + 0x14], ecx
mov dword [esp + 4], 0x6c8457b0
mov dword [esp], 0
call fcn.6c80d340
movzx edi, byte [0x6c8457b0]
jmp 0x6c814fcd
movzx eax, word [ebx + 0xa4]
mov dword [esp + 0xc], str.SET_FILE_CREATION_DATE_AND_TIME__handle__d_n
mov dword [esp + 8], str.INT21_FileDateTime
mov dword [esp + 4], 0x6c8457b0
mov dword [esp], 3
mov dword [esp + 0x10], eax
call fcn.6c80d340
jmp 0x6c813fdd
movzx eax, word [ebx + 0xa4]
mov dword [esp + 0xc], str.GET_FILE_CREATION_DATE_AND_TIME__handle__d_n
mov dword [esp + 8], str.INT21_FileDateTime
mov dword [esp + 4], 0x6c8457b0
mov dword [esp], 3
mov dword [esp + 0x10], eax
call fcn.6c80d340
jmp 0x6c8140d0
movzx eax, word [ebx + 0xa4]
mov dword [esp + 0xc], str.GET_FILE_LAST_ACCESS_DATE_AND_TIME__handle__d_n
mov dword [esp + 8], str.INT21_FileDateTime
mov dword [esp + 4], 0x6c8457b0
mov dword [esp], 3
mov dword [esp + 0x10], eax
call fcn.6c80d340
jmp 0x6c8141f6
movzx eax, word [ebx + 0xa4]
mov dword [esp + 0xc], str.GET_FILE_LAST_WRITTEN_DATE_AND_TIME__handle__d_n
mov dword [esp + 8], str.INT21_FileDateTime
mov dword [esp + 4], 0x6c8457b0
mov dword [esp], 3
mov dword [esp + 0x10], eax
call fcn.6c80d340
jmp 0x6c81404d
movzx eax, word [ebx + 0xa4]
mov dword [esp + 0xc], str.SET_FILE_LAST_WRITTEN_DATE_AND_TIME__handle__d_n
mov dword [esp + 8], str.INT21_FileDateTime
mov dword [esp + 4], 0x6c8457b0
mov dword [esp], 3
mov dword [esp + 0x10], eax
call fcn.6c80d340
jmp 0x6c81421a
movzx eax, word [ebx + 0xa4]
mov dword [esp + 0xc], str.SET_FILE_LAST_ACCESS_DATE_AND_TIME__handle__d_n
mov dword [esp + 8], str.INT21_FileDateTime
mov dword [esp + 4], 0x6c8457b0
mov dword [esp], 3
mov dword [esp + 0x10], eax
call fcn.6c80d340
jmp 0x6c814268
mov eax, dword [ebp - 0x48c]
movzx edx, byte [0x6c8457b0]
add eax, ecx
and dl, 8
mov dword [ebp - 0x498], eax
jne 0x6c818179
mov eax, dword [ebp - 0x498]
xor edi, edi
mov dword [ebp - 0x48c], eax
jmp 0x6c812f7a
and eax, 0xfffffffe
mov edx, edi
mov dword [ebx + 0xc0], eax
and edx, 8
jmp 0x6c810f83
movzx eax, word [ebx + 0xa8]
mov dword [esp + 0x14], eax
movzx eax, word [ebx + 0xac]
mov dword [esp + 0xc], str.SET_SHARING_RETRY_COUNT:_Pause__d__retries__d._n
mov dword [esp + 8], str.INT21_Ioctl
mov dword [esp + 4], 0x6c8457b0
mov dword [esp + 0x10], eax
mov dword [esp], 3
call fcn.6c80d340
movzx edi, byte [0x6c8457b0]
jmp 0x6c815334
mov dword [esp + 0xc], str.DR_DOS___DETERMINE_DOS_TYPE__OBSOLETE_FUNCTION__n
jmp 0x6c81725f
movzx eax, al
movzx edi, cl
movzx edx, dl
mov dword [esp], 0
mov dword [esp + 0x1c], eax
mov eax, esi
movzx esi, al
mov dword [esp + 0x10], edi
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], esi
mov dword [esp + 0xc], str.SetSystemTime__02d:_02d:_02d._02d_:_not_allowed_n
mov dword [esp + 8], str.DOSVM_Int21Handler
mov dword [esp + 4], 0x6c8457b0
call fcn.6c80d340
movzx edi, byte [0x6c8457b0]
jmp 0x6c8129a9
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], str.Unknown_error__d_n
mov dword [esp + 8], str.INT21_GetExtendedError
mov dword [esp + 4], 0x6c8457b0
mov dword [esp], 0
mov dword [ebp - 0x490], ecx
call fcn.6c80d340
mov ecx, dword [ebp - 0x490]
mov edx, 6
mov byte [ebp - 0x48c], 4
movzx edi, byte [0x6c8457b0]
jmp 0x6c813e10
mov dword [esp + 0x1c], eax
mov dword [ebp - 0x490], eax
mov eax, dword [ebp - 0x494]
mov dword [esp + 0x18], eax
mov eax, dword [ebp - 0x498]
mov dword [esp + 0x14], eax
movzx eax, byte [esi + 0x18]
mov dword [esp + 0xc], str._lwrite__d___p___d__failed_with__d_n
mov dword [esp + 8], str.INT21_RandomBlockWriteToFCB
mov dword [esp + 4], 0x6c8457b0
mov dword [esp + 0x10], eax
mov dword [esp], 3
call fcn.6c80d340
movzx edi, byte [0x6c8457b0]
mov edx, dword [ebp - 0x490]
jmp 0x6c816dda
mov dword [esp + 0x20], edi
movzx eax, byte [esi + 0x18]
xor edi, edi
mov dword [esp + 0xc], str.successful_write__d_bytes_from_record__ld__position__lu__of_file__d__handle__p__n
mov dword [esp + 8], str.INT21_RandomBlockWriteToFCB
mov dword [esp + 4], 0x6c8457b0
mov dword [esp + 0x1c], eax
mov eax, dword [ebp - 0x490]
mov dword [esp], 3
mov dword [ebp - 0x49c], ecx
mov dword [esp + 0x18], eax
mov eax, dword [ebp - 0x48c]
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0x494]
mov dword [esp + 0x10], eax
call fcn.6c80d340
movzx edx, byte [0x6c8457b0]
mov eax, dword [ebp - 0x498]
mov ecx, dword [ebp - 0x49c]
and edx, 8
mov dword [ebp - 0x48c], eax
jmp 0x6c812f7a