Function at 0x61abdaf0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x3c
mov eax, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
cmp eax, 1
jne 0x61abdb20
mov edx, dword [edi]
xor al, al
test edx, edx
jle 0x61abdb32
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret 8
mov dword [ebp + 0xc], edi
mov dword [ebp + 8], eax
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.61ab9fb0
mov eax, dword [ecx]
mov ebx, ecx
mov eax, dword [eax + 0xc]
cmp eax, method.icu_53::GregorianCalendar.clone___const
jne 0x61abdcd0
mov dword [esp], 0x288
call sym.icu_53::UMemory::operator_new_unsigned_int_
test eax, eax
mov esi, eax
je 0x61abdcdc
mov dword [esp], ebx
mov ecx, eax
call method.icu_53::Calendar.Calendar_icu_53::Calendar_const_
mov eax, dword [ebx + 0x268]
fld qword [ebx + 0x260]
sub esp, 4
mov dword [esi], sym.icuin53.dll_icu_53::GregorianCalendar::GregorianCalendar__
fstp qword [esi + 0x260]
mov dword [esi + 0x268], eax
mov eax, dword [ebx + 0x278]
fld qword [ebx + 0x270]
mov dword [esi + 0x278], eax
movzx eax, byte [ebx + 0x280]
fstp qword [esi + 0x270]
mov byte [esi + 0x280], al
movzx eax, byte [ebx + 0x281]
mov byte [esi + 0x281], al
mov ecx, esi
mov dword [esp], 1
call method.icu_53::Calendar.setLenient_signed_char_
sub esp, 4
mov ecx, esi
mov dword [esp + 4], edi
mov dword [esp], 0
call method.icu_53::Calendar.get_UCalendarDateFields__UErrorCode__const
sub esp, 8
mov ecx, esi
mov dword [ebp - 0x28], eax
mov dword [esp], edi
call method.icu_53::Calendar.getTimeInMillis_UErrorCode__const
mov eax, 0x225c7
fstp qword [ebp - 0x30]
sub esp, 4
mov dword [ebp - 0x20], 1
mov dword [ebp - 0x24], 2
mov edx, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x24], edx
jge 0x61abdc68
mov eax, dword [ebp - 0x20]
add eax, dword [ebp - 0x1c]
mov ecx, esi
mov dword [esp], 1
mov ebx, eax
shr ebx, 0x1f
add ebx, eax
sar ebx, 1
mov dword [esp + 4], ebx
call method.icu_53::Calendar.set_UCalendarDateFields__int_
sub esp, 8
mov ecx, esi
mov dword [esp + 4], edi
mov dword [esp], 1
call method.icu_53::Calendar.get_UCalendarDateFields__UErrorCode__const
sub esp, 8
cmp ebx, eax
je 0x61abdca0
fld qword [ebp - 0x30]
mov dword [esp + 8], edi
mov ecx, esi
fstp qword [esp]
call method.icu_53::Calendar.setTimeInMillis_double__UErrorCode_
mov edx, ebx
sub esp, 0xc
cmp dword [ebp - 0x24], edx
mov dword [ebp - 0x1c], ebx
jl 0x61abdc0d
mov eax, dword [esi]
mov eax, dword [eax + 4]
cmp eax, method.icu_53::GregorianCalendar.GregorianCalendar__
jne 0x61abdcf0
mov dword [esi], sym.icuin53.dll_icu_53::GregorianCalendar::GregorianCalendar__
mov ecx, esi
call sym.icuin53.dll_icu_53::Calendar::Calendar__
mov dword [esp], esi
call sym.icu_53::UMemory::operator_delete_void_
mov eax, dword [ebp - 0x20]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret 8
mov dword [esp + 4], edi
mov dword [esp], 0
mov ecx, esi
call method.icu_53::Calendar.get_UCalendarDateFields__UErrorCode__const
sub esp, 8
cmp dword [ebp - 0x28], eax
jne 0x61abdc4a
mov eax, ebx
mov dword [ebp - 0x20], ebx
mov edx, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x24], eax
jmp 0x61abdc08
call eax
test eax, eax
mov esi, eax
jne 0x61abdbb7
mov dword [edi], 7
xor eax, eax
jmp 0x61abdb0c
mov ecx, esi
call eax
jmp 0x61abdc89