Function at 0x401200
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x466910
mov eax, dword fs:[0]
push eax
sub esp, 0x20
push ebx
push esi
push edi
mov eax, dword [0x481670]
xor eax, esp
push eax
lea eax, [esp + 0x30]
mov dword fs:[0], eax
call fcn.00402930
mov dword [esp + 0x24], eax
mov byte [eax + 0x15], 1
mov eax, dword [esp + 0x24]
mov dword [eax + 4], eax
mov eax, dword [esp + 0x24]
mov dword [eax], eax
mov eax, dword [esp + 0x24]
xor ebx, ebx
mov dword [eax + 8], eax
mov dword [esp + 0x28], ebx
push str.cs_cz
lea ecx, [esp + 0x14]
mov dword [esp + 0x3c], ebx
call fcn.004036e0
lea ecx, [esp + 0x10]
lea edx, [esp + 0x20]
mov byte [esp + 0x38], 1
call fcn.00401c10
mov dword [eax], 0x3e8
mov byte [esp + 0x38], bl
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4012a1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push str.da_dk
lea ecx, [esp + 0x14]
call fcn.004036e0
lea ecx, [esp + 0x10]
lea edx, [esp + 0x20]
mov byte [esp + 0x38], 2
call fcn.00401c10
mov dword [eax], 0x7d0
mov byte [esp + 0x38], bl
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4012eb
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push str.de_de
lea ecx, [esp + 0x14]
call fcn.004036e0
lea ecx, [esp + 0x10]
lea edx, [esp + 0x20]
mov byte [esp + 0x38], 3
call fcn.00401c10
mov dword [eax], 0xbb8
mov byte [esp + 0x38], bl
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x401335
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push str.el_gr
lea ecx, [esp + 0x14]
call fcn.004036e0
lea ecx, [esp + 0x10]
lea edx, [esp + 0x20]
mov byte [esp + 0x38], 4
call fcn.00401c10
mov dword [eax], 0xfa0
mov byte [esp + 0x38], bl
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40137f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push str.en_ca
lea ecx, [esp + 0x14]
call fcn.004036e0
lea ecx, [esp + 0x10]
lea edx, [esp + 0x20]
mov byte [esp + 0x38], 5
call fcn.00401c10
mov dword [eax], 0x1388
mov byte [esp + 0x38], bl
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4013c9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push str.en_gb
lea ecx, [esp + 0x14]
call fcn.004036e0
lea ecx, [esp + 0x10]
lea edx, [esp + 0x20]
mov byte [esp + 0x38], 6
call fcn.00401c10
mov dword [eax], 0x1770
mov byte [esp + 0x38], bl
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x401413
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push str.en_us
lea ecx, [esp + 0x14]
call fcn.004036e0
lea ecx, [esp + 0x10]
lea edx, [esp + 0x20]
mov byte [esp + 0x38], 7
call fcn.00401c10
mov dword [eax], ebx
mov byte [esp + 0x38], bl
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x401459
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push str.es_es
lea ecx, [esp + 0x14]
call fcn.004036e0
lea ecx, [esp + 0x10]
lea edx, [esp + 0x20]
mov byte [esp + 0x38], 8
call fcn.00401c10
mov dword [eax], 0x1b58
mov byte [esp + 0x38], bl
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4014a3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push str.es_us
lea ecx, [esp + 0x14]
call fcn.004036e0
lea ecx, [esp + 0x10]
lea edx, [esp + 0x20]
mov byte [esp + 0x38], 9
call fcn.00401c10
mov dword [eax], 0x61a8
mov byte [esp + 0x38], bl
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4014ed
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push str.fi_fi
lea ecx, [esp + 0x14]
call fcn.004036e0
lea ecx, [esp + 0x10]
lea edx, [esp + 0x20]
mov byte [esp + 0x38], 0xa
call fcn.00401c10
mov dword [eax], 0x1f40
mov byte [esp + 0x38], bl
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x401537
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push str.fr_ca
lea ecx, [esp + 0x14]
call fcn.004036e0
lea ecx, [esp + 0x10]
lea edx, [esp + 0x20]
mov byte [esp + 0x38], 0xb
call fcn.00401c10
mov dword [eax], 0x2328
mov byte [esp + 0x38], bl
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x401581
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push str.fr_fr
lea ecx, [esp + 0x14]
call fcn.004036e0
lea ecx, [esp + 0x10]
lea edx, [esp + 0x20]
mov byte [esp + 0x38], 0xc
call fcn.00401c10
mov dword [eax], 0x2710
mov byte [esp + 0x38], bl
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4015cb
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push str.hu_hu
lea ecx, [esp + 0x14]
call fcn.004036e0
lea ecx, [esp + 0x10]
lea edx, [esp + 0x20]
mov byte [esp + 0x38], 0xd
call fcn.00401c10
mov dword [eax], 0x5dc0
mov byte [esp + 0x38], bl
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x401615
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push str.it_it
lea ecx, [esp + 0x14]
call fcn.004036e0
lea ecx, [esp + 0x10]
lea edx, [esp + 0x20]
mov byte [esp + 0x38], 0xe
call fcn.00401c10
mov dword [eax], 0x2af8
mov byte [esp + 0x38], bl
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40165f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push str.ja_jp
lea ecx, [esp + 0x14]
call fcn.004036e0
lea ecx, [esp + 0x10]
lea edx, [esp + 0x20]
mov byte [esp + 0x38], 0xf
call fcn.00401c10
mov dword [eax], 0x2ee0
mov byte [esp + 0x38], bl
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4016a9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push str.ko_kr
lea ecx, [esp + 0x14]
call fcn.004036e0
lea ecx, [esp + 0x10]
lea edx, [esp + 0x20]
mov byte [esp + 0x38], 0x10
call fcn.00401c10
mov dword [eax], 0x32c8
mov byte [esp + 0x38], bl
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4016f3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push str.nb_no
lea ecx, [esp + 0x14]
call fcn.004036e0
lea ecx, [esp + 0x10]
lea edx, [esp + 0x20]
mov byte [esp + 0x38], 0x11
call fcn.00401c10
mov dword [eax], 0x36b0
mov byte [esp + 0x38], bl
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40173d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push str.nl_nl
lea ecx, [esp + 0x14]
call fcn.004036e0
lea ecx, [esp + 0x10]
lea edx, [esp + 0x20]
mov byte [esp + 0x38], 0x12
call fcn.00401c10
mov dword [eax], 0x3a98
mov byte [esp + 0x38], bl
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x401787
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push str.pl_pl
lea ecx, [esp + 0x14]
call fcn.004036e0
lea ecx, [esp + 0x10]
lea edx, [esp + 0x20]
mov byte [esp + 0x38], 0x13
call fcn.00401c10
mov dword [eax], 0x3e80
mov byte [esp + 0x38], bl
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4017d1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push str.pt_pt
lea ecx, [esp + 0x14]
call fcn.004036e0
lea ecx, [esp + 0x10]
lea edx, [esp + 0x20]
mov byte [esp + 0x38], 0x14
call fcn.00401c10
mov dword [eax], 0x4268
mov byte [esp + 0x38], bl
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40181b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push str.ru_ru
lea ecx, [esp + 0x14]
call fcn.004036e0
lea ecx, [esp + 0x10]
lea edx, [esp + 0x20]
mov byte [esp + 0x38], 0x15
call fcn.00401c10
mov dword [eax], 0x4650
mov byte [esp + 0x38], bl
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x401865
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push str.sl_si
lea ecx, [esp + 0x14]
call fcn.004036e0
lea ecx, [esp + 0x10]
lea edx, [esp + 0x20]
mov byte [esp + 0x38], 0x16
call fcn.00401c10
mov dword [eax], 0x4a38
mov byte [esp + 0x38], bl
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4018af
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push str.sv_se
lea ecx, [esp + 0x14]
call fcn.004036e0
lea ecx, [esp + 0x10]
lea edx, [esp + 0x20]
mov byte [esp + 0x38], 0x17
call fcn.00401c10
mov dword [eax], 0x4e20
mov byte [esp + 0x38], bl
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4018f9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push str.tr_tr
lea ecx, [esp + 0x14]
call fcn.004036e0
lea ecx, [esp + 0x10]
lea edx, [esp + 0x20]
mov byte [esp + 0x38], 0x18
call fcn.00401c10
mov dword [eax], 0x59d8
mov byte [esp + 0x38], bl
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x401943
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push str.zh_cn
lea ecx, [esp + 0x14]
call fcn.004036e0
lea ecx, [esp + 0x10]
lea edx, [esp + 0x20]
mov byte [esp + 0x38], 0x19
call fcn.00401c10
mov dword [eax], 0x5208
mov byte [esp + 0x38], bl
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40198d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push str.zh_tw
lea ecx, [esp + 0x14]
call fcn.004036e0
lea ecx, [esp + 0x10]
lea edx, [esp + 0x20]
mov byte [esp + 0x38], 0x1a
call fcn.00401c10
mov dword [eax], 0x55f0
mov byte [esp + 0x38], bl
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4019d7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
sub eax, 0x10
push eax
call fcn.00402d30
lea edi, [eax + 0x10]
add esp, 4
mov dword [esp + 0x10], edi
mov byte [esp + 0x38], 0x1b
mov esi, dword [edi - 0xc]
mov eax, dword [edi - 8]
mov ecx, 1
sub ecx, dword [edi - 4]
sub eax, esi
or eax, ecx
jge 0x401a16
push esi
lea ecx, [esp + 0x14]
call fcn.004035b0
mov edi, dword [esp + 0x10]
lea edx, [esi + 1]
push edx
push edi
call fcn.004334b6
add esp, 8
cmp esi, ebx
jl 0x401b56
cmp esi, dword [edi - 8]
jg 0x401b56
mov dword [edi - 0xc], esi
mov word [edi + esi*2], bx
lea eax, [esp + 0x18]
push eax
lea ebx, [esp + 0x14]
lea esi, [esp + 0x24]
call fcn.00401cf0
mov esi, dword [eax]
test esi, esi
mov ecx, dword [esp + 0x24]
mov ebx, dword [eax + 4]
mov dword [esp + 0x14], ecx
je 0x401a66
lea edx, [esp + 0x20]
cmp esi, edx
je 0x401a6b
call fcn.004335f3
cmp ebx, dword [esp + 0x14]
je 0x401aee
test esi, esi
jne 0x401a7a
call fcn.004335f3
cmp ebx, dword [esi + 4]
jne 0x401a84
call fcn.004335f3
mov ebx, dword [ebx + 0x10]
add edi, 0xfffffff0
mov byte [esp + 0x38], 0
lea eax, [edi + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x401aa8
mov ecx, dword [edi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push edi
call eax
mov dword [esp + 0x38], 0xffffffff
mov eax, dword [esp + 0x24]
mov edx, dword [eax]
push eax
lea ecx, [esp + 0x24]
push ecx
mov esi, ecx
push edx
push esi
lea ecx, [esp + 0x28]
push ecx
mov edi, esi
call fcn.00402180
mov edx, dword [esp + 0x24]
push edx
call fcn.004175c8
add esp, 4
mov eax, ebx
mov ecx, dword [esp + 0x30]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
add edi, 0xfffffff0
mov byte [esp + 0x38], 0
lea eax, [edi + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x401b0f
mov ecx, dword [edi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push edi
call eax
mov dword [esp + 0x38], 0xffffffff
mov eax, dword [esp + 0x24]
mov edx, dword [eax]
push eax
lea ecx, [esp + 0x24]
push ecx
mov esi, ecx
push edx
push esi
lea ecx, [esp + 0x28]
push ecx
mov edi, esi
call fcn.00402180
mov edx, dword [esp + 0x24]
push edx
call fcn.004175c8
add esp, 4
or eax, 0xffffffff
mov ecx, dword [esp + 0x30]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x80070057
call fcn.00402f90
int3