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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x80
mov ebx, dword [ebp + 0xc]
mov eax, dword [0x10072168]
xor eax, ebp
mov dword [esp + 0x78], eax
mov esi, dword [ecx + 4]
mov dword [esp], ecx
mov edi, dword [ecx + 8]
lea eax, [esi + 0x10]
push eax
push ebx
call sym.absl.dll_____MUsecond_tag_detail_cctz_time_internal_absl__U01234__detail_cctz_time_internal_absl__YA_NABV__civil_time_Usecond_
add esp, 8
test al, al
jne 0x1003000a
mov eax, edi
sub eax, esi
sar eax, 4
imul eax, eax, 0xaaaaaaab
mov dword [esp + 8], eax
lea eax, [eax + eax*2]
shl eax, 4
mov ecx, dword [esp]
mov ecx, dword [ecx + 4]
add eax, ecx
add eax, 0xffffffe0
push eax
push ebx
call sym.absl.dll_____MUsecond_tag_detail_cctz_time_internal_absl__U01234__detail_cctz_time_internal_absl__YA_NABV__civil_time_Usecond_
add esp, 8
mov dword [esp + 4], edi
test al, al
je 0x1002ffd3
mov eax, dword [esp]
mov ebx, dword [eax + 0x54]
test ebx, ebx
je 0x1002ff68
cmp ebx, dword [esp + 8]
jae 0x1002ff68
lea eax, [ebx + ebx*2]
shl eax, 4
mov ecx, dword [esp]
mov ecx, dword [ecx + 4]
add eax, ecx
add eax, 0xffffffe0
push eax
push dword [ebp + 0xc]
call sym.absl.dll_____MUsecond_tag_detail_cctz_time_internal_absl__U01234__detail_cctz_time_internal_absl__YA_NABV__civil_time_Usecond_
add esp, 8
test al, al
je 0x10030404
pcmpeqd xmm0, xmm0
lea eax, [esp + 0x48]
movdqu xmmword [eax + 8], xmm0
xor ecx, ecx
dec ecx
mov dword [eax + 0x2c], ecx
mov dword [eax + 0x28], ecx
movdqu xmmword [eax + 0x18], xmm0
xor ecx, ecx
mov dword [eax + 4], ecx
mov dword [eax], ecx
mov byte [eax + 8], cl
mov edx, dword [ebp + 0xc]
movdqu xmm0, xmmword [edx]
movdqu xmmword [eax + 0x10], xmm0
mov dword [eax + 0x24], ecx
mov dword [eax + 0x20], 0x7b2
mov dword [eax + 0x28], 0x101
mov byte [eax + 0x2c], cl
lea ecx, [esp + 0x30]
push ecx
push eax
push dword [esp + 0xc]
push esi
call sym.absl.dll______upper_bound_AAUByCivilTime_Transition_cctz_time_internal_absl__PBU2345_U2345____1_std__YAPBUTransition_cctz_time
add esp, 0x10
mov edi, eax
sub eax, esi
sar eax, 4
imul eax, eax, 0xaaaaaaab
mov ecx, dword [esp]
mov dword [ecx + 0x54], eax
cmp edi, esi
mov ebx, dword [ebp + 0xc]
mov eax, dword [esp + 4]
je 0x1003000a
cmp edi, eax
je 0x100301cd
mov ebx, edi
lea eax, [edi + 0x20]
mov esi, dword [ebp + 0xc]
push esi
push eax
call sym.absl.dll_____MUsecond_tag_detail_cctz_time_internal_absl__U01234__detail_cctz_time_internal_absl__YA_NABV__civil_time_Usecond_
add esp, 8
test al, al
mov edi, dword [ebp + 8]
je 0x100302fd
mov ecx, edi
mov edx, ebx
push esi
jmp 0x10030023
lea eax, [esi + 0x20]
push ebx
push eax
call sym.absl.dll_____MUsecond_tag_detail_cctz_time_internal_absl__U01234__detail_cctz_time_internal_absl__YA_NABV__civil_time_Usecond_
add esp, 8
test al, al
je 0x10030030
mov edi, dword [ebp + 8]
mov ecx, edi
mov edx, esi
push ebx
call fcn.1003059d
add esp, 4
jmp 0x10030586
mov ecx, dword [esp]
movzx eax, byte [ecx + 0x1c]
mov esi, dword [ecx + 0x10]
lea edi, [eax + eax*2]
shl edi, 4
lea eax, [esi + edi]
add eax, 0x18
push eax
push ebx
call sym.absl.dll_____MUsecond_tag_detail_cctz_time_internal_absl__U01234__detail_cctz_time_internal_absl__YA_NABV__civil_time_Usecond_
add esp, 8
test al, al
je 0x10030073
movaps xmm0, xmmword [0x10049550]
mov edi, dword [ebp + 8]
movups xmmword [edi + 0x10], xmm0
movdqa xmm0, xmmword [0x1004f4a0]
movdqu xmmword [edi], xmm0
jmp 0x10030586
mov ecx, dword [esi + edi]
mov edx, 0x88888889
mov eax, ecx
imul edx
add edx, ecx
mov eax, edx
shr eax, 0x1f
sar edx, 5
add edx, eax
imul eax, edx, 0x3c
sub ecx, eax
mov eax, ecx
sar eax, 0x1f
sub esp, 0x34
movaps xmm0, xmmword [0x1004f040]
movups xmmword [esp + 0x14], xmm0
movaps xmm0, xmmword [0x1004f450]
movups xmmword [esp + 4], xmm0
lea esi, [esp + 0x7c]
mov dword [esp], esi
mov dword [esp + 0x24], edx
sar edx, 0x1f
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], eax
call sym.absl.dll__n_sec_impl_detail_cctz_time_internal_absl__YA_AUfields_2345__J00000_Z
add esp, 0x34
movsx eax, byte [esi + 8]
mov dword [esp + 0xc], eax
movsx eax, byte [esi + 9]
mov dword [esp + 0x14], eax
movsx edx, byte [esi + 0xa]
movsx eax, byte [esi + 0xb]
mov dword [esp + 8], eax
mov eax, esi
movsx esi, byte [ebx + 0xa]
sub esi, edx
movsx ecx, byte [eax + 0xc]
mov dword [esp], ecx
movsx ecx, byte [ebx + 8]
mov dword [esp + 0x10], ecx
movsx ecx, byte [ebx + 9]
movsx edi, byte [ebx + 0xb]
movsx edx, byte [ebx + 0xc]
mov dword [esp + 4], edx
push dword [esp + 0x14]
push dword [esp + 0x10]
push dword [eax + 4]
push dword [eax]
push ecx
push dword [esp + 0x24]
push dword [ebx + 4]
push dword [ebx]
call sym.absl.dll__day_difference_impl_detail_cctz_time_internal_absl__YA_J_JCC0CC_Z
add esp, 0x20
mov ecx, edx
mov edx, 0x18
mul edx
lea ecx, [ecx + ecx*2]
lea ecx, [edx + ecx*8]
mov edx, esi
sar edx, 0x1f
add eax, esi
adc ecx, edx
sub edi, dword [esp + 8]
mov esi, 0x3c
mul esi
imul ecx, ecx, 0x3c
add ecx, edx
mov edx, edi
sar edx, 0x1f
add eax, edi
adc ecx, edx
mov ebx, dword [esp + 4]
sub ebx, dword [esp]
imul ecx, ecx, 0x3c
mul esi
mov edi, eax
mov esi, edx
add esi, ecx
mov eax, ebx
sar eax, 0x1f
add edi, ebx
adc esi, eax
xor ebx, ebx
push ebx
push ebx
lea eax, [esp + 0x50]
push eax
call dword [sym.imp.libc.dll__from_time_t_system_clock_chrono___1_std__SA_AV__time_point_Vsystem_clock_chrono___1_std__V__duration__JV__rati]
add esp, 0xc
push ebx
push 0xf4240
lea eax, [esp + 0x50]
push dword [eax + 4]
push dword [eax]
call fcn.100459f0
add eax, edi
adc edx, esi
mov edi, dword [ebp + 8]
mov dword [edi + 4], 0xffffffff
mov dword [edi], 0
mov dword [edi + 0x18], eax
mov dword [edi + 0x1c], edx
movd xmm0, edx
movd xmm1, eax
jmp 0x10030578
mov ebx, eax
add eax, 0xfffffff0
mov esi, dword [ebp + 0xc]
push esi
push eax
call sym.absl.dll_____MUsecond_tag_detail_cctz_time_internal_absl__U01234__detail_cctz_time_internal_absl__YA_NABV__civil_time_Usecond_
add esp, 8
test al, al
mov edi, dword [ebp + 8]
je 0x100303f2
mov eax, dword [esp]
cmp byte [eax + 0x44], 0
je 0x10030436
mov edx, dword [esi]
mov ebx, dword [esi + 4]
mov ecx, dword [esp]
mov eax, dword [ecx + 0x48]
mov ecx, dword [ecx + 0x4c]
mov dword [esp + 0xc], edx
cmp eax, edx
mov edx, ecx
mov dword [esp + 8], ebx
sbb edx, ebx
jge 0x10030436
not ecx
not eax
add eax, dword [esp + 0xc]
adc ecx, dword [esp + 8]
push 0
push 0x190
push ecx
push eax
call fcn.100459f0
mov edi, eax
mov ebx, edx
add edi, 1
mov dword [esp + 0x14], edi
adc ebx, 0
mov dword [esp + 0x10], ebx
mov ecx, 0xfffffe70
mov eax, edi
mul ecx
mov dword [esp + 4], eax
sub edx, edi
imul ecx, ebx, 0xfffffe70
add ecx, edx
movsx edx, byte [esi + 0xc]
mov dword [esp + 0x18], edx
mov eax, esi
sar edx, 0x1f
mov dword [esp + 0x28], edx
movsx edi, byte [esi + 0xb]
mov dword [esp + 0x2c], edi
sar edi, 0x1f
movsx esi, byte [eax + 0xa]
mov dword [esp + 0x24], esi
sar esi, 0x1f
movsx edx, byte [eax + 9]
mov dword [esp + 0x20], edx
sar edx, 0x1f
movsx eax, byte [eax + 8]
mov dword [esp + 0x1c], eax
sar eax, 0x1f
mov ebx, dword [esp + 4]
add ebx, dword [esp + 0xc]
mov dword [esp + 4], ebx
adc ecx, dword [esp + 8]
lea ebx, [esp + 0x48]
push dword [esp + 0x28]
push dword [esp + 0x1c]
push edi
mov edi, dword [ebp + 8]
push dword [esp + 0x38]
push esi
push dword [esp + 0x38]
push edx
push dword [esp + 0x3c]
push eax
push dword [esp + 0x40]
push ecx
push dword [esp + 0x30]
push ebx
call sym.absl.dll__n_sec_impl_detail_cctz_time_internal_absl__YA_AUfields_2345__J00000_Z
add esp, 0x34
movdqu xmm0, xmmword [ebx]
lea eax, [esp + 0x30]
movdqa xmmword [eax], xmm0
mov ecx, dword [esp]
push dword [esp + 0x10]
push dword [esp + 0x18]
push eax
push edi
call sym.absl.dll__TimeLocal_TimeZoneInfo_cctz_time_internal_absl__ABE_AUcivil_lookup_time_zone_234_ABV__civil_time_Usecond_tag_detail_
jmp 0x10030586
lea eax, [ebx - 0x10]
push esi
push eax
call sym.absl.dll_____MUsecond_tag_detail_cctz_time_internal_absl__U01234__detail_cctz_time_internal_absl__YA_NABV__civil_time_Usecond_
add esp, 8
test al, al
je 0x100303f2
movsx eax, byte [ebx - 0x18]
mov dword [esp + 0x10], eax
movsx eax, byte [ebx - 0x17]
mov dword [esp + 0x18], eax
movsx eax, byte [ebx - 0x16]
mov dword [esp + 8], eax
movsx edx, byte [ebx - 0x14]
movsx eax, byte [esi + 0xc]
sub eax, edx
mov edx, eax
sar edx, 0x1f
add eax, dword [ebx - 0x30]
mov dword [esp + 4], eax
adc edx, dword [ebx - 0x2c]
mov dword [esp], edx
movsx eax, byte [ebx - 0x15]
mov dword [esp + 0xc], eax
movsx edx, byte [esi + 8]
movsx eax, byte [esi + 9]
movsx edi, byte [esi + 0xa]
movsx ecx, byte [esi + 0xb]
mov dword [esp + 0x14], ecx
push dword [esp + 0x18]
push dword [esp + 0x14]
push dword [ebx - 0x1c]
push dword [ebx - 0x20]
push eax
push edx
push dword [esi + 4]
push dword [esi]
call sym.absl.dll__day_difference_impl_detail_cctz_time_internal_absl__YA_J_JCC0CC_Z
add esp, 0x20
mov ecx, edx
mov edx, 0x18
mul edx
sub edi, dword [esp + 8]
lea ecx, [ecx + ecx*2]
lea ecx, [edx + ecx*8]
mov edx, edi
sar edx, 0x1f
add eax, edi
adc ecx, edx
mov esi, 0x3c
mul esi
mov edi, dword [esp + 0x14]
sub edi, dword [esp + 0xc]
imul ecx, ecx, 0x3c
add ecx, edx
mov edx, edi
sar edx, 0x1f
add eax, edi
adc ecx, edx
imul ecx, ecx, 0x3c
mul esi
mov esi, eax
mov edi, edx
add edi, ecx
xor ebx, ebx
lea eax, [esp + 0x48]
push ebx
push ebx
push eax
call dword [sym.imp.libc.dll__from_time_t_system_clock_chrono___1_std__SA_AV__time_point_Vsystem_clock_chrono___1_std__V__duration__JV__rati]
add esp, 0xc
push ebx
push 0xf4240
lea eax, [esp + 0x50]
push dword [eax + 4]
push dword [eax]
call fcn.100459f0
add esi, dword [esp + 4]
jmp 0x1003054a
add ebx, 0xffffffd0
mov ecx, edi
mov edx, ebx
push esi
call fcn.10030806
jmp 0x10030028
mov eax, dword [esp]
mov eax, dword [eax + 4]
shl ebx, 4
lea edi, [ebx + ebx*2]
add eax, edi
add eax, 0x10
push eax
push dword [ebp + 0xc]
call sym.absl.dll_____MUsecond_tag_detail_cctz_time_internal_absl__U01234__detail_cctz_time_internal_absl__YA_NABV__civil_time_Usecond_
add esp, 8
test al, al
je 0x1002ff68
add edi, esi
jne 0x1002ffd3
jmp 0x1002ff68
mov ebx, esi
mov esi, dword [esp + 4]
movzx eax, byte [esi - 0x28]
mov ecx, dword [esp]
mov ecx, dword [ecx + 0x10]
lea eax, [eax + eax*2]
shl eax, 4
add eax, ecx
add eax, 8
push ebx
push eax
call sym.absl.dll_____MUsecond_tag_detail_cctz_time_internal_absl__U01234__detail_cctz_time_internal_absl__YA_NABV__civil_time_Usecond_
add esp, 8
test al, al
je 0x10030477
movaps xmm0, xmmword [0x1004f480]
movups xmmword [edi + 0x10], xmm0
movdqa xmm0, xmmword [0x1004f490]
jmp 0x1003006a
movsx eax, byte [esi - 0x18]
mov dword [esp + 0x10], eax
movsx eax, byte [esi - 0x17]
mov dword [esp + 0x18], eax
movsx eax, byte [esi - 0x16]
mov dword [esp + 0xc], eax
movsx edx, byte [esi - 0x14]
mov eax, ebx
movsx ecx, byte [ebx + 0xc]
sub ecx, edx
mov edx, ecx
sar edx, 0x1f
add ecx, dword [esi - 0x30]
mov dword [esp + 8], ecx
adc edx, dword [esi - 0x2c]
mov dword [esp], edx
movsx ecx, byte [esi - 0x15]
mov dword [esp + 0x14], ecx
movsx edx, byte [ebx + 8]
movsx ecx, byte [ebx + 9]
movsx edi, byte [ebx + 0xa]
movsx ebx, byte [ebx + 0xb]
push dword [esp + 0x18]
push dword [esp + 0x14]
push dword [esi - 0x1c]
push dword [esi - 0x20]
push ecx
push edx
push dword [eax + 4]
push dword [eax]
call sym.absl.dll__day_difference_impl_detail_cctz_time_internal_absl__YA_J_JCC0CC_Z
add esp, 0x20
mov ecx, edx
mov edx, 0x18
mul edx
sub edi, dword [esp + 0xc]
lea ecx, [ecx + ecx*2]
lea ecx, [edx + ecx*8]
mov edx, edi
sar edx, 0x1f
add eax, edi
adc ecx, edx
mov esi, 0x3c
mul esi
sub ebx, dword [esp + 0x14]
imul ecx, ecx, 0x3c
add ecx, edx
mov edx, ebx
sar edx, 0x1f
add eax, ebx
adc ecx, edx
imul ecx, ecx, 0x3c
mul esi
mov esi, eax
mov edi, edx
add edi, ecx
xor eax, eax
lea ebx, [esp + 0x48]
push eax
push eax
push ebx
call dword [sym.imp.libc.dll__from_time_t_system_clock_chrono___1_std__SA_AV__time_point_Vsystem_clock_chrono___1_std__V__duration__JV__rati]
add esp, 0xc
xor eax, eax
push eax
push 0xf4240
push dword [ebx + 4]
push dword [ebx]
call fcn.100459f0
add esi, dword [esp + 8]
adc edi, dword [esp]
add esi, eax
adc edi, edx
mov eax, dword [ebp + 8]
mov dword [eax + 4], 0xffffffff
mov eax, dword [ebp + 8]
mov dword [eax], 0
mov eax, dword [ebp + 8]
mov dword [eax + 0x1c], edi
movd xmm0, edi
mov edi, dword [ebp + 8]
mov dword [edi + 0x18], esi
movd xmm1, esi
punpckldq xmm1, xmm0
pshufd xmm0, xmm1, 0x44
movdqu xmmword [edi + 8], xmm0
mov ecx, dword [esp + 0x78]
xor ecx, ebp
call fcn.10045530
mov eax, edi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 8