Function at 0x48aea8
Capabilities:
Identify system language via api

Disassembly:
push 0x274
mov eax, 0x61705f
call fcn.00524043
mov dword [ebp - 0x264], ecx
mov eax, dword [0x6b5bd0]
test eax, eax
je 0x48b9de
xor ecx, ecx
xor ebx, ebx
inc ecx
push 2
pop edi
cmp byte [0x6b6310], bl
jne 0x48b04a
mov ebx, dword [sym.imp.gdiplus.dll_GdipAlloc]
push 8
mov byte [0x6b6310], cl
call ebx
mov esi, eax
mov dword [ebp - 0x238], esi
test esi, esi
je 0x48af10
and dword [esi], 0
push esi
push 0
push 0x6986d4
call dword [sym.imp.gdiplus.dll_GdipCreateFontFamilyFromName]
mov dword [esi + 4], eax
jmp 0x48af12
xor esi, esi
test esi, esi
je 0x48af30
mov eax, dword [esi + 4]
and dword [esi + 4], 0
test eax, eax
je 0x48af58
push dword [esi]
call dword [sym.imp.gdiplus.dll_GdipDeleteFontFamily]
push esi
call dword [sym.imp.gdiplus.dll_GdipFree]
push 8
call ebx
mov esi, eax
mov dword [ebp - 0x238], esi
test esi, esi
je 0x48af56
and dword [esi], 0
push esi
push 0
push str.Tahoma
call dword [sym.imp.gdiplus.dll_GdipCreateFontFamilyFromName]
mov dword [esi + 4], eax
jmp 0x48af58
xor esi, esi
push 8
call ebx
mov dword [ebp - 0x22c], eax
test eax, eax
je 0x48afa1
and dword [ebp - 0x228], 0
test esi, esi
je 0x48af75
mov eax, dword [esi]
jmp 0x48af77
xor eax, eax
lea ecx, [ebp - 0x228]
push ecx
push edi
push 0
push ecx
mov dword [esp], 0x41400000
push eax
call dword [sym.imp.gdiplus.dll_GdipCreateFont]
mov ecx, dword [ebp - 0x22c]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x228]
mov dword [ecx], eax
push 8
call ebx
mov ebx, eax
mov dword [ebp - 0x238], ebx
test ebx, ebx
je 0x48afe8
and dword [ebp - 0x228], 0
test esi, esi
je 0x48afc0
mov eax, dword [esi]
jmp 0x48afc2
xor eax, eax
lea ecx, [ebp - 0x228]
push ecx
push edi
push 1
push ecx
mov dword [esp], 0x41600000
push eax
call dword [sym.imp.gdiplus.dll_GdipCreateFont]
mov dword [ebx + 4], eax
mov eax, dword [ebp - 0x228]
mov dword [ebx], eax
jmp 0x48afea
xor ebx, ebx
push 8
mov dword [0x6b6314], ebx
call dword [sym.imp.gdiplus.dll_GdipAlloc]
mov ebx, eax
mov dword [ebp - 0x238], ebx
test ebx, ebx
je 0x48b03b
and dword [ebp - 0x228], 0
test esi, esi
je 0x48b013
mov eax, dword [esi]
jmp 0x48b015
xor eax, eax
lea ecx, [ebp - 0x228]
push ecx
push edi
push 1
push ecx
mov dword [esp], 0x41800000
push eax
call dword [sym.imp.gdiplus.dll_GdipCreateFont]
mov dword [ebx + 4], eax
mov eax, dword [ebp - 0x228]
mov dword [ebx], eax
jmp 0x48b03d
xor ebx, ebx
mov eax, dword [0x6b5bd0]
mov dword [0x6b630c], ebx
xor ebx, ebx
lea ecx, [ebp - 0x228]
mov dword [ebp - method.Gdiplus::Bitmap.virtual_0], vtable.Gdiplus::Bitmap.0
push ecx
push ebx
push 0x26200a
push ebx
push dword [0x6b5bc0]
mov dword [ebp - 0x228], ebx
push eax
call dword [sym.imp.gdiplus.dll_GdipCreateBitmapFromScan0]
mov dword [ebp - 0x278], eax
mov eax, dword [ebp - 0x228]
mov dword [ebp - 0x27c], eax
lea ecx, [ebp - 0x22c]
mov dword [ebp - 4], ebx
push ecx
push eax
mov dword [ebp - 0x22c], ebx
call dword [sym.imp.gdiplus.dll_GdipGetImageGraphicsContext]
mov ecx, dword [ebp - 0x22c]
mov esi, eax
mov dword [ebp - 0x234], ecx
push 4
push ecx
call dword [sym.imp.gdiplus.dll_GdipSetSmoothingMode]
test eax, eax
mov dword [ebp - 0x260], ebx
cmovne esi, eax
lea eax, [ebp - 0x260]
push eax
push ebx
push ebx
mov ebx, dword [sym.imp.gdiplus.dll_GdipCreateStringFormat]
mov dword [ebp - 0x230], esi
call ebx
mov dword [ebp - 0x25c], eax
mov edi, dword [sym.imp.gdiplus.dll_GdipSetStringFormatAlign]
xor esi, esi
inc esi
push esi
push dword [ebp - 0x260]
call edi
mov ecx, dword [ebp - 0x25c]
test eax, eax
push esi
push dword [ebp - 0x260]
mov esi, dword [sym.imp.gdiplus.dll_GdipSetStringFormatLineAlign]
cmovne ecx, eax
mov dword [ebp - 0x25c], ecx
call esi
mov ecx, dword [ebp - 0x25c]
test eax, eax
cmovne ecx, eax
lea eax, [ebp - 0x258]
mov dword [ebp - 0x25c], ecx
xor ecx, ecx
push eax
push ecx
push ecx
mov dword [ebp - 0x258], ecx
call ebx
mov dword [ebp - 0x254], eax
push 0
push dword [ebp - 0x258]
call edi
mov ecx, dword [ebp - 0x254]
test eax, eax
push 1
push dword [ebp - 0x258]
cmovne ecx, eax
mov dword [ebp - 0x254], ecx
call esi
mov ecx, dword [ebp - 0x254]
test eax, eax
cmovne ecx, eax
mov dword [ebp - 0x254], ecx
xor ecx, ecx
lea eax, [ebp - 0x250]
mov dword [ebp - 0x250], ecx
push eax
push ecx
push ecx
call ebx
mov dword [ebp - 0x24c], eax
push 0
push dword [ebp - 0x250]
call edi
mov ecx, dword [ebp - 0x24c]
test eax, eax
push 2
pop ebx
push ebx
push dword [ebp - 0x250]
cmovne ecx, eax
mov dword [ebp - 0x24c], ecx
call esi
mov ecx, dword [ebp - 0x24c]
test eax, eax
mov dword [ebp - method.Gdiplus::Brush.virtual_0], 0x6988b4
cmovne ecx, eax
lea eax, [ebp - 0x22c]
push eax
xor esi, esi
mov dword [ebp - 0x24c], ecx
push 0xffffffffffffffff
mov dword [ebp - 0x22c], esi
call dword [sym.imp.gdiplus.dll_GdipCreateSolidFill]
mov dword [ebp - 0x268], eax
mov eax, dword [ebp - 0x22c]
mov dword [ebp - 0x238], eax
mov dword [ebp - 0x26c], eax
mov eax, dword [0x6b5bd0]
mov edx, dword [0x6b5be4]
push 5
mov dword [ebp - 0x240], eax
mov eax, dword [0x6b5bc0]
mov dword [ebp - 0x23c], eax
pop eax
push 3
pop edi
push ecx
push esi
mov dword [ebp - 0x58], eax
lea ecx, [ebp - 0x234]
mov dword [ebp - 0x54], eax
lea eax, [ebp - 0x58]
push 1
push eax
lea eax, [ebp - 0x248]
mov dword [ebp - 0x248], esi
push eax
mov dword [ebp - 0x244], esi
mov dword [ebp - 0x50], edi
mov dword [ebp - 0x4c], 7
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x30], esi
call fcn.0048a969
mov ecx, dword [0x6b59b0]
add esp, 0x14
test ecx, ecx
je 0x48b342
mov eax, dword [0x6b5bd0]
add eax, 0xfffffff6
mov dword [ebp - 0x248], 0x40a00000
push ecx
push ecx
push esi
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
push ecx
mov dword [ebp - 0x244], 0x40400000
addsd xmm0, qword [eax*8 + 0x699e90]
mov eax, dword [0x6b5bc0]
add eax, 0xfffffff6
cvtpd2ps xmm0, xmm0
movss dword [ebp - 0x240], xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x699e90]
cvtpd2ps xmm0, xmm0
movss dword [ebp - 0x23c], xmm0
call fcn.004892bf
push ecx
mov ecx, dword [0x6b59b0]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x699e90]
cvtpd2ps xmm0, xmm0
movss dword [esp], xmm0
call fcn.0048929a
push ecx
push ecx
xorps xmm3, xmm3
lea ecx, [ebp - 0x234]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x699e90]
lea eax, [ebp - 0x248]
cvtpd2ps xmm0, xmm0
movss dword [esp + 4], xmm0
and dword [esp], esi
push eax
push dword [0x6b59b0]
call fcn.004891dd
mov eax, dword [0x6b5bd0]
lea esi, [ebp - 0x248]
mov edx, dword [0x6b6314]
sub esp, 0x10
mov dword [ebp - 0x244], edi
add eax, 0xfffffff6
mov edi, esp
mov dword [ebp - 0x240], eax
mov dword [ebp - 0x248], 0xf
lea eax, [ebp - 0x258]
mov dword [ebp - 0x23c], 0x19
push eax
movsd dword es:[edi], dword [esi]
push ecx
push 0x6b59c0
push 0x32000000
movsd dword es:[edi], dword [esi]
lea ecx, [ebp - 0x234]
push 0xffffffffffffffff
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.0048ad33
add esp, 0x24
cmp byte [0x6b59ae], 0
je 0x48b3b1
xor esi, esi
mov eax, ebx
inc esi
jmp 0x48b3bf
xor eax, eax
cmp byte [0x6b591a], al
push 1
pop esi
cmovne eax, esi
cmp byte [0x6b59ad], 0
jne 0x48b3d3
xor ebx, ebx
cmp byte [0x6b591b], bl
cmovne ebx, esi
mov edx, dword [0x6b5938]
push ecx
push eax
push 3
lea eax, [ebp - 0x3c]
push eax
push 0x6b5980
lea ecx, [ebp - 0x234]
call fcn.0048a969
mov edx, dword [0x6b5bd4]
lea eax, [ebp - 0x3c]
add esp, 0x10
lea ecx, [ebp - 0x234]
push ebx
push 3
push eax
push 0x6b5950
call fcn.0048a969
mov edx, dword [0x6b5bc8]
lea eax, [ebp - 0x3c]
add esp, 0x10
lea ecx, [ebp - 0x234]
xor ebx, ebx
push ebx
push esi
push eax
push 0x6b5be8
call fcn.0048a969
mov edx, dword [0x6b5990]
lea eax, [ebp - 0x3c]
add esp, 0x10
lea ecx, [ebp - 0x234]
push ebx
push esi
push eax
push 0x6b5940
call fcn.0048a969
mov edx, dword [0x6b59b8]
lea eax, [ebp - 0x3c]
add esp, 0x10
lea ecx, [ebp - 0x234]
push ebx
push esi
push eax
push 0x6b599c
call fcn.0048a969
add esp, 0x14
cmp dword [0x6b593c], ebx
jle 0x48b551
mov edx, dword [0x6b5bcc]
lea eax, [ebp - 0x3c]
push ecx
push ebx
push esi
push eax
push 0x6b5970
lea ecx, [ebp - 0x234]
call fcn.0048a969
mov ecx, dword [0x6b5960]
lea edi, [ebp - 0x248]
mov eax, dword [0x6b5968]
mov esi, 0x6b5960
movd xmm0, dword [0x6b593c]
sub eax, ecx
cvtdq2pd xmm0, xmm0
mov edx, dword [0x6b5998]
add esp, 0x10
movsd dword es:[edi], dword [esi]
push ebx
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mulsd xmm1, xmm0
movd xmm0, ecx
lea ecx, [ebp - 0x234]
cvtdq2pd xmm0, xmm0
movsd dword es:[edi], dword [esi]
divsd xmm1, qword [0x699e48]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x240], eax
xor eax, eax
inc eax
push eax
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x248]
push eax
call fcn.0048a969
mov eax, dword [ebp - 0x240]
lea edi, [ebp - 0x58]
mov esi, 0x6b5bf8
mov edx, dword [0x6b59b4]
add esp, 0x10
lea ecx, [ebp - 0x234]
movsd dword es:[edi], dword [esi]
push ebx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x58], eax
add eax, 5
mov dword [ebp - 0x50], eax
xor eax, eax
inc eax
push eax
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x58]
push eax
call fcn.0048a969
add esp, 0x14
lea ecx, [ebp - 0x2c]
call fcn.00461f9f
mov byte [ebp - 4], 6
mov eax, dword fs:[0x2c]
mov ecx, dword [eax]
mov eax, dword [0x6b6370]
cmp eax, dword [ecx + 4]
jle 0x48b598
mov esi, 0x6b6370
push esi
call fcn.00523366
cmp dword [0x6b6370], 0xffffffff
pop ecx
jne 0x48b598
call fcn.0044bc39
push esi
mov byte [0x6b636c], al
call fcn.0052331c
pop ecx
cmp byte [0x6b636c], 0
je 0x48b73e
cmp dword [0x6b59bc], 0
je 0x48b5d3
push 0x698804
lea ecx, [ebp - 0x64]
call fcn.004625ae
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 7
push eax
lea ecx, [ebp - 0x28]
call fcn.00465045
lea ecx, [ebp - 0x64]
jmp 0x48b8f1
cmp dword [0x6b5bc4], 0
push 0x696218
jne 0x48b657
lea ecx, [ebp - 0x9c]
call fcn.004625ae
push 0xa
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x80]
push dword [0x6b593c]
call fcn.004621d5
push str.ck_W_vN
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 9
call fcn.004625ae
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0xa
push eax
lea ecx, [ebp - 0x28]
call fcn.0044f15c
lea eax, [ebp - 0x7c]
push eax
lea ecx, [ebp - 0x28]
call fcn.0044f15c
lea eax, [ebp - 0x98]
push eax
lea ecx, [ebp - 0x28]
call fcn.0044f15c
lea ecx, [ebp - 0x48]
call fcn.00462a54
lea ecx, [ebp - 0x80]
call fcn.00462a54
lea ecx, [ebp - 0x9c]
jmp 0x48b8f1
lea ecx, [ebp - 0x128]
call fcn.004625ae
push 0xa
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x10c]
push dword [0x6b593c]
call fcn.004621d5
push 0x6987f8
lea ecx, [ebp - 0xf0]
mov byte [ebp - 4], 0xc
call fcn.004624d4
push 0xa
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0xd4]
push dword [0x6b5bc4]
call fcn.004621d5
push 0x6987dc
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0xe
call fcn.004625ae
lea eax, [ebp - 0xb4]
mov byte [ebp - 4], 0xf
push eax
lea ecx, [ebp - 0x28]
call fcn.0044f15c
lea eax, [ebp - 0xd0]
push eax
lea ecx, [ebp - 0x28]
call fcn.0044f15c
lea eax, [ebp - 0xec]
push eax
lea ecx, [ebp - 0x28]
call fcn.0044f15c
lea eax, [ebp - 0x108]
push eax
lea ecx, [ebp - 0x28]
call fcn.0044f15c
lea eax, [ebp - 0x124]
push eax
lea ecx, [ebp - 0x28]
call fcn.0044f15c
lea ecx, [ebp - 0xb8]
call fcn.00462a54
lea ecx, [ebp - 0xd4]
call fcn.00462a54
lea ecx, [ebp - 0xf0]
call fcn.00462a54
lea ecx, [ebp - 0x10c]
call fcn.00462a54
lea ecx, [ebp - 0x128]
jmp 0x48b8f1
cmp dword [0x6b59bc], 0
je 0x48b775
push str.Download_Failed...
lea ecx, [ebp - 0x144]
call fcn.004625ae
lea eax, [ebp - 0x140]
mov byte [ebp - 4], 0x10
push eax
lea ecx, [ebp - 0x28]
call fcn.00465045
lea ecx, [ebp - 0x144]
jmp 0x48b8f1
cmp dword [0x6b5bc4], 0
push 0x696218
jne 0x48b80f
lea ecx, [ebp - 0x198]
call fcn.004625ae
push 0xa
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x17c]
push dword [0x6b593c]
call fcn.004621d5
push str.Downloading...
lea ecx, [ebp - 0x160]
mov byte [ebp - 4], 0x12
call fcn.004625ae
lea eax, [ebp - 0x15c]
mov byte [ebp - 4], 0x13
push eax
lea ecx, [ebp - 0x28]
call fcn.0044f15c
lea eax, [ebp - 0x178]
push eax
lea ecx, [ebp - 0x28]
call fcn.0044f15c
lea eax, [ebp - 0x194]
push eax
lea ecx, [ebp - 0x28]
call fcn.0044f15c
lea ecx, [ebp - 0x160]
call fcn.00462a54
lea ecx, [ebp - 0x17c]
call fcn.00462a54
lea ecx, [ebp - 0x198]
jmp 0x48b8f1
lea ecx, [ebp - 0x224]
call fcn.004625ae
push 0xa
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x208]
push dword [0x6b593c]
call fcn.004621d5
push str._time...
lea ecx, [ebp - 0x1ec]
mov byte [ebp - 4], 0x15
call fcn.004624d4
push 0xa
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x1d0]
push dword [0x6b5bc4]
call fcn.004621d5
push str.Check_file_failed_retry
lea ecx, [ebp - 0x1b4]
mov byte [ebp - 4], 0x17
call fcn.004625ae
lea eax, [ebp - 0x1b0]
mov byte [ebp - 4], 0x18
push eax
lea ecx, [ebp - 0x28]
call fcn.0044f15c
lea eax, [ebp - 0x1cc]
push eax
lea ecx, [ebp - 0x28]
call fcn.0044f15c
lea eax, [ebp - 0x1e8]
push eax
lea ecx, [ebp - 0x28]
call fcn.0044f15c
lea eax, [ebp - 0x204]
push eax
lea ecx, [ebp - 0x28]
call fcn.0044f15c
lea eax, [ebp - 0x220]
push eax
lea ecx, [ebp - 0x28]
call fcn.0044f15c
lea ecx, [ebp - 0x1b4]
call fcn.00462a54
lea ecx, [ebp - 0x1d0]
call fcn.00462a54
lea ecx, [ebp - 0x1ec]
call fcn.00462a54
lea ecx, [ebp - 0x208]
call fcn.00462a54
lea ecx, [ebp - 0x224]
call fcn.00462a54
mov eax, dword [0x6b5be8]
lea esi, [ebp - 0x248]
mov dword [ebp - 0x248], eax
lea ecx, [ebp - 0x250]
mov eax, dword [0x6b5bec]
add eax, 0xffffffdd
mov edx, dword [0x6b630c]
mov dword [ebp - 0x244], eax
mov eax, dword [0x6b5bd0]
add eax, 0xffffffb5
mov dword [ebp - 0x23c], 0x19
cmp dword [ebp - 0x14], 8
mov dword [ebp - 0x240], eax
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
sub esp, 0x10
mov edi, esp
push ecx
movsd dword es:[edi], dword [esi]
push ecx
push eax
push 0x32000000
movsd dword es:[edi], dword [esi]
lea ecx, [ebp - 0x234]
push 0xffffffffffffffff
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.0048ad33
add esp, 0x24
mov dword [ebp - 0x22c], ebx
lea eax, [ebp - 0x22c]
push eax
push dword [ebp - 0x264]
call dword [sym.imp.gdiplus.dll_GdipCreateFromHDC]
mov esi, dword [ebp - 0x22c]
push ebx
push ebx
mov ebx, dword [ebp - 0x228]
push ebx
push esi
call dword [sym.imp.gdiplus.dll_GdipDrawImageI]
mov edi, dword [sym.imp.gdiplus.dll_GdipDeleteGraphics]
push esi
call edi
lea ecx, [ebp - 0x2c]
call fcn.00462a54
push dword [ebp - 0x238]
call dword [sym.imp.gdiplus.dll_GdipDeleteBrush]
push dword [ebp - 0x250]
mov esi, dword [sym.imp.gdiplus.dll_GdipDeleteStringFormat]
call esi
push dword [ebp - 0x258]
call esi
push dword [ebp - 0x260]
call esi
push dword [ebp - 0x234]
call edi
push ebx
call dword [sym.imp.gdiplus.dll_GdipDisposeImage]
call fcn.00523fed
ret