Function at 0x402400
Capabilities:
Identify system language via api

Disassembly:
push ebp
mov ebp, esp
push ebx
sub esp, 0x10
call dword [sym.imp.kernel32.dll_GetUserDefaultUILanguage]
and ax, 0x3ff
cmp ax, 9
je 0x402c30
call fcn.00402e40
mov dword [eax], 0x40614e
mov dword [eax + 4], 0x1b6
mov dword [esp], str.Error_tests_only_work_with_english_locale._n
call fcn.00401150
mov ecx, section..rdata
mov edx, 0x40635d
mov eax, 0x4063ce
mov dword [esp + 8], 0x147
mov dword [esp + 4], 0
mov dword [esp], 1
call fcn.00401e10
mov ecx, section..rdata
mov eax, 0x4063d1
mov dword [esp + 8], 0x148
mov dword [esp + 4], 0
mov edx, ecx
mov dword [esp], 1
call fcn.00401e10
mov ecx, str.test_r_n
mov edx, 0x40635d
mov dword [esp + 8], 0x149
mov dword [esp + 4], 0
mov eax, 0x4063d1
mov dword [esp], 0
call fcn.00401e10
mov ecx, str.test2_r_n
mov edx, str.test2
mov dword [esp + 8], 0x14a
mov dword [esp + 4], 0
mov eax, 0x4063d1
mov dword [esp], 0
call fcn.00401e10
mov ecx, str.test_r2_r_n
mov edx, str.test_r2
mov dword [esp + 8], 0x14b
mov dword [esp + 4], 0
mov eax, 0x4063d1
mov dword [esp], 0
call fcn.00401e10
mov ecx, section..rdata
mov edx, 0x40635d
mov dword [esp + 8], 0x14c
mov dword [esp + 4], 0
mov eax, str._test2_
mov dword [esp], 1
call fcn.00401e10
mov ecx, section..rdata
mov edx, str.t1_r_nt1
mov dword [esp + 8], 0x152
mov dword [esp + 4], 0
mov eax, str._t1_r_nt1_
mov dword [esp], 1
call fcn.00401e10
mov ecx, section..rdata
mov edx, str.t1_nt1
mov dword [esp + 8], 0x153
mov dword [esp + 4], 0
mov eax, str._t1_nt1_
mov dword [esp], 1
call fcn.00401e10
mov ecx, str.test1_r_n
mov edx, str.test1_ntest2
mov dword [esp + 8], 0x156
mov dword [esp + 4], 0
mov eax, str._test1_
mov dword [esp], 0
call fcn.00401e10
mov ecx, str.test1_r_n
mov edx, str.test1_r_ntest2
mov dword [esp + 8], 0x157
mov dword [esp + 4], 0
mov eax, str._test1_
mov dword [esp], 0
call fcn.00401e10
mov ecx, str.test1_r_n
mov edx, str.test1_n_ntest2
mov dword [esp + 8], 0x15a
mov dword [esp + 4], 0
mov eax, str._test1_
mov dword [esp], 0
call fcn.00401e10
mov ecx, str.test1_r_ntest2_r_n
mov edx, str.junk1_ntest1_ntest2_r_njunk
mov dword [esp + 8], 0x15d
mov dword [esp + 4], 0
mov eax, 0x4063d1
mov dword [esp], 0
call fcn.00401e10
mov dword [esp + 0xc], 0x175
mov ecx, 0x4064c4
mov edx, 8
mov dword [esp + 8], 0
mov eax, ecx
mov dword [esp + 4], 0
mov dword [esp], 8
call fcn.00401f40
mov dword [esp + 0xc], 0x176
mov ecx, 0x4064cc
mov edx, 0xb
mov dword [esp + 8], 0
mov eax, ecx
mov dword [esp + 4], 0
mov dword [esp], 0xb
call fcn.00401f40
mov dword [esp + 0xc], 0x179
mov ecx, 0x4064ec
mov edx, 0x17
mov dword [esp + 8], 0
mov eax, ecx
mov dword [esp + 4], 0
mov dword [esp], 0x17
call fcn.00401f40
mov dword [esp + 0xc], 0x17a
mov ecx, 0x4064d8
mov edx, 0x14
mov dword [esp + 8], 0
mov eax, ecx
mov dword [esp + 4], 0
mov dword [esp], 0x14
call fcn.00401f40
mov dword [esp + 0xc], 0x17d
mov ecx, 0x406548
mov edx, 0x10
mov dword [esp + 8], 0
mov eax, ecx
mov dword [esp + 4], 0
mov dword [esp], 0x10
call fcn.00401f40
mov dword [esp + 0xc], 0x17e
mov ecx, 0x406558
mov edx, 0x13
mov dword [esp + 8], 0
mov eax, ecx
mov dword [esp + 4], 0
mov dword [esp], 0x13
call fcn.00401f40
mov dword [esp + 0xc], 0x17f
mov ecx, 0x40656c
mov edx, 0xb
mov dword [esp + 8], 0
mov eax, ecx
mov dword [esp + 4], 0
mov dword [esp], 0xb
call fcn.00401f40
mov dword [esp + 0xc], 0x182
mov ecx, 0x406577
mov edx, 0xe
mov dword [esp + 8], 0
mov eax, 0x406524
mov dword [esp + 4], 1
mov dword [esp], 0
call fcn.00401f40
mov dword [esp + 0xc], 0x183
mov ecx, 0x406577
mov edx, 0x10
mov dword [esp + 8], 0
mov eax, 0x406514
mov dword [esp + 4], 1
mov dword [esp], 0
call fcn.00401f40
mov dword [esp + 0xc], 0x184
mov ecx, 0x406577
mov edx, 0xe
mov dword [esp + 8], 0
mov eax, 0x406504
mov dword [esp + 4], 1
mov dword [esp], 0
call fcn.00401f40
mov ebx, dword [0x418030]
call fcn.00402e40
mov ecx, dword [eax + 0x10]
mov dword [eax + 0x14], 1
lea edx, [ecx + ecx]
xor ecx, ecx
test ebx, ebx
setne cl
or edx, ecx
mov dword [eax + 0x10], edx
jmp 0x402888
mov dword [esp + 0xc], 0x188
mov ecx, 0x406534
mov edx, 0x14
mov dword [esp + 8], 0
mov eax, ecx
mov dword [esp + 4], 0
mov dword [esp], 0x14
call fcn.00401f40
call fcn.00402e40
shr dword [eax + 0x10], 1
call fcn.00402e40
mov edx, dword [eax + 0x14]
mov dword [eax + 0x14], 0
test edx, edx
jne 0x402850
mov ecx, section..rdata
mov edx, 0x40635d
mov eax, 0x4063ce
mov dword [esp + 8], 0x18d
mov dword [esp + 4], 1
mov dword [esp], 1
call fcn.00401e10
mov ecx, section..rdata
mov eax, 0x4063d1
mov dword [esp + 8], 0x18e
mov dword [esp + 4], 1
mov edx, ecx
mov dword [esp], 1
call fcn.00401e10
mov ecx, str.test_r_n
mov edx, 0x40635d
mov dword [esp + 8], 0x18f
mov dword [esp + 4], 1
mov eax, 0x4063d1
mov dword [esp], 0
call fcn.00401e10
mov ecx, str.test2_r_n
mov edx, str.test2
mov dword [esp + 8], 0x190
mov dword [esp + 4], 1
mov eax, 0x4063d1
mov dword [esp], 0
call fcn.00401e10
mov ecx, str.test_r2_r_n
mov edx, str.test_r2
mov dword [esp + 8], 0x191
mov dword [esp + 4], 1
mov eax, 0x4063d1
mov dword [esp], 0
call fcn.00401e10
mov ecx, section..rdata
mov edx, 0x40635d
mov dword [esp + 8], 0x192
mov dword [esp + 4], 1
mov eax, str._test2_
mov dword [esp], 1
call fcn.00401e10
mov ecx, str.test_r_ntest2_r_ntest3_r_n
mov edx, str.test_nother_ntest2_ntest3
mov dword [esp + 8], 0x193
mov dword [esp + 4], 1
mov eax, 0x4063d1
mov dword [esp], 0
call fcn.00401e10
mov dword [esp + 0xc], 0x19b
mov ecx, 0x4064c4
mov edx, 8
mov dword [esp + 8], 1
mov eax, ecx
mov dword [esp + 4], 0
mov dword [esp], 8
call fcn.00401f40
mov dword [esp + 0xc], 0x19c
mov ecx, 0x4064cc
mov edx, 0xb
mov dword [esp + 8], 1
mov eax, ecx
mov dword [esp + 4], 0
mov dword [esp], 0xb
call fcn.00401f40
mov dword [esp + 0xc], 0x19f
mov ecx, 0x4064ec
mov edx, 0x17
mov dword [esp + 8], 1
mov eax, ecx
mov dword [esp + 4], 0
mov dword [esp], 0x17
call fcn.00401f40
mov dword [esp + 0xc], 0x1a0
mov ecx, 0x4064d8
mov edx, 0x14
mov dword [esp + 8], 1
mov eax, ecx
mov dword [esp + 4], 0
mov dword [esp], 0x14
call fcn.00401f40
mov dword [esp + 0xc], 0x1a3
mov ecx, 0x406548
mov edx, 0x10
mov dword [esp + 8], 1
mov eax, ecx
mov dword [esp + 4], 0
mov dword [esp], 0x10
call fcn.00401f40
mov dword [esp + 0xc], 0x1a4
mov ecx, 0x406558
mov edx, 0x13
mov dword [esp + 8], 1
mov eax, ecx
mov dword [esp + 4], 0
mov dword [esp], 0x13
call fcn.00401f40
mov dword [esp + 0xc], 0x1a5
mov ecx, 0x40656c
mov edx, 0xb
mov dword [esp + 8], 1
mov eax, ecx
mov dword [esp + 4], 0
mov dword [esp], 0xb
call fcn.00401f40
mov dword [esp + 0xc], 0x1a8
mov ecx, 0x406577
mov edx, 0xe
mov dword [esp + 8], 1
mov eax, 0x406524
mov dword [esp + 4], 1
mov dword [esp], 0
call fcn.00401f40
mov dword [esp + 0xc], 0x1a9
mov ecx, 0x406577
mov edx, 0x10
mov dword [esp + 8], 1
mov eax, 0x406514
mov dword [esp + 4], 1
mov dword [esp], 0
call fcn.00401f40
mov dword [esp + 0xc], 0x1aa
mov ecx, 0x406577
mov edx, 0xe
mov dword [esp + 8], 1
mov eax, 0x406504
mov dword [esp + 4], 1
mov dword [esp], 0
call fcn.00401f40
mov ebx, dword [0x418030]
call fcn.00402e40
mov ecx, dword [eax + 0x10]
mov dword [eax + 0x14], 1
lea edx, [ecx + ecx]
xor ecx, ecx
test ebx, ebx
setne cl
or edx, ecx
mov dword [eax + 0x10], edx
jmp 0x402c10
mov dword [esp + 0xc], 0x1ae
mov ecx, 0x406534
mov edx, 0x14
mov dword [esp + 8], 1
mov eax, ecx
mov dword [esp + 4], 0
mov dword [esp], 0x14
call fcn.00401f40
call fcn.00402e40
shr dword [eax + 0x10], 1
call fcn.00402e40
mov edx, dword [eax + 0x14]
mov dword [eax + 0x14], 0
test edx, edx
jne 0x402bd8
mov ebx, dword [ebp - 4]
leave
ret
mov dword [esp + 8], 0x13c
mov edx, section..rdata
mov ecx, str.FIND:_Parameter_format_not_correct_r_n
mov dword [esp + 4], 0
mov eax, edx
mov dword [esp], 2
call fcn.00401e10
mov ebx, dword [0x418030]
call fcn.00402e40
mov ecx, dword [eax + 0x10]
mov dword [eax + 0x14], 1
lea edx, [ecx + ecx]
xor ecx, ecx
test ebx, ebx
setne cl
or edx, ecx
mov dword [eax + 0x10], edx
jmp 0x402cb3
mov ecx, str.FIND:_Parameter_format_not_correct_r_n
mov edx, section..rdata
mov eax, 0x40635d
mov dword [esp + 8], 0x13e
mov dword [esp + 4], 0
mov dword [esp], 2
call fcn.00401e10
call fcn.00402e40
shr dword [eax + 0x10], 1
call fcn.00402e40
mov edx, dword [eax + 0x14]
mov dword [eax + 0x14], 0
test edx, edx
jne 0x402c80
mov ebx, dword [0x418030]
call fcn.00402e40
mov ecx, dword [eax + 0x10]
mov dword [eax + 0x14], 1
lea edx, [ecx + ecx]
xor ecx, ecx
test ebx, ebx
setne cl
or edx, ecx
mov dword [eax + 0x10], edx
jmp 0x402d23
mov ecx, str.FIND:_Parameter_format_not_correct_r_n
mov edx, section..rdata
mov eax, str._test
mov dword [esp + 8], 0x140
mov dword [esp + 4], 0
mov dword [esp], 2
call fcn.00401e10
call fcn.00402e40
shr dword [eax + 0x10], 1
call fcn.00402e40
mov edx, dword [eax + 0x14]
mov dword [eax + 0x14], 0
test edx, edx
jne 0x402cf0
mov ecx, str.FIND:_Invalid_switch_r_n
mov edx, section..rdata
mov eax, str._test___XYZ
mov dword [esp + 8], 0x141
mov dword [esp + 4], 0
mov dword [esp], 2
call fcn.00401e10
mov ecx, str.File_not_found___C:DOESNOTEXIST.DAT_r_n
mov edx, section..rdata
mov dword [esp + 8], 0x142
mov dword [esp + 4], 0
mov eax, str._test__C:doesnotexist.dat
mov dword [esp], 1
call fcn.00401e10
call fcn.00402110
jmp 0x402439