Function at 0x4061ff
Capabilities:
Get geographical location
Get keyboard layout
Identify system language via api

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
lea ebx, [ebp - 0x11c]
sub esp, 0x15c
mov dword [esp], ebx
call dword [sym.imp.USER32.dll_GetKeyboardLayoutNameA]
push eax
lea eax, [ebp - 0x120]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x49383d
mov dword [esp], ebx
call sub.msvcrt.dll_sscanf
test eax, eax
jg 0x40624f
mov dword [esp], str.Could_not_scan_keyboard_layout_name___defaulting_to_US
call fcn.0043d9e0
mov dword [ebp - 0x120], 0x409
mov eax, dword [ebp - 0x120]
mov dword [esp], str.Windows_KBID_0x_08x_n
mov dword [esp + 4], eax
call fcn.0043d9e0
xor edx, edx
mov eax, dword [ebp - 0x120]
cmp eax, 0x46e
ja 0x406569
cmp eax, 0x401
ja 0x406290
lea ecx, [eax - 1]
cmp ecx, 0x43
jbe switch.0x00406396
jmp case.0x406787.132099
lea ecx, [eax - 0x402]
cmp ecx, 0x6c
ja case.0x406787.132099
jmp dword [ecx*4 + 0x493c10]
mov ebx, 0x4936a5
jmp 0x406a8e
mov ebx, 0x49371a
jmp 0x406a8e
mov ebx, 0x493717
jmp 0x406a8e
mov ebx, 0x493711
jmp 0x406a8e
mov ebx, 0x493708
jmp 0x406a8e
mov ebx, 0x493705
jmp 0x406a8e
mov ebx, 0x4936f9
jmp 0x406a8e
mov ebx, 0x4936f0
jmp 0x406a8e
mov ebx, 0x4936ea
jmp 0x406a8e
mov ebx, 0x4936e7
jmp 0x406a8e
mov ebx, 0x4936e4
jmp 0x406a8e
mov ebx, 0x4936de
jmp 0x406a8e
mov ebx, 0x4936db
jmp 0x406a8e
mov ebx, 0x4936d8
jmp 0x406a8e
mov ebx, 0x4936d5
jmp 0x406a8e
mov ebx, 0x4936cf
jmp 0x406a8e
mov ebx, 0x4936c9
jmp 0x406a8e
mov ebx, 0x4936b4
jmp 0x406a8e
mov ebx, 0x49369f
jmp 0x406a8e
mov ebx, 0x493699
jmp 0x406a8e
mov ebx, 0x493696
jmp 0x406a8e
mov ebx, 0x493693
jmp 0x406a8e
mov ebx, 0x493690
jmp 0x406a8e
mov ebx, 0x493720
jmp 0x406a8e
jmp dword [ecx*4 + 0x493dc4]
mov ebx, 0x49372f
jmp 0x406a8e
mov ebx, 0x49372c
jmp 0x406a8e
mov ebx, 0x493726
jmp 0x406a8e
mov ebx, 0x493723
jmp 0x406a8e
mov ebx, 0x493720
jmp 0x406a8e
mov ebx, 0x49371d
jmp 0x406a8e
mov ebx, 0x493717
jmp 0x406a8e
mov ebx, 0x493714
jmp 0x406a8e
mov ebx, 0x493711
jmp 0x406a8e
mov ebx, 0x49370e
jmp 0x406a8e
mov ebx, 0x49370b
jmp 0x406a8e
mov ebx, 0x493708
jmp 0x406a8e
mov ebx, 0x493705
jmp 0x406a8e
mov ebx, 0x493702
jmp 0x406a8e
mov ebx, 0x4936ff
jmp 0x406a8e
mov ebx, 0x4936fc
jmp 0x406a8e
mov ebx, 0x4936f9
jmp 0x406a8e
mov ebx, 0x4936f6
jmp 0x406a8e
mov ebx, 0x4936f3
jmp 0x406a8e
mov ebx, 0x4936f0
jmp 0x406a8e
mov ebx, 0x4936ea
jmp 0x406a8e
mov ebx, 0x4936e7
jmp 0x406a8e
mov ebx, 0x4936e4
jmp 0x406a8e
mov ebx, 0x4936de
jmp 0x406a8e
mov ebx, 0x4936db
jmp 0x406a8e
mov ebx, 0x4936d8
jmp 0x406a8e
mov ebx, 0x4936d5
jmp 0x406a8e
mov ebx, 0x4936d2
jmp 0x406a8e
mov ebx, 0x4936cf
jmp 0x406a8e
mov ebx, 0x4936cc
jmp 0x406a8e
mov ebx, 0x4936c9
jmp 0x406a8e
mov ebx, 0x4936c6
jmp 0x406a8e
mov ebx, 0x4936bd
jmp 0x406a8e
mov ebx, 0x4936ba
jmp 0x406a8e
mov ebx, 0x4936b4
jmp 0x406a8e
mov ebx, 0x49369f
jmp 0x406a8e
mov ebx, 0x493699
jmp 0x406a8e
mov ebx, 0x493696
jmp 0x406a8e
mov ebx, 0x493693
jmp 0x406a8e
mov ebx, 0x493690
jmp 0x406a8e
mov ebx, 0x49368d
jmp 0x406a8e
mov ebx, 0x49371a
jmp 0x406a8e
mov ebx, 0x493714
jmp 0x406a8e
mov ebx, 0x4936fc
jmp 0x406a8e
mov ebx, 0x4936f6
jmp 0x406a8e
mov ebx, 0x4936ba
jmp 0x406a8e
cmp eax, 0x1043b
ja 0x406759
cmp eax, 0x10400
jbe 0x406667
lea ecx, [eax - 0x10401]
cmp ecx, 0x3a
ja case.0x406787.132099
jmp dword [ecx*4 + 0x493ed4]
mov ebx, 0x493720
jmp 0x406a8e
mov ebx, 0x49371a
jmp 0x406a8e
mov ebx, 0x4936ab
jmp 0x406a8e
mov ebx, 0x49369f
jmp 0x406a8e
mov ebx, 0x493693
jmp 0x406a8e
mov ebx, 0x49368d
jmp 0x406a8e
mov ebx, 0x493717
jmp 0x406a8e
mov ebx, 0x493711
jmp 0x406a8e
mov ebx, 0x493705
jmp 0x406a8e
mov ebx, 0x4936f9
jmp 0x406a8e
mov ebx, 0x4936f0
jmp 0x406a8e
mov ebx, 0x4936e7
jmp 0x406a8e
mov ebx, 0x4936de
jmp 0x406a8e
mov ebx, 0x4936db
jmp 0x406a8e
mov ebx, 0x4936d8
jmp 0x406a8e
mov ebx, 0x4936cf
jmp 0x406a8e
mov ebx, 0x4936c9
jmp 0x406a8e
mov ebx, 0x4936b4
jmp 0x406a8e
mov ebx, 0x493699
jmp 0x406a8e
mov ebx, 0x493708
jmp 0x406a8e
mov ebx, 0x4936e4
jmp 0x406a8e
cmp eax, 0x82c
je 0x4069bb
ja 0x4066bc
lea ecx, [eax - 0x804]
cmp ecx, 0x16
ja case.0x406787.132099
jmp dword [ecx*4 + 0x493fc0]
mov ebx, 0x4936b7
jmp 0x406a8e
mov ebx, 0x4936a5
jmp 0x406a8e
mov ebx, 0x493690
jmp 0x406a8e
mov ebx, 0x4936ea
jmp 0x406a8e
mov ebx, 0x4936d5
jmp 0x406a8e
cmp eax, 0x1009
je 0x4069c5
ja 0x406717
cmp eax, 0xc0c
je 0x4069cf
ja 0x4066fc
cmp eax, 0x843
je 0x4069d9
cmp eax, 0xc04
je 0x4069e3
cmp eax, 0x83b
je 0x4069ed
jmp case.0x406787.132099
cmp eax, 0xc1a
je 0x4069f7
cmp eax, 0x1004
je 0x406a01
jmp case.0x406787.132099
cmp eax, 0x100c
je 0x406a0b
cmp eax, 0x100b
jbe case.0x406787.132099
cmp eax, 0x201a
je 0x406a12
ja case.0x406787.132099
cmp eax, 0x1404
je 0x406a19
cmp eax, 0x1809
je 0x406a20
jmp case.0x406787.132099
cmp eax, 0x20427
je 0x406a27
ja 0x4067ff
cmp eax, 0x20409
ja 0x4067e4
cmp eax, 0x20400
jbe 0x4067ac
lea ecx, [eax - 0x20401]
cmp ecx, 8
ja case.0x406787.132099
jmp dword [ecx*4 + 0x49401c]
mov ebx, 0x49369f
jmp 0x406a8e
mov ebx, 0x49368d
jmp 0x406a8e
mov ebx, 0x493693
jmp 0x406a8e
cmp eax, 0x1083b
je 0x406a2e
ja 0x4067c9
cmp eax, 0x1080c
je 0x406a35
jmp case.0x406787.132099
cmp eax, 0x11009
je 0x406a3c
cmp eax, 0x11809
je 0x406a43
jmp case.0x406787.132099
cmp eax, 0x20418
je 0x406a4a
cmp eax, 0x20422
je 0x406a51
jmp case.0x406787.132099
cmp eax, 0x40402
je 0x406a58
ja 0x406843
cmp eax, 0x30409
je 0x406a5f
ja case.0x406787.132099
cmp eax, 0x30402
je 0x406a66
cmp eax, 0x30408
je 0x406a6d
cmp eax, 0x20437
je 0x406a74
jmp case.0x406787.132099
cmp eax, 0x40409
je 0x406a7b
ja 0x406860
cmp eax, 0x40408
je 0x406a82
jmp case.0x406787.132099
cmp eax, 0x50409
je case.0x406787.132105
lea ecx, [eax - 0x50408]
and ecx, 0xfffeffff
jne case.0x406787.132099
jmp 0x406a89
mov ebx, 0x4936bd
jmp 0x406a8e
mov ebx, 0x4936c0
jmp 0x406a8e
mov ebx, 0x4936c6
jmp 0x406a8e
mov ebx, 0x4936cc
jmp 0x406a8e
mov ebx, 0x4936d2
jmp 0x406a8e
mov ebx, 0x4936e1
jmp 0x406a8e
mov ebx, 0x4936f3
jmp 0x406a8e
mov ebx, 0x4936ff
jmp 0x406a8e
mov ebx, 0x493702
jmp 0x406a8e
mov ebx, 0x49370b
jmp 0x406a8e
mov ebx, 0x49370e
jmp 0x406a8e
mov ebx, 0x49371d
jmp 0x406a8e
mov ebx, 0x493723
jmp 0x406a8e
mov ebx, 0x493726
jmp 0x406a8e
mov ebx, 0x493729
jmp 0x406a8e
mov ebx, 0x49372c
jmp 0x406a8e
mov ebx, 0x49372f
jmp 0x406a8e
test edx, edx
jne 0x406945
and eax, 0x3ff
mov edx, 1
mov dword [ebp - 0x120], eax
jmp 0x406267
dec edx
jne 0x406973
call dword [sym.imp.KERNEL32.DLL_GetSystemDefaultLangID]
and eax, 0x3ff
mov dword [ebp - 0x120], eax
mov dword [esp + 4], eax
mov dword [esp], str.Unable_to_match_KBID__trying_LangID_0x_04x
call fcn.0043d9e0
mov edx, 2
jmp 0x406267
mov dword [esp], str.Unable_to_match_KBID_and_LangID___defaulting_to_US
call fcn.0043d9e0
mov ebx, 0x4936a2
jmp 0x406a8e
mov ebx, 0x49368a
jmp 0x406a8e
mov ebx, 0x49368a
jmp 0x406a8e
mov ebx, 0x49369c
jmp 0x406a8e
mov ebx, 0x49368d
jmp 0x406a8e
mov ebx, 0x49368a
jmp 0x406a8e
mov ebx, 0x493714
jmp 0x406a8e
mov ebx, 0x4936a8
jmp 0x406a8e
mov ebx, 0x4936a8
jmp 0x406a8e
mov ebx, 0x493729
jmp 0x406a8e
mov ebx, 0x493690
jmp 0x406a8e
mov ebx, 0x4936f6
jmp 0x406a8e
mov ebx, 0x4936ed
jmp 0x406a8e
mov ebx, 0x493690
jmp 0x406a8e
mov ebx, 0x4936c3
jmp 0x406a8e
mov ebx, 0x4936ed
jmp 0x406a8e
mov ebx, 0x493690
jmp 0x406a8e
mov ebx, 0x4936a5
jmp 0x406a8e
mov ebx, 0x493708
jmp 0x406a8e
mov ebx, 0x4936ba
jmp 0x406a8e
mov ebx, 0x4936c0
jmp 0x406a8e
mov ebx, 0x4936a8
jmp 0x406a8e
mov ebx, 0x4936a5
jmp 0x406a8e
mov ebx, 0x4936e4
jmp 0x406a8e
mov ebx, 0x4936fc
jmp 0x406a8e
mov ebx, 0x49368d
jmp 0x406a8e
mov ebx, 0x4936ae
jmp 0x406a8e
mov ebx, 0x49368d
jmp 0x406a8e
mov ebx, 0x49369f
jmp 0x406a8e
mov ebx, 0x49371a
jmp 0x406a8e
mov ebx, 0x4936b1
jmp 0x406a8e
mov ebx, 0x49369f
jmp 0x406a8e
mov ebx, 0x49369f
cmp dword [ebp + 0xc], 0
mov eax, ebx
je 0x406a9d
call fcn.00406058
jmp 0x406aa2
call fcn.004060bb
mov dword [ebp - 0x130], eax
cmp dword [ebp - 0x130], 0
jns 0x406b09
mov dword [esp + 4], ebx
mov dword [esp], str.Keyboard_id__s_is_not_supported___falling_back_to_us
call fcn.0043d9e0
cmp dword [ebp + 0xc], 0
mov eax, 0x4936a2
je 0x406ad3
call fcn.00406058
jmp 0x406ad8
call fcn.004060bb
mov dword [ebp - 0x130], eax
cmp dword [ebp - 0x130], 0
mov ebx, 0x4936a2
jns 0x406b09
mov dword [esp + 8], 0x3d9
mov dword [esp + 4], str.dos_locale.c
mov dword [esp], str.kbdrv___0
call dword [0x491228]
mov eax, ebx
call fcn.0040615a
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp], str.Will_use_DOS_keyboard__s___s_
call fcn.0043d9e0
call dword [sym.imp.KERNEL32.DLL_GetOEMCP]
mov edi, eax
cmp eax, 0xfde9
jne 0x406b70
call dword [sym.imp.KERNEL32.DLL_GetUserDefaultUILanguage]
lea edx, [ebp - 0x120]
mov dword [esp + 0xc], 4
movzx eax, ax
mov dword [esp + 8], edx
mov dword [esp + 4], 0x2000000b
mov dword [esp], eax
call dword [sym.imp.KERNEL32.DLL_GetLocaleInfoA]
sub esp, 0x10
test eax, eax
je case.0x406d3e.30035
mov edi, dword [ebp - 0x120]
cmp dword [ebp + 0xc], 0
je 0x406dcb
cmp edi, 0xbcd
je case.0x406d3e.30022
ja 0x406c95
cmp edi, 0x383
ja 0x406c4b
cmp edi, 0x34f
ja 0x406be1
cmp edi, 0x316
ja 0x406c3b
cmp edi, 0x301
ja 0x406c0b
cmp edi, 0x29c
ja 0x406c2b
cmp edi, 0x29a
ja case.0x406c1a.790
cmp edi, 0x71
je case.0x406bf0.851
mov esi, str.ega.cpx
cmp edi, 0x1b5
jmp 0x406db9
lea eax, [edi - 0x350]
cmp eax, 0x33
ja case.0x406d3e.30035
jmp dword [eax*4 + 0x494040]
mov esi, str.ega9.cpx
jmp 0x406ec2
mov esi, str.ega.cpx
jmp 0x406ec2
lea eax, [edi - 0x302]
cmp eax, 0x14
ja case.0x406d3e.30035
jmp dword [eax*4 + 0x494110]
mov esi, str.ega8.cpx
jmp 0x406ec2
mov esi, str.ega5.cpx
cmp edi, 0x2e1
jmp 0x406db9
mov esi, str.ega3.cpx
cmp edi, 0x328
jmp 0x406db9
cmp edi, 0x465
je case.0x406bf0.848
ja 0x406c79
cmp edi, 0x3df
je case.0x406c1a.790
lea eax, [edi - 0x45c]
cmp eax, 3
jbe case.0x406bf0.859
jmp case.0x406d3e.30035
mov esi, str.ega4.cpx
cmp edi, 0x46b
je 0x406ec2
cmp edi, 0xbc4
jmp 0x406db9
cmp edi, 0x7543
ja 0x406d27
cmp edi, 0x7539
jbe 0x406cda
lea ecx, [edi - 0x753a]
mov eax, 1
mov esi, str.ega7.cpx
shl eax, cl
test eax, 0x39a
jne 0x406ec2
test al, 0x64
mov esi, str.ega4.cpx
mov eax, str.ega14.cpx
cmovne esi, eax
jmp 0x406ec2
cmp edi, 0x752f
jbe 0x406d08
lea eax, [edi - 0x7532]
cmp eax, 6
ja case.0x406ced.30004
jmp dword [eax*4 + 0x494164]
mov esi, str.ega11.cpx
jmp 0x406ec2
mov esi, str.ega12
jmp 0x406ec2
lea eax, [edi - 0xf06]
and eax, 0xfffffffd
je case.0x406bf0.856
mov esi, str.ega10.cpx
cmp edi, 0xf05
jmp 0x406db9
cmp edi, 0x7558
ja 0x406d4f
lea eax, [edi - 0x7544]
cmp eax, 0x14
ja case.0x406d3e.30035
jmp dword [eax*4 + 0x494180]
mov esi, str.ega15.cpx
jmp 0x406ec2
cmp edi, 0xe762
je case.0x406ced.30002
ja 0x406d87
cmp edi, 0xe362
je case.0x406ced.30008
mov esi, str.ega12
cmp edi, 0xe3df
je 0x406ec2
mov esi, str.ega13.cpx
cmp edi, 0xe328
jmp 0x406db9
cmp edi, 0xedb5
je case.0x406ced.30008
ja 0x406dae
mov esi, str.ega6.cpx
cmp edi, 0xe9b5
je 0x406ec2
cmp edi, 0xeb62
jmp 0x406db9
mov esi, str.ega13.cpx
cmp edi, 0xf362
je 0x406ec2
jmp case.0x406d3e.30035
mov esi, str.ega17.cpx
jmp 0x406ec2
cmp edi, 0x365
ja case.0x406d3e.30035
cmp edi, 0x351
ja 0x406e00
cmp edi, 0x2e1
je 0x406eb6
cmp edi, 0x307
je 0x406ebd
cmp edi, 0x1b5
jne case.0x406d3e.30035
jmp 0x406eaf
lea ecx, [edi - 0x352]
mov eax, 1
shl eax, cl
test eax, 0xa405
jne 0x406eaf
test eax, 0x80880
jne 0x406eb6
test eax, 0x10020
jne 0x406ebd
mov eax, edi
mov esi, str.ega.cpi
call fcn.0040611e
mov dword [esp + 4], edi
mov dword [esp + 8], eax
mov dword [esp], str.Unable_to_find_an_EGA_file_with_codepage__d___s_
call fcn.0043d9e0
mov eax, dword [ebp - 0x130]
cmp dword [ebp + 0xc], 0
mov edi, dword [eax*8 + 0x494ee4]
mov eax, str.ega.cpx
cmovne esi, eax
jmp 0x406ed6
mov esi, str.ega3.cpx
jmp 0x406ec2
mov esi, str.ega16.cpx
jmp 0x406ec2
mov esi, str.ega5.cpx
jmp 0x406ec2
mov esi, str.ega14.cpx
jmp 0x406ec2
mov esi, str.ega2.cpx
jmp 0x406ec2
mov esi, str.ega4.cpx
jmp 0x406ec2
mov esi, str.ega10.cpx
jmp 0x406ec2
mov esi, str.ega18.cpx
jmp 0x406ec2
mov esi, str.ega13.cpx
jmp 0x406ec2
mov esi, str.ega6.cpx
jmp 0x406ec2
mov esi, str.ega.cpi
jmp 0x406ec2
mov esi, str.ega2.cpi
jmp 0x406ec2
mov esi, str.ega3.cpi
cmp dword [ebp + 0xc], 0
je 0x406ed6
cmp edi, 0x352
mov eax, 0x35a
cmove edi, eax
mov eax, edi
call fcn.0040611e
mov dword [esp + 4], edi
mov dword [esp + 8], eax
mov dword [esp], str.Will_use_codepage__d___s_
call fcn.0043d9e0
cmp edi, 0x1b5
jne 0x406fd7
mov dword [esp + 4], 0x4936a2
mov dword [esp], ebx
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x406fd7
cmp dword [ebp + 8], 0
mov ecx, 1
je 0x406f2e
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sub.msvcrt.dll_strlen
lea ecx, [eax + 1]
lea ebx, [ebp - 0x11c]
mov edx, dword [ebp + 8]
mov eax, ebx
call fcn.004061cd
mov dword [esp], ebx
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], str.AUTOEXEC.BAT
mov dword [esp + 4], 0x104
call dword [sym.imp.msvcrt.dll_strncat_s]
mov dword [esp], ebx
mov dword [esp + 4], 0x4939b3
call sub.msvcrt.dll_fopen
mov ebx, eax
test eax, eax
je 0x407230
mov dword [esp + 4], eax
mov dword [esp], str._echo_off_n
call sub.msvcrt.dll_fputs
mov dword [esp + 4], ebx
mov dword [esp], str.set_PATH.__LOCALE_n
call sub.msvcrt.dll_fputs
mov eax, 0x1b5
call fcn.0040611e
mov esi, eax
mov eax, 0x4936a2
call fcn.0040615a
mov dword [esp + 0x10], 0x1b5
mov dword [esp + 0xc], esi
mov dword [esp + 8], eax
mov dword [esp + 4], str.echo_Using__s_keyboard_with__s_codepage___d__n
mov dword [esp], ebx
call sub.msvcrt.dll_fprintf
mov dword [esp], ebx
jmp 0x40733b
cmp dword [ebp + 8], 0
mov ecx, 1
je 0x406ff0
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sub.msvcrt.dll_strlen
lea ecx, [eax + 1]
mov edx, dword [ebp + 8]
lea eax, [ebp - 0x11c]
call fcn.004061cd
lea eax, [ebp - 0x11c]
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], str.CONFIG.SYS
mov dword [esp + 4], 0x104
mov dword [esp], eax
call dword [sym.imp.msvcrt.dll_strncat_s]
lea eax, [ebp - 0x11c]
mov dword [esp + 4], 0x4939b3
mov dword [esp], eax
call sub.msvcrt.dll_fopen
mov dword [ebp - 0x12c], eax
test eax, eax
jne 0x407061
call fcn.0043df77
mov dword [esp], str.Unable_to_create_CONFIG.SYS:__s.
mov dword [esp + 4], eax
call fcn.0043d9e0
xor eax, eax
jmp 0x407351
mov eax, dword [ebp - 0x12c]
cmp dword [ebp + 0xc], 0
mov dword [esp + 4], eax
je 0x407090
mov dword [esp], str._MENUCOLOR7_0_nMENU_nMENU___FreeDOS_Language_Selection_Menu_n
call sub.msvcrt.dll_fputs
mov eax, dword [ebp - 0x12c]
mov dword [esp], str.MENU
mov dword [esp + 4], eax
jmp 0x407097
mov dword [esp], str._MENU__n
call sub.msvcrt.dll_fputs
mov eax, dword [ebp - 0x12c]
mov dword [esp], str.MENUDEFAULT1_5_n
mov dword [esp + 4], eax
call sub.msvcrt.dll_fputs
mov eax, edi
call fcn.0040611e
mov dword [ebp - 0x134], eax
mov eax, ebx
call fcn.0040615a
cmp dword [ebp + 0xc], 1
mov edx, 0x4937f2
sbb ecx, ecx
mov dword [ebp - 0x138], eax
mov eax, str.MENUITEM
and ecx, 3
add ecx, 0x29
cmp dword [ebp + 0xc], 0
mov dword [esp + 0x18], edi
cmove edx, eax
mov eax, dword [ebp - 0x134]
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0x138]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [ebp - 0x13c], ecx
mov dword [esp + 8], edx
mov dword [ebp - 0x138], edx
mov dword [esp + 4], str._s1_c_Use__s_keyboard_with__s_codepage___d__n
mov eax, dword [ebp - 0x12c]
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov eax, 0x1b5
call fcn.0040611e
mov dword [ebp - 0x134], eax
mov eax, 0x4936a2
call fcn.0040615a
mov dword [esp + 0x18], 0x1b5
mov edx, dword [ebp - 0x134]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
mov ecx, dword [ebp - 0x13c]
mov dword [esp + 0xc], ecx
mov edx, dword [ebp - 0x138]
mov dword [esp + 4], str._s2_c_Use__s_keyboard_with__s_codepage___d__n
mov dword [esp + 8], edx
mov eax, dword [ebp - 0x12c]
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
cmp dword [ebp + 0xc], 0
mov edx, str.MENU_n12__n
mov eax, str._1__ndevicelocaledisplay.sys_con_ega__1__n_2__n
cmovne eax, edx
mov edx, dword [ebp - 0x12c]
mov dword [esp], eax
mov dword [esp + 4], edx
call sub.msvcrt.dll_fputs
mov eax, dword [ebp - 0x12c]
mov dword [esp], eax
call sub.msvcrt.dll_fclose
mov dword [esp], str.Successfully_wrote_CONFIG.SYS
call fcn.0043d9e0
cmp dword [ebp + 8], 0
mov ecx, 1
je 0x4071db
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sub.msvcrt.dll_strlen
lea ecx, [eax + 1]
mov edx, dword [ebp + 8]
lea eax, [ebp - 0x11c]
call fcn.004061cd
lea eax, [ebp - 0x11c]
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], str.AUTOEXEC.BAT
mov dword [esp + 4], 0x104
mov dword [esp], eax
call dword [sym.imp.msvcrt.dll_strncat_s]
lea eax, [ebp - 0x11c]
mov dword [esp + 4], 0x4939b3
mov dword [esp], eax
call sub.msvcrt.dll_fopen
mov dword [ebp - 0x12c], eax
test eax, eax
jne 0x407245
call fcn.0043df77
mov dword [esp], str.Unable_to_create_AUTOEXEC.BAT:__s
mov dword [esp + 4], eax
jmp 0x407055
mov eax, dword [ebp - 0x12c]
mov dword [esp], str._echo_off_n
mov dword [esp + 4], eax
call sub.msvcrt.dll_fputs
mov eax, dword [ebp - 0x12c]
mov dword [esp], str.set_PATH.__LOCALE_n
mov dword [esp + 4], eax
call sub.msvcrt.dll_fputs
cmp dword [ebp + 0xc], 0
je 0x40728d
mov eax, dword [ebp - 0x12c]
mov dword [esp], str.display_con_ega__1__n
mov dword [esp + 4], eax
call sub.msvcrt.dll_fputs
mov dword [esp + 4], str.GOTO___CONFIG___n
mov eax, dword [ebp - 0x12c]
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov eax, dword [ebp - 0x12c]
mov dword [esp], 0x493b9d
mov dword [esp + 4], eax
call sub.msvcrt.dll_fputs
mov dword [esp + 0xc], esi
mov dword [esp + 8], edi
mov dword [esp + 4], str.mode_con_codepage_prepare___d__locale_s____NUL_n
mov eax, dword [ebp - 0x12c]
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov dword [esp + 8], edi
mov dword [esp + 4], str.mode_con_codepage_select_d___NUL_n
mov eax, dword [ebp - 0x12c]
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov eax, dword [ebp - 0x130]
mov dword [esp + 8], ebx
mov dword [esp + 4], str.keyb__s__locale_s_n
mov eax, dword [eax*8 + 0x494ee0]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x12c]
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov eax, dword [ebp - 0x12c]
mov dword [esp], 0x493c0c
mov dword [esp + 4], eax
call sub.msvcrt.dll_fputs
mov eax, dword [ebp - 0x12c]
mov dword [esp], eax
call sub.msvcrt.dll_fclose
mov dword [esp], str.Successfully_wrote_AUTOEXEC.BAT
call fcn.0043d9e0
mov eax, 1
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret