Function at 0x4011f0
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x46a2b8
mov eax, dword fs:[0]
push eax
sub esp, 0x20
push ebx
push esi
push edi
mov eax, dword [0x486668]
xor eax, esp
push eax
lea eax, [esp + 0x30]
mov dword fs:[0], eax
call fcn.0040ce30
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 0x477610
lea ecx, [esp + 0x14]
mov dword [esp + 0x3c], ebx
call fcn.00403710
lea ecx, [esp + 0x10]
lea edx, [esp + 0x20]
mov byte [esp + 0x38], 1
call fcn.00401c40
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 0x401291
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.00403710
lea ecx, [esp + 0x10]
lea edx, [esp + 0x20]
mov byte [esp + 0x38], 2
call fcn.00401c40
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 0x4012db
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.00403710
lea ecx, [esp + 0x10]
lea edx, [esp + 0x20]
mov byte [esp + 0x38], 3
call fcn.00401c40
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 0x401325
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.00403710
lea ecx, [esp + 0x10]
lea edx, [esp + 0x20]
mov byte [esp + 0x38], 4
call fcn.00401c40
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 0x40136f
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.00403710
lea ecx, [esp + 0x10]
lea edx, [esp + 0x20]
mov byte [esp + 0x38], 5
call fcn.00401c40
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 0x4013b9
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.00403710
lea ecx, [esp + 0x10]
lea edx, [esp + 0x20]
mov byte [esp + 0x38], 6
call fcn.00401c40
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 0x401403
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.00403710
lea ecx, [esp + 0x10]
lea edx, [esp + 0x20]
mov byte [esp + 0x38], 7
call fcn.00401c40
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 0x40144d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push str.en_II
lea ecx, [esp + 0x14]
call fcn.00403710
lea ecx, [esp + 0x10]
lea edx, [esp + 0x20]
mov byte [esp + 0x38], 8
call fcn.00401c40
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 0x401493
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.00403710
lea ecx, [esp + 0x10]
lea edx, [esp + 0x20]
mov byte [esp + 0x38], 9
call fcn.00401c40
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 0x4014dd
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.00403710
lea ecx, [esp + 0x10]
lea edx, [esp + 0x20]
mov byte [esp + 0x38], 0xa
call fcn.00401c40
mov dword [eax], 0x6590
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 0x401527
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.00403710
lea ecx, [esp + 0x10]
lea edx, [esp + 0x20]
mov byte [esp + 0x38], 0xb
call fcn.00401c40
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 0x401571
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.00403710
lea ecx, [esp + 0x10]
lea edx, [esp + 0x20]
mov byte [esp + 0x38], 0xc
call fcn.00401c40
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 0x4015bb
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.00403710
lea ecx, [esp + 0x10]
lea edx, [esp + 0x20]
mov byte [esp + 0x38], 0xd
call fcn.00401c40
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 0x401605
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.00403710
lea ecx, [esp + 0x10]
lea edx, [esp + 0x20]
mov byte [esp + 0x38], 0xe
call fcn.00401c40
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 0x40164f
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.00403710
lea ecx, [esp + 0x10]
lea edx, [esp + 0x20]
mov byte [esp + 0x38], 0xf
call fcn.00401c40
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 0x401699
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.00403710
lea ecx, [esp + 0x10]
lea edx, [esp + 0x20]
mov byte [esp + 0x38], 0x10
call fcn.00401c40
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 0x4016e3
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.00403710
lea ecx, [esp + 0x10]
lea edx, [esp + 0x20]
mov byte [esp + 0x38], 0x11
call fcn.00401c40
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 0x40172d
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.00403710
lea ecx, [esp + 0x10]
lea edx, [esp + 0x20]
mov byte [esp + 0x38], 0x12
call fcn.00401c40
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 0x401777
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.00403710
lea ecx, [esp + 0x10]
lea edx, [esp + 0x20]
mov byte [esp + 0x38], 0x13
call fcn.00401c40
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 0x4017c1
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.00403710
lea ecx, [esp + 0x10]
lea edx, [esp + 0x20]
mov byte [esp + 0x38], 0x14
call fcn.00401c40
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 0x40180b
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.00403710
lea ecx, [esp + 0x10]
lea edx, [esp + 0x20]
mov byte [esp + 0x38], 0x15
call fcn.00401c40
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 0x401855
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.00403710
lea ecx, [esp + 0x10]
lea edx, [esp + 0x20]
mov byte [esp + 0x38], 0x16
call fcn.00401c40
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 0x40189f
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.00403710
lea ecx, [esp + 0x10]
lea edx, [esp + 0x20]
mov byte [esp + 0x38], 0x17
call fcn.00401c40
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 0x4018e9
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.00403710
lea ecx, [esp + 0x10]
lea edx, [esp + 0x20]
mov byte [esp + 0x38], 0x18
call fcn.00401c40
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 0x401933
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.00403710
lea ecx, [esp + 0x10]
lea edx, [esp + 0x20]
mov byte [esp + 0x38], 0x19
call fcn.00401c40
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 0x40197d
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.00403710
lea ecx, [esp + 0x10]
lea edx, [esp + 0x20]
mov byte [esp + 0x38], 0x1a
call fcn.00401c40
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 0x4019c7
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.00403710
lea ecx, [esp + 0x10]
lea edx, [esp + 0x20]
mov byte [esp + 0x38], 0x1b
call fcn.00401c40
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 0x401a11
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.00402cb0
lea edi, [eax + 0x10]
add esp, 4
mov dword [esp + 0x10], edi
mov byte [esp + 0x38], 0x1c
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 0x401a50
push esi
lea ecx, [esp + 0x14]
call fcn.004035e0
mov edi, dword [esp + 0x10]
lea edx, [esi + 1]
push edx
push edi
call fcn.0042f045
add esp, 8
cmp esi, ebx
jl 0x401b90
cmp esi, dword [edi - 8]
jg 0x401b90
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.00401d20
mov esi, dword [eax]
test esi, esi
mov ecx, dword [esp + 0x24]
mov ebx, dword [eax + 4]
mov dword [esp + 0x14], ecx
je 0x401aa0
lea edx, [esp + 0x20]
cmp esi, edx
je 0x401aa5
call fcn.0042f182
cmp ebx, dword [esp + 0x14]
je 0x401b28
test esi, esi
jne 0x401ab4
call fcn.0042f182
cmp ebx, dword [esi + 4]
jne 0x401abe
call fcn.0042f182
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 0x401ae2
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.00402110
mov edx, dword [esp + 0x24]
push edx
call fcn.00413dbc
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 0x401b49
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.00402110
mov edx, dword [esp + 0x24]
push edx
call fcn.00413dbc
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.00402b50
int3