Function at 0x1400cf9e0
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 [0x140171178], edx
mov ecx, eax
je 0x1400cfa0b
cmp eax, edx
jbe 0x1400cf9f4
jmp 0x1400cfc61
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 0x1400cfc58
lea rdx, str.ucal_close
mov rcx, rax
xor ebx, ebx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x1400cfa51
mov qword [0x140171108], rax
jmp 0x1400cfa59
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 0x1400cfa77
mov qword [0x140171110], rax
jmp 0x1400cfa7f
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 0x1400cfa9d
mov qword [0x140171118], rax
jmp 0x1400cfaa5
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 0x1400cfac3
mov qword [0x140171120], rax
jmp 0x1400cfacb
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 0x1400cfae9
mov qword [0x140171128], rax
jmp 0x1400cfaf1
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 0x1400cfb0f
mov qword [0x140171130], rax
jmp 0x1400cfb17
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 0x1400cfb35
mov qword [0x140171138], rax
jmp 0x1400cfb3d
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 0x1400cfb5b
mov qword [0x140171140], rax
jmp 0x1400cfb63
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 0x1400cfb81
mov qword [0x140171148], rax
jmp 0x1400cfb89
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 0x1400cfba7
mov qword [0x140171150], rax
jmp 0x1400cfbaf
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 0x1400cfbcd
mov qword [0x140171158], rax
jmp 0x1400cfbd5
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 0x1400cfbf3
mov qword [0x140171160], rax
jmp 0x1400cfbfb
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 0x1400cfc19
mov qword [0x140171168], rax
jmp 0x1400cfc21
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 0x1400cfc3f
mov qword [0x140171170], rax
jmp 0x1400cfc47
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
test ebx, ebx
jne 0x1400cfc50
lea esi, [rbx + 3]
jmp 0x1400cfc58
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_SetLastError]
nop
mov eax, esi
mov dword [0x140171178], esi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret