Function at 0x1000bed0
Capabilities:
Accept command line arguments
Create process on windows
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x294
mov eax, dword [str.ACPILEN0068]
mov edx, dword [0x10040b5c]
mov ecx, dword [0x10040b58]
mov dword [esp + 0x1c], eax
mov ax, word [0x10040b60]
push ebx
mov dword [esp + 0x28], edx
mov edx, dword [0x10040b68]
push ebp
mov word [esp + 0x30], ax
mov eax, dword [0x10040b6c]
push esi
mov dword [esp + 0x2c], ecx
mov ecx, dword [str.ACPIIBM0068]
xor ebx, ebx
push edi
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], eax
push ebx
lea edx, [esp + 0x18]
mov dword [esp + 0x20], ecx
mov cx, word [0x10040b70]
push ebx
lea eax, [esp + 0x34]
push edx
push eax
mov word [esp + 0x38], cx
call fcn.10016440
add esp, 0x10
test eax, eax
jne 0x1000c3d6
push ebx
lea ecx, [esp + 0x18]
push ebx
lea edx, [esp + 0x24]
push ecx
push edx
call fcn.10016440
add esp, 0x10
test eax, eax
jne 0x1000c3d6
mov eax, dword [esp + 0x2a8]
mov ebp, 1
cmp dword [eax + 0x10], ebp
je 0x1000bfbe
call fcn.1001fcf0
test eax, eax
jne 0x1000bfbe
lea ecx, [esp + 0x9c]
push 0x104
push ecx
push 3
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call dword [sym.imp.USER32.dll_LoadStringA]
push 0x50030
lea edx, [esp + 0xa0]
push ebx
push edx
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x294
ret
mov ecx, 8
xor eax, eax
lea edi, [esp + 0x7c]
mov dword [esp + 0x78], ebx
rep stosd dword es:[edi], eax
call fcn.1000c760
mov esi, eax
lea eax, [esp + 0x78]
push eax
call fcn.1000c7b0
mov ecx, dword [esp + 0x7c]
add esp, 4
push ecx
push esi
push 0x10040c08
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call fcn.1001f670
add esp, 0xc
test eax, eax
jne 0x1000c220
call fcn.1001f130
mov word [0x1004c1d0], ax
call fcn.1001f170
mov byte [0x1004c1d2], al
call fcn.1001f1b0
mov dword [0x1004c1cc], eax
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultLangID]
mov word [0x1004c1d8], ax
mov edx, dword [0x1004c1d8]
and edx, 0x3ff
mov word [0x1004c1d4], dx
call fcn.1001f5d0
mov dword [0x1004c324], eax
call fcn.1001f610
mov dword [0x1004c1c8], eax
call fcn.1001f640
push 0xc
push 0x1004c298
mov dword [0x1004c328], eax
call fcn.1001f310
push 0x20
push 0x1004c26c
call fcn.1001f1f0
push 8
push 0x1004c2a4
call fcn.1001f280
push 0xc
push 0x1004c28c
call fcn.1001f360
push 0xc
push 0x1004c2ac
call fcn.1001f3e0
push 0xc
push 0x1004c2b8
call fcn.1001f470
add esp, 0x30
test eax, eax
jne 0x1000c13d
lea eax, [esp + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov ebx, eax
mov eax, dword [esp + 0x10]
mov ebp, 1
cmp eax, ebp
jle 0x1000c10c
mov edi, dword [sym.imp.MSVCRT.dll_wcscmp]
lea esi, [ebx + 4]
mov ecx, dword [esi]
push 0x10040c18
push ecx
call edi
add esp, 8
test eax, eax
je 0x1000c10c
mov edx, dword [esi]
push 0x10040c20
push edx
call edi
add esp, 8
test eax, eax
je 0x1000c10c
mov eax, dword [esp + 0x10]
inc ebp
add esi, 4
cmp ebp, eax
jl 0x1000c0de
push ebx
call dword [sym.imp.KERNEL32.dll_GlobalFree]
cmp ebp, dword [esp + 0x10]
jge 0x1000c13b
mov eax, dword [0x10040c28]
mov ecx, dword [0x10040c2c]
mov dl, byte [0x10040c30]
mov dword [0x1004c2b8], eax
mov dword [0x1004c2bc], ecx
mov byte [0x1004c2c0], dl
xor ebx, ebx
push 0x80
push 0x1004c1ec
call fcn.1001f580
push 0xa
push 0x1004c2fc
call fcn.1001f500
push 0x1004c2c4
call fcn.1000dd30
add esp, 0x14
call fcn.1001f7c0
call fcn.1001fe40
mov al, byte [0x1004c2c4]
test al, al
jne 0x1000c197
push 0x50010
push ebx
push 0x10040c34
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x294
ret
mov eax, dword [esp + 0x2a8]
cmp dword [eax + 0x10], 2
jne 0x1000c61e
cmp dword [eax + 4], 4
jne 0x1000c61e
lea eax, [esp + 0x2ac]
lea ecx, [esp + 0x1a0]
push eax
push ecx
push 0x104
push ebx
push str.NT4PNP.sys
push ebx
call dword [sym.imp.KERNEL32.dll_SearchPathA]
test eax, eax
je 0x1000c61e
push str.TPISETUP.DLL
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call fcn.1001f7f0
add esp, 4
test eax, eax
je 0x1000c201
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x294
ret
call fcn.1001f890
test eax, eax
jne 0x1000c61e
call fcn.1001f8c0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x294
ret
lea edx, [esp + 0x10]
push edx
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov ebx, eax
mov eax, dword [esp + 0x10]
cmp eax, 1
jle 0x1000c274
mov edi, dword [sym.imp.MSVCRT.dll_wcscmp]
lea esi, [ebx + 4]
mov eax, dword [esi]
push 0x10040c88
push eax
call edi
add esp, 8
test eax, eax
je 0x1000c274
mov ecx, dword [esi]
push 0x10040c90
push ecx
call edi
add esp, 8
test eax, eax
je 0x1000c274
mov eax, dword [esp + 0x10]
inc ebp
add esi, 4
cmp ebp, eax
jl 0x1000c246
push ebx
call dword [sym.imp.KERNEL32.dll_GlobalFree]
cmp ebp, dword [esp + 0x10]
jge 0x1000c333
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultLangID]
mov word [0x1004c1d8], ax
mov edx, dword [0x1004c1d8]
and edx, 0x3ff
mov word [0x1004c1d4], dx
call fcn.1001f5d0
mov ecx, dword [0x10040c9c]
mov dl, byte [0x10040ca0]
mov dword [0x1004c324], eax
mov eax, dword [str.0000_000]
push 0x1004c2c4
mov dword [0x1004c2b8], eax
mov dword [0x1004c2bc], ecx
mov byte [0x1004c2c0], dl
call fcn.1000dd30
add esp, 4
call fcn.1001fe40
mov al, byte [0x1004c2c4]
test al, al
jne 0x1000c30c
push 0x50010
push 0
push str.This_program_does_not_support_this_operating_system.
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x294
ret
push 0x10040028
call fcn.1000acd0
add esp, 4
mov dword [0x1004c334], 0
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x294
ret
push 0x50010
push str.Notice
push str.This_program_does_not_support_this_system.
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
lea eax, [esp + 0x9c]
push 0x104
push eax
call fcn.1000bd40
add esp, 8
test eax, eax
je 0x1000c3c9
lea ecx, [esp + 0x18]
lea edx, [esp + 0x1a0]
push ecx
push edx
push 0x104
push 0
lea eax, [esp + 0xac]
push str.README.TXT
push eax
call dword [sym.imp.KERNEL32.dll_SearchPathA]
test eax, eax
je 0x1000c3c9
mov ecx, 0xd
xor eax, eax
lea edi, [esp + 0x44]
mov dword [esp + 0x3c], 0x3c
mov dword [esp + 0x40], 0
lea edx, [esp + 0x3c]
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x1a0]
push edx
mov dword [esp + 0x50], ecx
mov dword [esp + 0x5c], 1
call dword [sym.imp.SHELL32.dll_ShellExecuteExA]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x294
ret
call fcn.100372b0
test eax, eax
jne 0x1000c480
push 0x50010
push 0x10040b74
push 0x10040b7c
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
lea eax, [esp + 0x1a0]
push 0x104
push eax
call fcn.1000bd40
add esp, 8
test eax, eax
je 0x1000c473
lea ecx, [esp + 0x18]
lea edx, [esp + 0x9c]
push ecx
push edx
push 0x104
push ebx
lea eax, [esp + 0x1b0]
push 0x10040ba8
push eax
call dword [sym.imp.KERNEL32.dll_SearchPathA]
test eax, eax
je 0x1000c473
mov ecx, 0xd
xor eax, eax
lea edi, [esp + 0x44]
mov dword [esp + 0x3c], 0x3c
mov dword [esp + 0x40], ebx
lea edx, [esp + 0x3c]
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x9c]
push edx
mov dword [esp + 0x50], ecx
mov dword [esp + 0x5c], 1
call dword [sym.imp.SHELL32.dll_ShellExecuteExA]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x294
ret
mov ecx, 0xa
xor eax, eax
mov edi, 0x1004c2fc
mov byte [0x1004c1d2], 0
mov dword [0x1004c328], ebx
mov dword [0x1004c324], ebx
mov dword [0x1004c1cc], 0xffffffff
xor edx, edx
rep stosd dword es:[edi], eax
mov dword [0x1004c298], eax
mov ecx, 8
mov dword [0x1004c29c], eax
mov edi, 0x1004c26c
mov dword [0x1004c2a0], eax
rep stosd dword es:[edi], eax
xor ecx, ecx
mov dword [0x1004c2ac], eax
mov dword [0x1004c28c], ecx
mov dword [0x1004c2a4], edx
mov dword [0x1004c290], ecx
mov dword [0x1004c2b0], eax
mov dword [0x1004c294], ecx
mov dword [0x1004c2a8], edx
mov dword [0x1004c2b4], eax
call fcn.10037500
mov word [0x1004c1d0], ax
call fcn.10037580
and eax, 0xffff
push 0x80
push 0x1004c1ec
mov dword [0x1004c1c8], eax
call fcn.100375d0
push 0xc
push 0x1004c2b8
call fcn.10037670
add esp, 0x10
test eax, eax
jne 0x1000c5c0
lea ecx, [esp + 0x10]
push ecx
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov ebx, eax
mov eax, dword [esp + 0x10]
mov ebp, 1
cmp eax, ebp
jle 0x1000c58f
mov edi, dword [sym.imp.MSVCRT.dll_wcscmp]
lea esi, [ebx + 4]
mov edx, dword [esi]
push 0x10040bb4
push edx
call edi
add esp, 8
test eax, eax
je 0x1000c58f
mov eax, dword [esi]
push 0x10040bbc
push eax
call edi
add esp, 8
test eax, eax
je 0x1000c58f
mov eax, dword [esp + 0x10]
inc ebp
add esi, 4
cmp ebp, eax
jl 0x1000c561
push ebx
call dword [sym.imp.KERNEL32.dll_GlobalFree]
cmp ebp, dword [esp + 0x10]
jge 0x1000c5be
mov ecx, dword [0x10040bc4]
mov edx, dword [0x10040bc8]
mov al, byte [0x10040bcc]
mov dword [0x1004c2b8], ecx
mov dword [0x1004c2bc], edx
mov byte [0x1004c2c0], al
xor ebx, ebx
call fcn.100374d0
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultLangID]
mov word [0x1004c1d8], ax
mov ecx, dword [0x1004c1d8]
and ecx, 0x3ff
push 0x1004c2c4
mov word [0x1004c1d4], cx
call fcn.1000dd30
add esp, 4
call fcn.1001fe40
mov al, byte [0x1004c2c4]
test al, al
jne 0x1000c61e
push 0x50010
push ebx
push 0x10040bd0
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x294
ret
push 0x10040028
call fcn.1000acd0
add esp, 4
mov dword [0x1004c334], ebx
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x294
ret