Function at 0x5968b2
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
mov edx, dword [ebp + 8]
push esi
xor ecx, ecx
mov esi, 0x6920cc
inc ecx
mov eax, edx
lock cmpxchg dword [esi], ecx
cmp eax, edx
je 0x5968d7
mov edx, eax
cmp eax, 1
jbe 0x5968b9
jmp 0x596ac6
push ebx
push edi
push 2
pop ebx
push 0x800
xor esi, esi
push esi
push str.icu.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov edi, eax
test edi, edi
je 0x596abb
push str.ucal_close
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x596910
mov dword [0x692094], eax
jmp 0x596918
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push str.ucal_get
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x59692f
mov dword [0x692098], eax
jmp 0x596937
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push str.ucal_getCanonicalTimeZoneID
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x59694e
mov dword [0x69209c], eax
jmp 0x596956
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push str.ucal_getDefaultTimeZone
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x59696d
mov dword [0x6920a0], eax
jmp 0x596975
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push str.ucal_getTimeZoneDisplayName
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x59698c
mov dword [0x6920a4], eax
jmp 0x596994
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push str.ucal_getTimeZoneTransitionDate
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x5969ab
mov dword [0x6920a8], eax
jmp 0x5969b3
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push str.ucal_getTZDataVersion
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x5969ca
mov dword [0x6920ac], eax
jmp 0x5969d2
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push str.ucal_inDaylightTime
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x5969e9
mov dword [0x6920b0], eax
jmp 0x5969f1
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push str.ucal_open
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x596a08
mov dword [0x6920b4], eax
jmp 0x596a10
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push str.ucal_openTimeZoneIDEnumeration
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x596a27
mov dword [0x6920b8], eax
jmp 0x596a2f
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push str.ucal_setMillis
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x596a46
mov dword [0x6920bc], eax
jmp 0x596a4e
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push str.uenum_close
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x596a65
mov dword [0x6920c0], eax
jmp 0x596a6d
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push str.uenum_count
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x596a84
mov dword [0x6920c4], eax
jmp 0x596a8c
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push str.uenum_unext
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x596aa3
mov dword [0x6920c8], eax
jmp 0x596aab
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jne 0x596ab4
push 3
pop ebx
jmp 0x596abb
push esi
call dword [sym.imp.KERNEL32.dll_SetLastError]
nop
pop edi
mov dword [0x6920cc], ebx
mov eax, ebx
pop ebx
pop esi
pop ebp
ret