Function at 0x410770
Capabilities:
Identify system language via api

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4b6485
mov eax, dword fs:[0]
push eax
sub esp, 0x2c8
mov eax, dword [0x4ee318]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov eax, dword [ebp + 8]
mov dword [ebp - 0x2b0], eax
xor eax, eax
mov dword [ebp - 0x268], 7
mov dword [ebp - 0x26c], 0
mov word [ebp - 0x27c], ax
mov dword [ebp - 4], eax
push 0x206
push eax
mov word [ebp - 0x21c], ax
lea eax, [ebp - 0x21a]
push eax
call fcn.00488c50
add esp, 0xc
lea eax, [ebp - 0x21c]
push 0x104
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
xor eax, eax
mov dword [ebp - 0x280], 7
mov dword [ebp - 0x284], 0
mov word [ebp - 0x294], ax
mov byte [ebp - 4], 1
lea eax, [ebp - 0x21c]
cmp word [ebp - 0x21c], 0
je 0x410839
lea ebx, [ebx]
add eax, 2
cmp word [eax], 0
jne 0x410830
push eax
lea eax, [ebp - 0x21c]
push eax
lea ecx, [ebp - 0x294]
call fcn.0040a8e0
lea eax, [ebp - 0x24c]
mov byte [ebp - 4], 2
push eax
lea ecx, [ebp - 0x294]
call fcn.004132a0
mov esi, eax
lea eax, [ebp - 0x27c]
cmp eax, esi
je 0x4108ae
cmp dword [ebp - 0x268], 8
jb 0x410885
push dword [ebp - 0x27c]
call fcn.0047e7c0
add esp, 4
xor eax, eax
mov dword [ebp - 0x268], 7
push esi
lea ecx, [ebp - 0x27c]
mov dword [ebp - 0x26c], 0
mov word [ebp - 0x27c], ax
call fcn.00404830
cmp dword [ebp - 0x238], 8
jb 0x4108c5
push dword [ebp - 0x24c]
call fcn.0047e7c0
add esp, 4
mov dword [ebp - 0x2c8], 0
mov dword [ebp - 0x2c4], 0
mov dword [ebp - 0x2c0], 0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x234]
push 1
xor eax, eax
mov dword [ebp - 0x220], 7
push 0x4d6108
mov dword [ebp - 0x224], 0
mov word [ebp - 0x234], ax
call fcn.004049d0
lea eax, [ebp - 0x234]
mov byte [ebp - 4], 4
push eax
lea edx, [ebp - 0x27c]
lea ecx, [ebp - 0x2c8]
call fcn.00409730
add esp, 4
mov byte [ebp - 4], 3
cmp dword [ebp - 0x220], 8
jb 0x410950
push dword [ebp - 0x234]
call fcn.0047e7c0
add esp, 4
mov ecx, dword [ebp - 0x2c4]
mov eax, 0x2aaaaaab
mov ebx, dword [ebp - 0x2c8]
sub ecx, ebx
imul ecx
sar edx, 2
mov esi, edx
shr esi, 0x1f
add esi, edx
cmp esi, 1
jbe 0x4109d1
test esi, esi
jne 0x410982
push str.invalid_vector_T__subscript
call fcn.00432e61
mov edx, ebx
lea ecx, [ebp - 0x2ac]
call fcn.00410670
mov byte [ebp - 4], 5
cmp dword [ebp - 0x29c], 0
je 0x4109b6
lea ecx, [edi + 0xa0]
lea eax, [ebp - 0x2ac]
cmp ecx, eax
je 0x4109b6
push 0xffffffffffffffff
push 0
push eax
call fcn.00405460
mov byte [ebp - 4], 3
cmp dword [ebp - 0x298], 8
jb 0x4109d1
push dword [ebp - 0x2ac]
call fcn.0047e7c0
add esp, 4
cmp esi, 4
jb 0x410ab5
xor eax, eax
mov dword [ebp - 0x238], 7
push 0xffffffffffffffff
push eax
push ebx
lea ecx, [ebp - 0x24c]
mov dword [ebp - 0x23c], 0
mov word [ebp - 0x24c], ax
call fcn.00405460
lea eax, [ebx + 0x18]
mov byte [ebp - 4], 6
lea ecx, [edi + 0x70]
cmp ecx, eax
je 0x410a1e
push 0xffffffffffffffff
push 0
push eax
call fcn.00405460
lea eax, [ebx + 0x30]
lea ecx, [edi + 0x88]
cmp ecx, eax
je 0x410a35
push 0xffffffffffffffff
push 0
push eax
call fcn.00405460
xor ecx, ecx
mov dword [ebp - 0x220], 7
push 0xffffffffffffffff
push ecx
lea eax, [ebx + 0x48]
mov word [ebp - 0x234], cx
push eax
lea ecx, [ebp - 0x234]
mov dword [ebp - 0x224], 0
call fcn.00405460
cmp dword [ebp - 0x220], 8
jb 0x410a7b
push dword [ebp - 0x234]
call fcn.0047e7c0
add esp, 4
xor eax, eax
mov byte [ebp - 4], 3
cmp dword [ebp - 0x238], 8
mov dword [ebp - 0x220], 7
mov dword [ebp - 0x224], 0
mov word [ebp - 0x234], ax
jb 0x410ae5
push dword [ebp - 0x24c]
call fcn.0047e7c0
add esp, 4
jmp 0x410ae5
cmp dword [edi + 0x84], 8
lea eax, [edi + 0x70]
mov dword [eax + 0x10], 0
jb 0x410aca
mov eax, dword [eax]
xor ecx, ecx
mov word [eax], cx
lea eax, [edi + 0x88]
cmp dword [eax + 0x14], 8
mov dword [eax + 0x10], ecx
jb 0x410ae0
mov eax, dword [eax]
xor ecx, ecx
mov word [eax], cx
mov dword [ebp - 0x2b8], 0
mov dword [ebp - 0x2b4], 0
call fcn.00403d10
mov dword [ebp - 0x2b8], eax
mov ebx, dword [ebp - 0x2b0]
test ebx, ebx
je 0x410c8c
mov dword [ebp - 0x2d4], 0
mov dword [ebp - 0x2d0], 0
mov dword [ebp - 0x2cc], 0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x24c]
push 1
xor eax, eax
mov dword [ebp - 0x238], 7
push 0x4d610c
mov dword [ebp - 0x23c], 0
mov word [ebp - 0x24c], ax
call fcn.004049d0
mov byte [ebp - 4], 9
xor eax, eax
mov dword [ebp - 0x220], 7
mov dword [ebp - 0x224], 0
mov word [ebp - 0x234], ax
cmp word [ebx], ax
jne 0x410b8d
xor ecx, ecx
jmp 0x410ba1
mov ecx, ebx
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x410b92
sub ecx, edx
sar ecx, 1
push ecx
push ebx
lea ecx, [ebp - 0x234]
call fcn.004049d0
lea eax, [ebp - 0x24c]
mov byte [ebp - 4], 0xa
push eax
lea edx, [ebp - 0x234]
lea ecx, [ebp - 0x2d4]
call fcn.00409730
add esp, 4
cmp dword [ebp - 0x220], 8
jb 0x410be4
push dword [ebp - 0x234]
call fcn.0047e7c0
add esp, 4
xor eax, eax
mov byte [ebp - 4], 8
cmp dword [ebp - 0x238], 8
mov dword [ebp - 0x220], 7
mov dword [ebp - 0x224], 0
mov word [ebp - 0x234], ax
jb 0x410c1c
push dword [ebp - 0x24c]
call fcn.0047e7c0
add esp, 4
mov esi, dword [ebp - 0x2d4]
mov ebx, dword [ebp - 0x2d0]
cmp esi, ebx
je 0x410c72
push 0x4d6110
lea ecx, [ebp - 0x24c]
call fcn.004057c0
lea eax, [ebp - 0x24c]
mov byte [ebp - 4], 0xb
push eax
lea edx, [ebp - 0x2d4]
lea ecx, [ebp - 0x2b8]
call fcn.004098c0
add esp, 4
cmp dword [ebp - 0x238], 8
jb 0x410c72
push dword [ebp - 0x24c]
call fcn.0047e7c0
add esp, 4
test esi, esi
je 0x410c8c
push ebx
push esi
lea ecx, [ebp - 0x2d4]
call fcn.00408790
push esi
call fcn.0047e7c0
add esp, 4
xor eax, eax
mov dword [ebp - 0x250], 7
mov dword [ebp - 0x254], 0
mov word [ebp - 0x264], ax
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x234]
push 4
push 0x4d6114
mov dword [ebp - 0x220], 7
mov dword [ebp - 0x224], eax
mov word [ebp - 0x234], ax
call fcn.004049d0
lea eax, [ebp - 0x234]
mov byte [ebp - 4], 0xd
push eax
lea ecx, [ebp - 0x2b8]
call fcn.00403bb0
mov ecx, dword [ebp - 0x2b8]
mov esi, eax
cmp esi, ecx
je 0x410d2a
cmp dword [esi + 0x24], 8
lea eax, [esi + 0x10]
mov ecx, dword [eax + 0x10]
jb 0x410d06
mov eax, dword [eax]
push ecx
push eax
push dword [ebp - 0x224]
push ecx
lea ecx, [ebp - 0x234]
call fcn.00403f50
mov ecx, dword [ebp - 0x2b8]
mov dword [ebp - 0x2b0], esi
test eax, eax
jns 0x410d30
mov dword [ebp - 0x2b0], ecx
lea eax, [ebp - 0x2b0]
mov eax, dword [eax]
cmp eax, ecx
je 0x410d57
add eax, 0x28
lea ecx, [ebp - 0x264]
cmp ecx, eax
je 0x410d53
push 0xffffffffffffffff
push 0
push eax
call fcn.00405460
mov bl, 1
jmp 0x410d59
xor bl, bl
mov byte [ebp - 4], 0xc
cmp dword [ebp - 0x220], 8
jb 0x410d74
push dword [ebp - 0x234]
call fcn.0047e7c0
add esp, 4
test bl, bl
je 0x410d8f
lea ecx, [edi + 0x58]
lea eax, [ebp - 0x264]
cmp ecx, eax
je 0x410d8f
push 0xffffffffffffffff
push 0
push eax
call fcn.00405460
push 4
xor eax, eax
mov dword [ebp - 0x220], 7
push str.path
lea ecx, [ebp - 0x234]
mov dword [ebp - 0x224], 0
mov word [ebp - 0x234], ax
call fcn.004049d0
lea eax, [ebp - 0x234]
mov byte [ebp - 4], 0xe
push eax
lea ecx, [ebp - 0x2b8]
call fcn.00403bb0
mov esi, eax
cmp esi, dword [ebp - 0x2b8]
je 0x410e0c
cmp dword [esi + 0x24], 8
lea eax, [esi + 0x10]
mov ecx, dword [eax + 0x10]
jb 0x410dec
mov eax, dword [eax]
push ecx
push eax
push dword [ebp - 0x224]
push ecx
lea ecx, [ebp - 0x234]
call fcn.00403f50
test eax, eax
js 0x410e0c
mov dword [ebp - 0x2b0], esi
jmp 0x410e18
mov eax, dword [ebp - 0x2b8]
mov dword [ebp - 0x2b0], eax
lea eax, [ebp - 0x2b0]
mov eax, dword [eax]
cmp eax, dword [ebp - 0x2b8]
je 0x410e43
add eax, 0x28
lea ecx, [ebp - 0x264]
cmp ecx, eax
je 0x410e3f
push 0xffffffffffffffff
push 0
push eax
call fcn.00405460
mov bl, 1
jmp 0x410e45
xor bl, bl
mov byte [ebp - 4], 0xc
cmp dword [ebp - 0x220], 8
jb 0x410e60
push dword [ebp - 0x234]
call fcn.0047e7c0
add esp, 4
test bl, bl
je 0x410e7d
lea ecx, [edi + 0x20]
lea eax, [ebp - 0x264]
cmp ecx, eax
je 0x410e84
push 0xffffffffffffffff
push 0
push eax
call fcn.00405460
jmp 0x410e84
mov ecx, edi
call fcn.00411a40
cmp dword [edi + 0xb0], 0
jne 0x410f21
call dword [sym.imp.KERNEL32.dll_GetUserDefaultUILanguage]
movzx eax, ax
mov ecx, eax
and ecx, 0x3ff
cmp cx, 4
jne 0x410ede
mov ecx, 0xc04
cmp ax, cx
je 0x410ed7
mov ecx, 0x1404
cmp ax, cx
je 0x410ed7
mov ecx, 0x404
cmp ax, cx
je 0x410ed7
mov ecx, 0x7c04
cmp ax, cx
je 0x410ed7
push str.zh_CN
jmp 0x410f16
push str.zh_TW
jmp 0x410f16
mov eax, ecx
mov ecx, 0x4f6904
mov dword [ebp - 0x2b0], eax
lea eax, [ebp - 0x2b0]
push eax
lea eax, [ebp - 0x2bc]
push eax
call fcn.004134f0
mov eax, dword [ebp - 0x2bc]
cmp eax, dword [0x4f6904]
je 0x410f11
push dword [eax + 0x14]
jmp 0x410f16
push str.en_US
lea ecx, [edi + 0xa0]
call fcn.004036a0
cmp dword [ebp - 0x250], 8
jb 0x410f38
push dword [ebp - 0x264]
call fcn.0047e7c0
add esp, 4
xor eax, eax
mov dword [ebp - 0x250], 7
mov word [ebp - 0x264], ax
lea ecx, [ebp - 0x2b8]
mov eax, dword [ebp - 0x2b8]
push eax
mov dword [ebp - 0x254], 0
push dword [eax]
lea eax, [ebp - 0x2bc]
push eax
call fcn.00403760
push dword [ebp - 0x2b8]
call fcn.0047e7c0
mov esi, dword [ebp - 0x2c8]
add esp, 4
test esi, esi
je 0x410fa3
push dword [ebp - 0x2c4]
lea ecx, [ebp - 0x2c8]
push esi
call fcn.00408790
push esi
call fcn.0047e7c0
add esp, 4
cmp dword [ebp - 0x280], 8
jb 0x410fba
push dword [ebp - 0x294]
call fcn.0047e7c0
add esp, 4
xor eax, eax
mov dword [ebp - 0x280], 7
cmp dword [ebp - 0x268], 8
mov dword [ebp - 0x284], 0
mov word [ebp - 0x294], ax
jb 0x410fee
push dword [ebp - 0x27c]
call fcn.0047e7c0
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0047e7a3
mov esp, ebp
pop ebp
ret 4