Function at 0x1400519d0
Capabilities:
Check for time delay via gettickcount

Disassembly:
mov rax, rsp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x150
mov qword [rsp + 0x110], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
mov rax, qword [0x14010bfc0]
xor rax, rsp
mov qword [rsp + 0x140], rax
mov r12, rcx
xor ebp, ebp
cmp qword [rcx + 0x308], rbp
je 0x140051a2c
cmp qword [rcx + 0x340], rbp
je 0x140051a2c
lea eax, [rbp + 1]
jmp 0x1400524a5
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [rsp + 0x60], eax
mov r9d, eax
lea r8, str.Start_languages__lu_n
mov edx, 2
lea r15, [0x14010f570]
mov rcx, r15
call fcn.140001000
mov esi, 0x10000
mov rcx, rsi
call fcn.140061284
mov r13, rax
mov qword [rsp + 0x80], rax
cmp rax, rbp
jne 0x140051a8c
lea r8, str.Failed_to_alloc_memory_for_languages_in_this_CD
mov edx, 0x400
mov rcx, r15
call fcn.140001000
xor eax, eax
jmp 0x1400524a5
mov byte [rax], bpl
mov dword [rsp + 0x40], 0x756e65
cmp qword [r12 + 0x388], rbp
jne 0x140051c89
mov rcx, rsi
call fcn.140061284
mov rdi, rax
cmp rax, rbp
jne 0x140051ac4
mov rcx, r13
call fcn.14006127c
xor eax, eax
jmp 0x1400524a5
mov byte [rax], bpl
mov byte [rax + 1], bpl
mov rax, qword [r12 + 0x2c8]
mov rcx, qword [rax]
mov qword [rsp + 0x58], rcx
mov rax, qword [r12 + 0x2a0]
mov qword [rsp + 0x50], rax
movaps xmm0, xmmword [rsp + 0x50]
movdqa xmmword [rsp + 0x50], xmm0
mov rsi, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x58]
mov r14, qword [r12 + 0x2c8]
cmp rsi, rbp
je 0x140051b14
cmp rsi, qword [r12 + 0x2a0]
je 0x140051b19
call fcn.14009861c
cmp rbx, r14
je 0x140051c77
cmp rsi, rbp
jne 0x140051b31
call fcn.14009861c
mov r11, rbp
jmp 0x140051b34
mov r11, qword [rsi]
cmp rbx, qword [r11 + 0x28]
jne 0x140051b3f
call fcn.14009861c
cmp qword [rbx + 0x30], 0x10
jb 0x140051b4c
mov rcx, qword [rbx + 0x18]
jmp 0x140051b50
lea rcx, [rbx + 0x18]
mov r14d, 0x10000
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], rdi
lea r9, str.LanguagesInthisCD
xor r8d, r8d
lea rdx, str.Version
call fcn.14005a2ec
cmp eax, ebp
je 0x140051c4a
mov r8, rdi
mov rdx, r14
mov rcx, r13
call fcn.140098ed8
lea r8, [0x1400d50b0]
mov rdx, r14
mov rcx, r13
call fcn.140098ed8
cmp rsi, rbp
jne 0x140051bad
call fcn.14009861c
mov r11, rbp
jmp 0x140051bb0
mov r11, qword [rsi]
cmp rbx, qword [r11 + 0x28]
jne 0x140051bbb
call fcn.14009861c
cmp qword [rbx + 0x30], 0x10
jb 0x140051bc8
mov rcx, qword [rbx + 0x18]
jmp 0x140051bcc
lea rcx, [rbx + 0x18]
mov dword [rsp + 0x28], 4
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
lea r9, str.DefaultLanguageInThisRelease
xor r8d, r8d
lea rdx, str.Version
call fcn.14005a2ec
cmp eax, ebp
je 0x140051c1d
cmp rsi, rbp
jne 0x140051c07
call fcn.14009861c
mov r11, rbp
jmp 0x140051c0a
mov r11, qword [rsi]
cmp rbx, qword [r11 + 0x28]
jne 0x140051c15
call fcn.14009861c
mov rbx, qword [rbx]
jmp 0x140051afd
lea r8, str.GetValueByQualifier__tf__c_str_____T_Version____T_DefaultLanguageInThisRelease_
lea rdx, str._s_failed_n
mov rcx, r15
call fcn.14004b7ec
mov rcx, r13
call fcn.14006127c
mov rcx, rdi
call fcn.14006127c
xor eax, eax
jmp 0x1400524a5
lea r8, str.GetValueByQualifier__tf__c_str_____T_Version____T_LanguagesInthisCD_
lea rdx, str._s_failed_n
mov rcx, r15
call fcn.14004b7ec
mov rcx, r13
call fcn.14006127c
mov rcx, rdi
call fcn.14006127c
xor eax, eax
jmp 0x1400524a5
mov rcx, rdi
call fcn.14006127c
mov esi, 0x10000
jmp 0x140051d4c
cmp qword [r12 + 0x390], 0x10
jb 0x140051c9e
mov r8, qword [r12 + 0x378]
jmp 0x140051ca6
lea r8, [r12 + 0x378]
mov rdx, rsi
mov rcx, rax
call fcn.140098ed8
mov rax, qword [r12 + 0x2c8]
mov rbx, qword [rax]
mov r11, qword [r12 + 0x2a0]
cmp r11, rbp
jne 0x140051cd3
call fcn.14009861c
mov r11, rbp
jmp 0x140051cd6
mov r11, qword [r11]
cmp rbx, qword [r11 + 0x28]
jne 0x140051ce1
call fcn.14009861c
cmp qword [rbx + 0x30], 0x10
jb 0x140051cee
mov rcx, qword [rbx + 0x18]
jmp 0x140051cf2
lea rcx, [rbx + 0x18]
mov eax, 0x800
mov word [rsp + 0x28], ax
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x40]
lea r8, str.DefaultLanguageInThisRelease
lea rdx, str.Version
call fcn.14005ad18
mov ecx, ebp
cmp eax, ebp
setne cl
cmp ecx, ebp
jne 0x140051d4c
lea r8, str.GetValueByLang__t_insFileList.begin____c_str_____T_Version____T_DefaultLanguageInThisRelease_
lea rdx, str._s_failed_n
mov rcx, r15
call fcn.14004b7ec
mov rcx, r13
call fcn.14006127c
xor eax, eax
jmp 0x1400524a5
mov rdx, rsi
mov rcx, r13
call fcn.1400990e0
mov edx, 4
lea rcx, [rsp + 0x40]
call fcn.1400990e0
lea rcx, [rsp + 0x40]
call fcn.1400980d0
lea rcx, [r12 + 0x348]
mov r8, rax
lea rdx, [rsp + 0x40]
call fcn.14000352c
mov rcx, rsi
call fcn.140061284
mov rdi, rax
mov qword [rsp + 0xe8], rax
cmp rax, rbp
jne 0x140051db6
lea r8, str.Failed_to_allocate_memory_for_pSection
mov edx, 0x400
mov rcx, r15
call fcn.140001000
jmp 0x14005249b
mov rax, qword [r12 + 0x2c8]
mov rcx, qword [rax]
mov qword [rsp + 0x78], rcx
mov rax, qword [r12 + 0x2a0]
mov qword [rsp + 0x70], rax
movaps xmm0, xmmword [rsp + 0x70]
movdqa xmmword [rsp + 0x50], xmm0
mov r15, qword [rsp + 0x58]
mov r14, qword [rsp + 0x50]
mov rbx, qword [r12 + 0x2c8]
cmp r14, rbp
je 0x140051dff
cmp r14, qword [r12 + 0x2a0]
je 0x140051e04
call fcn.14009861c
cmp r15, rbx
je 0x140052461
mov byte [rdi], bpl
mov byte [rdi + 1], bpl
mov ecx, 8
call fcn.140061238
cmp rax, rbp
je 0x140051e30
lea rcx, [rsp + 0xb0]
mov qword [rax], rcx
jmp 0x140051e33
mov rax, rbp
mov qword [rsp + 0xb0], rax
lea rcx, [rsp + 0xb0]
call fcn.140005ed4
mov qword [rsp + 0xd8], rax
mov qword [rsp + 0xe0], rbp
cmp r14, rbp
jne 0x140051e67
call fcn.14009861c
mov r11, rbp
jmp 0x140051e6a
mov r11, qword [r14]
cmp r15, qword [r11 + 0x28]
jne 0x140051e75
call fcn.14009861c
cmp qword [r15 + 0x30], 0x10
jb 0x140051e82
mov rcx, qword [r15 + 0x18]
jmp 0x140051e86
lea rcx, [r15 + 0x18]
mov dword [rsp + 0x20], esi
mov r9, rdi
xor r8d, r8d
lea rdx, str.LanguageMap
call fcn.14005ae38
mov rsi, rdi
mov qword [rsp + 0x138], reloc.OLEAUT32.dll_SafeArrayDestroy
mov qword [rsp + 0x130], rbp
mov byte [rsp + 0x120], bpl
mov rcx, rsi
call fcn.1400980d0
mov r8, rax
mov rdx, rsi
lea rcx, [rsp + 0x118]
call fcn.14000352c
nop
mov rax, qword [rsp + 0xd8]
mov rdi, qword [rax]
lea r9, [rsp + 0x118]
mov r8, qword [rdi + 8]
mov rdx, rdi
lea rcx, [rsp + 0xb0]
call fcn.14000739c
mov rbx, rax
mov edx, 1
lea rcx, [rsp + 0xb0]
call fcn.1400064b0
mov qword [rdi + 8], rbx
mov rax, qword [rbx + 8]
mov qword [rax], rbx
cmp qword [rsp + 0x138], 0x10
jb 0x140051f36
mov rcx, qword [rsp + 0x120]
call fcn.14006127c
cmp byte [rsi], bpl
je 0x140051f50
mov rcx, rsi
call fcn.1400994b0
mov rsi, rax
cmp byte [rax], bpl
jne 0x140051f3b
cmp byte [rax], bpl
jne 0x140051f56
cmp byte [rsi + 1], bpl
je 0x140051f5e
inc rsi
jmp 0x140051e9f
mov rdi, qword [rsp + 0xd8]
mov rax, qword [rdi]
mov qword [rsp + 0x108], rax
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0x100], rax
movaps xmm0, xmmword [rsp + 0x100]
movdqa xmmword [rsp + 0xf0], xmm0
mov r13, qword [rsp + 0xf0]
mov rbx, qword [rsp + 0xf8]
mov qword [rsp + 0x70], rbx
cmp r13, rbp
je 0x140051fb1
cmp r13, rax
je 0x140051fb6
call fcn.14009861c
cmp rbx, rdi
je 0x1400523fb
mov dword [rsp + 0x44], 0x787878
cmp r13, rbp
jne 0x140051fd6
call fcn.14009861c
mov r11, rbp
jmp 0x140051fda
mov r11, qword [r13]
cmp rbx, qword [r11 + 0x28]
jne 0x140051fe5
call fcn.14009861c
lea r14, [rbx + 0x10]
cmp qword [r14 + 0x20], 0x10
jb 0x140051ff6
mov rdi, qword [r14 + 8]
jmp 0x140051ffa
lea rdi, [r14 + 8]
mov rax, qword [rsp + 0x50]
cmp rax, rbp
jne 0x14005200e
call fcn.14009861c
mov r11, rbp
jmp 0x140052011
mov r11, qword [rax]
cmp r15, qword [r11 + 0x28]
jne 0x14005201c
call fcn.14009861c
cmp qword [r15 + 0x30], 0x10
jb 0x140052029
mov rcx, qword [r15 + 0x18]
jmp 0x14005202d
lea rcx, [r15 + 0x18]
mov esi, 4
mov dword [rsp + 0x20], esi
lea r9, [rsp + 0x44]
mov r8, rdi
lea rdx, str.LanguageMap
call fcn.14005ae38
mov rdx, rsi
lea rcx, [rsp + 0x44]
call fcn.1400990e0
mov qword [rsp + 0x138], reloc.OLEAUT32.dll_SafeArrayDestroy
mov qword [rsp + 0x130], rbp
mov byte [rsp + 0x120], bpl
cmp byte [rsp + 0x44], bpl
je 0x1400521d1
lea rdx, [rsp + 0x44]
lea rcx, [0x1400d4f50]
call fcn.1400994a8
cmp eax, ebp
je 0x1400521d1
lea rdx, [rsp + 0x44]
mov rcx, qword [rsp + 0x80]
call fcn.140099250
cmp rax, rbp
je 0x1400521d1
cmp r13, rbp
jne 0x1400520c1
call fcn.14009861c
mov r11, rbp
jmp 0x1400520c5
mov r11, qword [r13]
cmp rbx, qword [r11 + 0x28]
jne 0x1400520d0
call fcn.14009861c
mov rax, qword [r12 + 0x300]
mov rsi, qword [rax]
mov r9, r14
mov r8, qword [rsi + 8]
mov rdx, rsi
lea rcx, [r12 + 0x2d8]
call fcn.14000739c
mov rbx, rax
mov edx, 1
lea rcx, [r12 + 0x2d8]
call fcn.1400064b0
mov qword [rsi + 8], rbx
mov rax, qword [rbx + 8]
mov qword [rax], rbx
mov qword [rsp + 0xa8], reloc.OLEAUT32.dll_SafeArrayDestroy
mov qword [rsp + 0xa0], rbp
mov byte [rsp + 0x90], bpl
lea rcx, [rsp + 0x44]
call fcn.1400980d0
mov r8, rax
lea rdx, [rsp + 0x44]
lea rcx, [rsp + 0x88]
call fcn.14000352c
nop
mov rax, qword [r12 + 0x338]
mov rsi, qword [rax]
lea r9, [rsp + 0x88]
mov r8, qword [rsi + 8]
mov rdx, rsi
lea rcx, [r12 + 0x310]
call fcn.14000739c
mov rbx, rax
mov edx, 1
lea rcx, [r12 + 0x310]
call fcn.1400064b0
mov qword [rsi + 8], rbx
mov rax, qword [rbx + 8]
mov qword [rax], rbx
cmp qword [rsp + 0xa8], 0x10
jb 0x1400521ad
mov rcx, qword [rsp + 0x90]
call fcn.14006127c
lea rcx, [rsp + 0x44]
call fcn.1400980d0
mov r8, rax
lea rdx, [rsp + 0x44]
lea rcx, [rsp + 0x118]
call fcn.14000352c
jmp 0x1400522e5
cmp r13, rbp
jne 0x1400521e0
call fcn.14009861c
mov r11, rbp
jmp 0x1400521e4
mov r11, qword [r13]
cmp rbx, qword [r11 + 0x28]
jne 0x1400521ef
call fcn.14009861c
mov rsi, qword [r12 + 0x300]
mov r9, r14
mov r8, qword [rsi + 8]
mov rdx, rsi
lea rcx, [r12 + 0x2d8]
call fcn.14000739c
mov rbx, rax
mov edx, 1
lea rcx, [r12 + 0x2d8]
call fcn.1400064b0
mov qword [rsi + 8], rbx
mov rax, qword [rbx + 8]
mov qword [rax], rbx
mov qword [rsp + 0xa8], reloc.OLEAUT32.dll_SafeArrayDestroy
mov qword [rsp + 0xa0], rbp
mov byte [rsp + 0x90], bpl
lea rcx, [rsp + 0x40]
call fcn.1400980d0
mov r8, rax
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x88]
call fcn.14000352c
nop
mov rsi, qword [r12 + 0x338]
lea r9, [rsp + 0x88]
mov r8, qword [rsi + 8]
mov rdx, rsi
lea rcx, [r12 + 0x310]
call fcn.14000739c
mov rbx, rax
mov edx, 1
lea rcx, [r12 + 0x310]
call fcn.1400064b0
mov qword [rsi + 8], rbx
mov rax, qword [rbx + 8]
mov qword [rax], rbx
cmp qword [rsp + 0xa8], 0x10
jb 0x1400522c6
mov rcx, qword [rsp + 0x90]
call fcn.14006127c
lea rcx, [rsp + 0x40]
call fcn.1400980d0
mov r8, rax
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x118]
call fcn.14000352c
cmp r13, rbp
jne 0x1400522f4
call fcn.14009861c
mov r11, rbp
jmp 0x1400522f8
mov r11, qword [r13]
mov rbx, qword [rsp + 0x70]
cmp rbx, qword [r11 + 0x28]
jne 0x140052308
call fcn.14009861c
cmp qword [r14 + 0x20], 0x10
jb 0x140052315
mov rcx, qword [r14 + 8]
jmp 0x140052319
lea rcx, [r14 + 8]
xor edx, edx
lea r8d, [rdx + 0x10]
call fcn.14009c558
mov esi, eax
lea rdi, [rsp + 0x120]
cmp qword [rsp + 0x138], 0x10
cmovae rdi, qword [rsp + 0x120]
cmp r13, rbp
jne 0x14005234f
call fcn.14009861c
mov r11, rbp
jmp 0x140052353
mov r11, qword [r13]
cmp rbx, qword [r11 + 0x28]
jne 0x14005235e
call fcn.14009861c
cmp qword [r14 + 0x20], 0x10
jb 0x14005236b
mov r9, qword [r14 + 8]
jmp 0x14005236f
lea r9, [r14 + 8]
movzx ecx, si
mov eax, ecx
shr eax, 0xa
and ecx, 0x3ff
or dword [rsp + 0x38], 0xffffffff
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], ecx
lea r8, str._s_t__d__d__t_tmapped_to__s_code_page_d_n
mov edx, 0x80
lea rcx, [0x14010f570]
call fcn.140001000
nop
cmp qword [rsp + 0x138], 0x10
jb 0x1400523c0
mov rcx, qword [rsp + 0x120]
call fcn.14006127c
cmp r13, rbp
jne 0x1400523cf
call fcn.14009861c
mov r11, rbp
jmp 0x1400523d3
mov r11, qword [r13]
cmp rbx, qword [r11 + 0x28]
jne 0x1400523de
call fcn.14009861c
mov rbx, qword [rbx]
mov qword [rsp + 0x70], rbx
mov rdi, qword [rsp + 0xd8]
mov rax, qword [rsp + 0xb0]
jmp 0x140051fa7
lea rcx, [rsp + 0xb0]
call fcn.140007328
mov rcx, qword [rsp + 0xd8]
call fcn.14006127c
mov qword [rsp + 0xd8], rbp
mov rcx, qword [rsp + 0xb0]
call fcn.14006127c
mov r14, qword [rsp + 0x50]
cmp r14, rbp
jne 0x14005243e
call fcn.14009861c
mov r11, rbp
jmp 0x140052441
mov r11, qword [r14]
cmp r15, qword [r11 + 0x28]
jne 0x14005244c
call fcn.14009861c
mov r15, qword [r15]
mov rdi, qword [rsp + 0xe8]
mov esi, 0x10000
jmp 0x140051de8
mov rcx, rdi
call fcn.14006127c
call qword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [rsp + 0x60]
mov r9d, eax
lea r8, str.Finish_loading_language_map_in__lu_ms_n
mov edx, 0x80
lea rcx, [0x14010f570]
call fcn.140001000
mov ebp, 1
mov r13, qword [rsp + 0x80]
mov rcx, r13
call fcn.14006127c
mov eax, ebp
mov rcx, qword [rsp + 0x140]
xor rcx, rsp
call fcn.140061100
lea r11, [rsp + 0x150]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret