Function at 0x1401b6858
Capabilities:
Link many functions at runtime

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov edx, 1
mov eax, ecx
lock cmpxchg dword [0x1402ec148], edx
mov ecx, eax
je 0x1401b6883
cmp eax, edx
jbe 0x1401b686c
jmp 0x1401b6ad9
xor edx, edx
lea rcx, str.icu.dll
mov r8d, 0x800
mov esi, 2
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov rdi, rax
test rax, rax
je 0x1401b6ad0
lea rdx, str.ucal_close
mov rcx, rax
xor ebx, ebx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x1401b68c9
mov qword [0x1402ec0d8], rax
jmp 0x1401b68d1
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
lea rdx, str.ucal_get
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x1401b68ef
mov qword [0x1402ec0e0], rax
jmp 0x1401b68f7
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
lea rdx, str.ucal_getCanonicalTimeZoneID
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x1401b6915
mov qword [0x1402ec0e8], rax
jmp 0x1401b691d
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
lea rdx, str.ucal_getDefaultTimeZone
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x1401b693b
mov qword [0x1402ec0f0], rax
jmp 0x1401b6943
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
lea rdx, str.ucal_getTimeZoneDisplayName
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x1401b6961
mov qword [0x1402ec0f8], rax
jmp 0x1401b6969
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
lea rdx, str.ucal_getTimeZoneTransitionDate
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x1401b6987
mov qword [0x1402ec100], rax
jmp 0x1401b698f
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
lea rdx, str.ucal_getTZDataVersion
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x1401b69ad
mov qword [0x1402ec108], rax
jmp 0x1401b69b5
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
lea rdx, str.ucal_inDaylightTime
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x1401b69d3
mov qword [0x1402ec110], rax
jmp 0x1401b69db
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
lea rdx, str.ucal_open
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x1401b69f9
mov qword [0x1402ec118], rax
jmp 0x1401b6a01
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
lea rdx, str.ucal_openTimeZoneIDEnumeration
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x1401b6a1f
mov qword [0x1402ec120], rax
jmp 0x1401b6a27
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
lea rdx, str.ucal_setMillis
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x1401b6a45
mov qword [0x1402ec128], rax
jmp 0x1401b6a4d
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
lea rdx, str.uenum_close
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x1401b6a6b
mov qword [0x1402ec130], rax
jmp 0x1401b6a73
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
lea rdx, str.uenum_count
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x1401b6a91
mov qword [0x1402ec138], rax
jmp 0x1401b6a99
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
lea rdx, str.uenum_unext
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x1401b6ab7
mov qword [0x1402ec140], rax
jmp 0x1401b6abf
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
test ebx, ebx
jne 0x1401b6ac8
lea esi, [rbx + 3]
jmp 0x1401b6ad0
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_SetLastError]
nop
mov eax, esi
mov dword [0x1402ec148], esi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret