Function at 0x42131f
Capabilities:
Copy file
Get keyboard layout
Identify system language via api

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x214
mov eax, dword [0x49f2a0]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, dword [ebp + 8]
push edi
push esi
lea eax, [ebp - 0x20c]
push str._sCOMMAND.COM
push eax
call fcn.00450c76
xor edi, edi
lea eax, [ebp - 0x20c]
push edi
push eax
call fcn.00450d79
add esp, 0x14
cmp eax, 0xffffffff
je 0x4215cf
push 0x104
lea eax, [ebp - 0x108]
push eax
push edi
call dword [sym.imp.___total_physical_size__lu_MB_GetModuleHandleA]
push eax
call dword [sym.imp.___total_physical_size__lu_MB_GetModuleFileNameA]
push esi
lea eax, [ebp - 0x108]
push eax
push str.copying__s_to__s_n
call fcn.00450f5c
lea eax, [ebp - 0x108]
push 0x5c
push eax
call fcn.00452730
add esp, 0x14
cmp eax, edi
jne 0x4213cf
lea eax, [ebp - 0x108]
push eax
push str.while_copying_file__s___no__
call dword [sym.imp.___total_physical_size__lu_MB_GetLastError]
push eax
push 0xf83
push str.NTCOPY
call fcn.0044dc85
add esp, 0x14
jmp 0x4215cf
inc eax
push eax
push esi
lea eax, [ebp - 0x20c]
push 0x46aaa0
push eax
call fcn.00450c76
add esp, 0x10
push edi
lea eax, [ebp - 0x20c]
push eax
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.___total_physical_size__lu_MB_CopyFileA]
test eax, eax
jne 0x421419
lea eax, [ebp - 0x108]
push eax
push str.error_while_copying_file__s
call dword [sym.imp.___total_physical_size__lu_MB_GetLastError]
push eax
push 0xf8d
jmp 0x4213bd
push 0x46ec98
push esi
push str._sLANGUAGE.BAT
call fcn.0042f614
pop ecx
pop ecx
push eax
call fcn.00450b1b
pop ecx
pop ecx
mov dword [ebp - 0x214], eax
cmp eax, edi
je 0x4215cf
call dword [sym.imp.___total_physical_size__lu_MB_GetUserDefaultLangID]
mov ecx, 0x3ff
and ax, cx
mov dword [ebp - 0x210], 0x46ec84
cmp ax, 7
jne 0x421469
mov dword [ebp - 0x210], 0x46ec80
push edi
mov edi, dword [sym.imp.e_to_open__s_GetKeyboardLayout]
call edi
mov esi, eax
push 0
and esi, 0x3ff
call edi
movzx eax, ax
shr eax, 0xa
cmp esi, 0xd
jg 0x421524
je 0x42151d
push 2
pop ecx
sub esi, ecx
je 0x421516
sub esi, 4
je 0x42150f
dec esi
je 0x4214ff
sub esi, ecx
je 0x4214e8
dec esi
je 0x4214de
dec esi
je 0x4214d4
dec esi
jne 0x421541
mov esi, 0x46ec7c
cmp eax, 4
jne 0x4214c2
mov esi, 0x46ec78
cmp eax, ecx
jne 0x421581
mov esi, 0x46ec74
jmp 0x421581
mov esi, 0x46ec70
jmp 0x421581
mov esi, 0x46ec6c
jmp 0x421581
mov esi, 0x46ec68
cmp eax, ecx
jne 0x421581
mov esi, 0x46ec64
jmp 0x421581
mov esi, 0x46ec60
cmp eax, ecx
jne 0x421581
mov esi, 0x46ec5c
jmp 0x421581
mov esi, 0x46ec58
jmp 0x421581
mov esi, 0x46ec54
jmp 0x421581
mov esi, 0x46ec50
jmp 0x421581
sub esi, 0x10
je 0x42157c
sub esi, 3
je 0x421575
dec esi
je 0x42156e
dec esi
je 0x421567
dec esi
je 0x421556
sub esi, 3
je 0x42154f
sub esi, 4
je 0x421548
mov esi, 0x46ec68
jmp 0x421581
mov esi, 0x46ec4c
jmp 0x421581
mov esi, 0x46ec48
jmp 0x421581
mov esi, 0x46ec44
cmp eax, 1
jne 0x421581
mov esi, 0x46ec40
jmp 0x421581
mov esi, 0x46ec3c
jmp 0x421581
mov esi, 0x46e90c
jmp 0x421581
mov esi, 0x46ec38
jmp 0x421581
mov esi, 0x46ec34
mov edi, dword [ebp - 0x214]
push str.:__local_keyboard_and_language_settings_n:__n
push edi
call fcn.00455151
push dword [ebp - 0x210]
push str.set__LANGUAGE_s_n
push edi
call fcn.00455151
push str.:___n:__keyboard_handler_n:__see_KEYB__L_for_possible_keyboard_layouts_n:__n
push edi
call fcn.00455151
push esi
push str.KEYB__s_n
push edi
call fcn.00455151
push esi
push str.set__KEYBOARD_s_n
push edi
call fcn.00455151
push edi
call fcn.00450317
add esp, 0x38
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.00450b32
leave
ret 4