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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x5c
mov eax, dword [ecx]
fld qword [esp + 0x70]
mov edx, dword [esp + 0x78]
mov eax, dword [eax + 0x18]
cmp eax, method.icu_53::OlsonTimeZone.getOffset_double__signed_char__int__int__UErrorCode__const
jne 0x61ac8392
mov eax, dword [edx]
test eax, eax
jle 0x61ac82a0
fstp st(0)
mov eax, dword [esp + 0x4c]
test eax, eax
setne al
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret 0xc
mov eax, dword [ecx + 0x44]
test eax, eax
je 0x61ac82b6
fld qword [ecx + 0x48]
fxch st(1)
fucomi st(1)
fstp st(1)
jae 0x61ac83f0
movzx eax, word [ecx + 0x24]
add ax, word [ecx + 0x26]
add ax, word [ecx + 0x28]
test ax, ax
mov ebx, eax
jle 0x61ac83d0
fdiv dword [0x61c093dc]
mov dword [esp + 0x30], ecx
fstp qword [esp]
call sym._uprv_floor_53
mov ecx, dword [esp + 0x30]
movzx esi, word [ecx + 0x24]
test si, si
jg 0x61ac84b5
movzx edx, word [ecx + 0x26]
mov eax, esi
neg eax
cmp ax, dx
jl 0x61ac8430
mov edi, dword [ecx + 0x34]
sub eax, edx
movsx ebp, ax
mov eax, dword [edi + ebp*8 + 4]
mov edx, dword [edi + ebp*8]
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], edx
fild qword [esp + 0x30]
fucompi st(1)
ja 0x61ac83d4
mov eax, esi
lea edx, [ebx - 1]
not eax
add eax, ebx
jmp 0x61ac8376
movzx ebx, word [ecx + 0x26]
cmp ax, bx
jl 0x61ac8450
mov edi, dword [ecx + 0x34]
mov ebp, eax
sub ebp, ebx
movsx ebx, bp
mov ebp, dword [edi + ebx*8 + 4]
mov edi, dword [edi + ebx*8]
mov dword [esp + 0x28], ebp
mov dword [esp + 0x2c], edi
fild qword [esp + 0x28]
fxch st(1)
fucomi st(1)
fstp st(1)
jae 0x61ac8490
sub edx, 1
sub eax, 1
cmp dx, 0xffff
je 0x61ac8470
cmp dx, si
jge 0x61ac8330
mov ebx, dword [ecx + 0x2c]
movsx edi, dx
mov ebp, dword [ebx + edi*8 + 4]
mov edi, dword [ebx + edi*8]
mov dword [esp + 0x28], ebp
mov dword [esp + 0x2c], edi
jmp 0x61ac8356
mov dword [esp + 0x14], edx
lea edx, [esp + 0x4c]
mov dword [esp + 8], 0
fstp qword [esp]
mov dword [esp + 0x10], edx
lea edx, [esp + 0x48]
mov dword [esp + 0xc], edx
call eax
sub esp, 0x18
mov eax, dword [esp + 0x4c]
test eax, eax
setne al
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret 0xc
fstp st(0)
jmp 0x61ac83d6
fstp st(0)
mov eax, dword [ecx + 0x3c]
imul eax, dword [eax + 4], 0x3e8
test eax, eax
setne al
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret 0xc
mov ecx, dword [eax]
mov ebx, dword [ecx + 0x18]
mov dword [esp + 0x14], edx
lea edx, [esp + 0x4c]
mov dword [esp + 8], 0
fstp qword [esp]
mov ecx, eax
mov dword [esp + 0x10], edx
lea edx, [esp + 0x48]
cmp ebx, method.icu_53::SimpleTimeZone.getOffset_double__signed_char__int__int__UErrorCode__const
mov dword [esp + 0xc], edx
jne 0x61ac8440
call method.icu_53::TimeZone.getOffset_double__signed_char__int__int__UErrorCode__const
sub esp, 0x18
mov eax, dword [esp + 0x4c]
jmp 0x61ac828b
mov edx, dword [ecx + 0x30]
cwde
mov eax, dword [edx + eax*4]
cdq
jmp 0x61ac8310
call ebx
sub esp, 0x18
jmp 0x61ac8287
mov edi, dword [ecx + 0x30]
movsx ebx, ax
mov ebx, dword [edi + ebx*4]
mov dword [esp + 0x28], ebx
sar ebx, 0x1f
mov dword [esp + 0x2c], ebx
jmp 0x61ac8356
fstp st(0)
mov eax, dword [ecx + 0x3c]
imul edx, dword [eax], 0x3e8
mov dword [esp + 0x48], edx
mov edx, 4
imul eax, dword [eax + edx], 0x3e8
jmp 0x61ac828b
fstp st(0)
movsx edx, dx
add edx, dword [ecx + 0x40]
mov eax, dword [ecx + 0x3c]
movzx ecx, byte [edx]
imul ecx, dword [eax + ecx*8], 0x3e8
mov dword [esp + 0x48], ecx
movzx edx, byte [edx]
lea edx, [edx*8 + 4]
jmp 0x61ac8484
mov edi, dword [ecx + 0x2c]
mov eax, dword [edi + 4]
mov edx, dword [edi]
jmp 0x61ac8310