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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x4c
cmp dword [esp + 0x68], 0xb
mov ebx, dword [esp + 0x60]
mov esi, dword [esp + 0x70]
jbe 0x61ac7960
mov edi, dword [esp + 0x78]
xor eax, eax
mov ebp, dword [edi]
test ebp, ebp
jle 0x61ac7ab0
add esp, 0x4c
pop ebx
pop esi
pop edi
pop ebp
ret 0x1c
mov eax, dword [ecx]
mov edi, dword [eax + 0x14]
xor eax, eax
test byte [esp + 0x64], 3
jne 0x61ac79a1
mov edx, 0x51eb851f
mov ebp, dword [esp + 0x64]
mov eax, edx
imul dword [esp + 0x64]
sar ebp, 0x1f
mov eax, edx
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x64]
sar eax, 5
sub eax, ebp
imul eax, eax, 0x64
sub edx, eax
mov eax, edx
je 0x61ac7ac0
mov eax, 0xc
mov edx, dword [esp + 0x68]
cmp edi, method.icu_53::OlsonTimeZone.getOffset_unsigned_char__int__int__int__unsigned_char__int__int__UErrorCode__const
movsx ebp, byte [eax + edx + sym.icuin53.dll_icu_53::Grego::MONTH_LENGTH]
mov eax, esi
movzx eax, al
mov dword [esp + 0x28], eax
movzx eax, bl
mov dword [esp + 0x2c], eax
mov edx, ebp
jne 0x61ac7ae0
mov edi, dword [esp + 0x78]
xor eax, eax
mov edi, dword [edi]
test edi, edi
jg 0x61ac7956
cmp bl, 1
ja 0x61ac7b30
mov eax, dword [esp + 0x6c]
test eax, eax
jle 0x61ac7b30
cmp dword [esp + 0x6c], ebp
jg 0x61ac7b30
lea eax, [esi - 1]
cmp al, 6
ja 0x61ac7b30
cmp dword [esp + 0x74], 0x5265bff
ja 0x61ac7b30
sub edx, 0x1c
cmp dl, 3
ja 0x61ac7b30
xor ebx, 1
mov edx, dword [ecx + 0x44]
and ebx, 1
mov eax, ebx
neg eax
xor eax, dword [esp + 0x64]
add ebx, eax
test edx, edx
je 0x61ac7a3f
cmp ebx, dword [ecx + 0x50]
jge 0x61ac7b46
mov eax, dword [esp + 0x6c]
mov dword [esp], ebx
mov dword [esp + 0x28], ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 4], eax
call method.icu_53::Grego.fieldsToDay_int__int__int_
fmul dword [0x61c093e0]
lea eax, [esp + 0x3c]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 3
mov dword [esp + 0x18], eax
lea eax, [esp + 0x38]
mov dword [esp + 8], 1
mov dword [esp + 0x14], eax
fild dword [esp + 0x74]
faddp st(1)
fstp qword [esp]
call method.icu_53::OlsonTimeZone.getHistoricalOffset_double__signed_char__int__int__int__int__const
sub esp, 0x1c
mov eax, dword [esp + 0x3c]
add eax, dword [esp + 0x38]
jmp 0x61ac7956
mov dword [edi], 1
add esp, 0x4c
pop ebx
pop esi
pop edi
pop ebp
ret 0x1c
mov edx, dword [esp + 0x28]
sar edx, 7
sub edx, ebp
imul edx, edx, 0x190
cmp dword [esp + 0x64], edx
mov edx, 0xc
cmove eax, edx
jmp 0x61ac79a1
mov eax, dword [esp + 0x78]
mov dword [esp + 0x18], ebp
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call edi
sub esp, 0x20
add esp, 0x4c
pop ebx
pop esi
pop edi
pop ebp
ret 0x1c
mov eax, dword [esp + 0x78]
mov dword [eax], 1
add esp, 0x4c
xor eax, eax
pop ebx
pop esi
pop edi
pop ebp
ret 0x1c
mov esi, dword [esp + 0x78]
mov eax, dword [edx]
mov ecx, edx
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x18], ebp
mov dword [esp + 0x1c], esi
mov esi, dword [esp + 0x74]
mov dword [esp], ebx
mov dword [esp + 0x14], esi
mov esi, dword [esp + 0x28]
mov dword [esp + 0x10], esi
mov esi, dword [esp + 0x6c]
mov dword [esp + 0xc], esi
mov esi, dword [esp + 0x68]
mov dword [esp + 8], esi
call dword [eax + 0x14]
sub esp, 0x20
jmp 0x61ac7956