Function at 0x4210d1
Capabilities:
Identify system language via api

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
cmp dword [0xefc0c8], 0
push ebx
push esi
push edi
setne cl
call fcn.00420997
lea eax, [ebp - 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 0x14], ecx
mov ecx, str.SumatraPDF_settings.txt
mov dword [ebp - 0xc], eax
call fcn.0042205e
mov ebx, eax
lea ecx, [ebp - 0x20]
mov edx, ebx
mov dword [ebp - 4], ebx
call fcn.005b5264
mov edx, dword [ebp - 0x20]
push ecx
mov ecx, 0xccf520
call fcn.005bf85a
mov esi, eax
xor eax, eax
mov dword [0xefc0c8], esi
pop ecx
test esi, esi
jne 0x42113d
mov byte [eax], al
lea edi, [esi + 0x120]
mov edx, dword [edi]
test edx, edx
je 0x421167
mov ecx, 0xe80f00
call fcn.005b1998
test eax, eax
js 0x421167
mov edx, eax
mov ecx, 0xe80f00
call fcn.005b1a14
test eax, eax
jne 0x421175
call fcn.00460f7c
mov edx, eax
mov ecx, edi
call fcn.005b0f34
mov ecx, ebx
call fcn.005b5537
mov ecx, dword [esi + 0x12c]
mov dword [esi + 0x1a8], eax
mov dword [esi + 0x1ac], edx
call fcn.0042b893
movss xmm1, dword [0xed0944]
mov ecx, dword [esi + 0x130]
mov dword [esi + 0x1b0], eax
call fcn.0042b8be
movss dword [esi + 0x1b4], xmm0
call fcn.0042b81b
xor al, 1
mov cl, al
call fcn.00420997
call fcn.00421040
mov ebx, eax
sub ebx, dword [esi + 0x1a4]
call fcn.00421040
mov dword [esi + 0x1a4], eax
test ebx, ebx
jle 0x4211fd
mov eax, dword [esi + 0x190]
mov edx, dword [eax + 0x10]
mov eax, dword [eax + 4]
lea edi, [edx + eax*4]
jmp 0x4211f9
mov eax, dword [edx]
mov ecx, ebx
sar dword [eax + 0xc], cl
add edx, 4
cmp edx, edi
jne 0x4211ef
mov eax, dword [esi + 0x90]
push 0x4210ac
push 4
push dword [eax + 4]
push dword [eax + 0x10]
call fcn.00703b80
add esp, 0x10
xor ebx, ebx
jmp 0x421285
push ebx
mov ecx, eax
call fcn.00421b71
movss xmm0, dword [0xed085c]
comiss xmm0, dword [eax]
jbe 0x4212fd
mov edi, dword [esi + 0x90]
xor eax, eax
cmp eax, dword [edi + 4]
sbb cl, cl
inc cl
call fcn.00420997
xor eax, eax
cmp eax, dword [edi + 4]
sbb cl, cl
inc cl
call fcn.00420997
mov eax, dword [edi + 4]
cmp eax, 1
jbe 0x421277
mov ecx, dword [edi + 0x10]
lea eax, [eax*4 - 4]
push eax
lea eax, [ecx + 4]
push eax
push ecx
call fcn.006f6760
add esp, 0xc
dec dword [edi + 4]
xor ebx, ebx
mov ecx, dword [edi + 4]
mov eax, dword [edi + 0x10]
mov dword [eax + ecx*4], ebx
mov eax, dword [esi + 0x90]
cmp dword [eax + 4], ebx
ja 0x42121c
jmp 0x4212fd
mov ecx, eax
call fcn.00421b47
movss xmm0, dword [eax]
comiss xmm0, dword [0xed09d0]
jbe 0x421308
mov edi, dword [esi + 0x90]
cmp dword [edi + 4], ebx
sete cl
call fcn.00420997
mov ecx, dword [edi + 4]
lea eax, [ecx - 1]
cmp eax, ecx
sbb cl, cl
inc cl
call fcn.00420997
mov eax, dword [edi + 4]
lea ebx, [eax - 1]
cmp ebx, eax
sbb cl, cl
inc cl
call fcn.00420997
mov ecx, dword [edi + 4]
cmp ebx, ecx
jae 0x4212fb
mov eax, dword [edi + 0x10]
dec ecx
lea edx, [eax + ebx*4]
lea ecx, [eax + ecx*4]
cmp edx, ecx
je 0x4212f2
mov eax, dword [ecx]
mov dword [edx], eax
xor ebx, ebx
mov dword [ecx], ebx
dec dword [edi + 4]
jmp 0x4212fd
xor ebx, ebx
mov eax, dword [esi + 0x90]
cmp dword [eax + 4], ebx
ja 0x421292
cmp dword [esi + 0x50], ebx
jge 0x421310
mov dword [esi + 0x50], ebx
cmp dword [esi + 0x48], ebx
jge 0x421318
mov dword [esi + 0x48], ebx
cmp dword [esi + 0x54], ebx
jge 0x421320
mov dword [esi + 0x54], ebx
cmp dword [esi + 0x4c], ebx
jge 0x421328
mov dword [esi + 0x4c], ebx
cmp dword [esi + 0x70], ebx
jge 0x421330
mov dword [esi + 0x70], ebx
cmp dword [esi + 0x68], ebx
jge 0x421338
mov dword [esi + 0x68], ebx
cmp dword [esi + 0x74], ebx
jge 0x421340
mov dword [esi + 0x74], ebx
cmp dword [esi + 0x6c], ebx
jge 0x421348
mov dword [esi + 0x6c], ebx
cmp dword [esi + 0x58], ebx
jge 0x421350
mov dword [esi + 0x58], ebx
cmp dword [esi + 0x5c], ebx
jge 0x421358
mov dword [esi + 0x5c], ebx
cmp dword [esi + 0x78], ebx
jge 0x421360
mov dword [esi + 0x78], ebx
cmp dword [esi + 0x7c], ebx
jge 0x421368
mov dword [esi + 0x7c], ebx
push 0x3c
pop eax
cmp dword [esi + 0x164], eax
jge 0x421379
mov dword [esi + 0x164], eax
cmp dword [esi + 0x15c], ebx
jge 0x421387
mov dword [esi + 0x15c], ebx
cmp dword [esi + 0x158], ebx
jge 0x421395
mov dword [esi + 0x158], ebx
cmp dword [esi + 0x168], ebx
jge 0x4213a3
mov dword [esi + 0x168], ebx
mov eax, dword [esi + 0x160]
push 8
pop ecx
cmp eax, ecx
jl 0x4213b7
push 0x40
pop ecx
cmp eax, ecx
jle 0x4213bd
mov dword [esi + 0x160], ecx
mov eax, dword [esi + 0x190]
mov esi, dword [ebp - 4]
mov ecx, esi
mov dword [0xefc728], eax
call fcn.005b5305
test al, al
jne 0x4213db
call fcn.004216aa
push dword [ebp - 0x20]
call fcn.00702f96
pop ecx
push esi
call fcn.00702f96
pop ecx
lea ecx, [ebp - 0xc]
call fcn.00421b9d
pop edi
pop esi
mov al, 1
pop ebx
leave
ret