Function at 0x431100
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x48dfeb
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x2ac
mov eax, dword [0x4aff10]
push ebx
push ebp
push esi
xor esi, esi
xor ebp, ebp
mov dword [esp + 0x2b4], eax
push edi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], esi
push esi
lea eax, [esp + 0x30]
push eax
push str.UI_Multiple_Language
mov dword [esp + 0x2d0], esi
call fcn.00437910
mov eax, dword [esp + 0x38]
add esp, 0xc
cmp eax, esi
jne 0x431190
mov ecx, dword [esp + 0x2d0]
mov edx, dword [esp + 0x2cc]
push ecx
push edx
push str.UI_LanguageDefault
call fcn.00437b70
add esp, 0xc
test eax, eax
je 0x431543
mov eax, 1
jmp 0x431568
cmp eax, 1
jne 0x4315f1
mov eax, dword [esp + 0x2d0]
mov edi, dword [esp + 0x2cc]
push eax
push edi
call fcn.00433cd0
push edi
call dword [sym.imp.MSVCR71.dll__wcsupr]
add esp, 0xc
mov ecx, 0x4b0d98
call fcn.00430cf0
mov edi, dword [0x4b0d9c]
cmp edi, esi
mov ecx, dword [0x4b0da0]
jne 0x4311d8
mov dword [esp + 0x14], esi
jmp 0x4311f0
mov edx, ecx
sub edx, edi
mov eax, 0x2aaaaaab
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
xor ebx, ebx
test eax, eax
jle 0x431263
xor ebp, ebp
jmp 0x431210
mov ecx, dword [0x4b0da0]
mov edi, dword [0x4b0d9c]
lea ebx, [ebx]
test ebp, ebp
jl 0x431237
test edi, edi
jne 0x43121c
xor eax, eax
jmp 0x43122e
sub ecx, edi
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebx, eax
jge 0x431237
mov edi, dword [edi + ebp]
jmp 0x431239
xor edi, edi
mov ecx, dword [esp + 0x2cc]
push ecx
push edi
call dword [sym.imp.MSVCR71.dll__wcsicmp]
add esp, 8
test eax, eax
je 0x431329
mov eax, dword [esp + 0x14]
inc ebx
add ebp, 0xc
cmp ebx, eax
jl 0x4311fe
mov ebp, dword [esp + 0x1c]
push 0x104
lea eax, [esp + 0xb4]
push eax
push str.UI_LanguageExt
call fcn.00437b70
add esp, 0xc
test eax, eax
je 0x43136e
lea ecx, [esp + 0xb0]
push ecx
call dword [sym.imp.MSVCR71.dll_wcslen]
add esp, 4
test eax, eax
jle 0x43136e
mov ebx, dword [sym.imp.MSVCR71.dll_wcsncpy]
dec eax
shr eax, 3
inc eax
lea edi, [esp + 0xb8]
mov dword [esp + 0x10], eax
push 3
lea edx, [edi - 8]
push edx
lea eax, [esp + 0x98]
push eax
call ebx
push 3
lea ecx, [esp + 0xb0]
push edi
push ecx
mov word [esp + 0xae], 0
call ebx
add esp, 0x18
add edi, 0x10
test ebp, ebp
mov word [esp + 0xa6], 0
je 0x431348
mov ecx, dword [esp + 0x24]
mov eax, esi
sub eax, ebp
sub ecx, ebp
sar eax, 5
sar ecx, 5
cmp eax, ecx
jae 0x431348
mov edx, dword [esp + 0x28]
push edx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x98]
push ecx
push 1
push esi
call fcn.0042e980
add esp, 0x14
add esi, 0x20
mov dword [esp + 0x20], esi
jmp 0x431364
mov edx, dword [esp + 0x2cc]
push edx
push str.UI_Language
call fcn.00437be0
add esp, 8
mov eax, 1
jmp 0x431568
lea edx, [esp + 0x90]
push edx
push 1
push esi
lea ecx, [esp + 0x24]
call fcn.0042f970
mov esi, dword [esp + 0x20]
mov ebp, dword [esp + 0x1c]
dec dword [esp + 0x10]
jne 0x4312b4
mov eax, dword [0x498924]
mov ecx, dword [0x498928]
xor edx, edx
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x48], edx
mov dword [esp + 0x4c], edx
mov dword [esp + 0x58], edx
mov dword [esp + 0x5c], edx
mov dword [esp + 0x30], eax
mov eax, dword [0x49891c]
mov dword [esp + 0x68], edx
mov dword [esp + 0x6c], edx
mov edx, dword [0x498914]
mov dword [esp + 0x40], eax
mov eax, dword [0x49890c]
mov dword [esp + 0x34], ecx
mov ecx, dword [0x498920]
mov dword [esp + 0x70], edx
mov edx, dword [0x498918]
mov dword [esp + 0x50], eax
mov eax, dword [0x498904]
mov dword [esp + 0x44], ecx
mov ecx, dword [0x498910]
mov dword [esp + 0x74], edx
mov dword [esp + 0x60], eax
xor edx, edx
mov dword [esp + 0x80], eax
xor eax, eax
mov dword [esp + 0x54], ecx
mov ecx, dword [0x498908]
mov dword [esp + 0x78], edx
mov dword [esp + 0x88], eax
mov dword [esp + 0x64], ecx
mov dword [esp + 0x7c], edx
mov dword [esp + 0x84], ecx
mov dword [esp + 0x8c], eax
lea edi, [esp + 0x30]
mov dword [esp + 0x10], 3
test ebp, ebp
je 0x43145b
mov ecx, dword [esp + 0x24]
mov eax, esi
sub eax, ebp
sub ecx, ebp
sar eax, 5
sar ecx, 5
cmp eax, ecx
jae 0x43145b
push ebx
lea ecx, [esp + 0x1c]
push ecx
push edi
push 1
push esi
call fcn.0042e980
add esp, 0x14
add esi, 0x20
mov dword [esp + 0x20], esi
jmp 0x431470
push edi
push 1
push esi
lea ecx, [esp + 0x24]
call fcn.0042f970
mov esi, dword [esp + 0x20]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
add edi, 0x20
dec eax
mov dword [esp + 0x10], eax
jne 0x431428
test ebp, ebp
jne 0x431486
xor ebx, ebx
jmp 0x43148d
sub esi, ebp
sar esi, 5
mov ebx, esi
xor esi, esi
test ebx, ebx
jle 0x4314b3
mov edi, ebp
mov edx, dword [esp + 0x2cc]
push edx
push edi
call dword [sym.imp.MSVCR71.dll__wcsicmp]
add esp, 8
test eax, eax
je 0x4314ee
inc esi
add edi, 0x20
cmp esi, ebx
jl 0x431495
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLCID]
mov ecx, eax
mov eax, dword [esp + 0x14]
and ecx, 0xff
xor esi, esi
test eax, eax
mov dword [esp + 0x28], ecx
jle 0x431541
mov edi, dword [0x4b0d9c]
mov ebx, dword [0x4b0da0]
lea eax, [edi + 8]
mov dword [esp + 0x10], eax
test esi, esi
jl 0x431521
test edi, edi
jne 0x4314fc
xor eax, eax
jmp 0x431514
shl esi, 5
add esi, ebp
add esi, 0x10
push esi
jmp 0x4315be
mov ecx, ebx
sub ecx, edi
mov eax, 0x2aaaaaab
imul ecx
mov ecx, dword [esp + 0x28]
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp esi, eax
jge 0x431521
mov edx, dword [esp + 0x10]
mov ax, word [edx]
jmp 0x431523
xor eax, eax
and eax, 0xff
cmp ax, cx
je 0x43158d
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
inc esi
add edx, 0xc
cmp esi, eax
mov dword [esp + 0x10], edx
jl 0x4314e2
xor esi, esi
mov eax, dword [esp + 0x2cc]
push 0x4988fc
push eax
call dword [sym.imp.MSVCR71.dll_wcscpy]
add esp, 8
cmp ebp, esi
je 0x431566
push ebp
call sub.MSVCR71.dll_void___cdecl_operator_delete_void__
add esp, 4
xor eax, eax
mov ecx, dword [esp + 0x2bc]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
mov ecx, dword [esp + 0x2ac]
pop ebx
call fcn.004877c7
add esp, 0x2b8
ret
test esi, esi
jl 0x4315bb
test edi, edi
jne 0x431599
xor eax, eax
jmp 0x4315ad
sub ebx, edi
mov ecx, ebx
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp esi, eax
jge 0x4315bb
lea eax, [esi + esi*2]
lea eax, [edi + eax*4]
mov eax, dword [eax]
jmp 0x4315bd
xor eax, eax
push eax
mov esi, dword [esp + 0x2d0]
push esi
call dword [sym.imp.MSVCR71.dll_wcscpy]
push esi
push str.UI_Language
call fcn.00437be0
add esp, 0x10
test ebp, ebp
je 0x4315e7
push ebp
call sub.MSVCR71.dll_void___cdecl_operator_delete_void__
add esp, 4
mov eax, 1
jmp 0x431568
cmp eax, 2
jne 0x431543
mov ecx, dword [esp + 0x2d0]
mov edx, dword [esp + 0x2cc]
push ecx
push edx
push str.UI_Language
call fcn.00437b70
add esp, 0xc
test eax, eax
je 0x431543
lea ecx, [esp + 0x18]
call fcn.0043cac0
mov eax, 1
jmp 0x431568